/**
 * ??????????? ????????? ? ????????? ???? ??? ???????? ???????? ?????? ????? ?????.
 * ???????????? ?? ???? ????????? ????????? (includes/header.php).
 */

.site-nav-partner {
    color: var(--site-accent) !important;
    font-weight: 700;
}

.partner-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.partner-badge--bronze { background: #fde8d8; color: #9a5b2e; }
.partner-badge--silver { background: #e8edf2; color: #4a5568; }
.partner-badge--gold { background: #fef3c7; color: #92400e; }

.product-price--partner { color: var(--site-accent); font-weight: 800; }
.product-price-reward {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #059669;
    margin-top: 2px;
}

.partner-price-block {
    margin: 14px 0 18px;
    padding: 14px 16px;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fcd34d;
    border-radius: var(--site-radius);
}
.partner-price-block-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.partner-price-block-label {
    font-size: 11px;
    color: var(--site-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.partner-price-rows { display: grid; gap: 6px; }
.partner-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    gap: 12px;
}
.partner-price-row--muted { color: var(--site-muted); font-size: 12px; }
.partner-price-row--reward strong { color: #059669; }
.partner-price-row--total {
    margin-top: 4px;
    padding-top: 8px;
    border-top: 1px dashed #fcd34d;
    font-weight: 700;
}
.partner-price-row--total strong { color: var(--site-accent); font-size: 15px; }

.partner-cabinet { padding-bottom: 48px; }
.partner-cabinet-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 16px;
}
.partner-cabinet-title { margin: 0 0 6px; font-size: 28px; font-weight: 800; }
.partner-cabinet-greeting { margin: 0; color: var(--site-muted); font-size: 14px; }
.partner-cabinet-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.partner-bell { position: relative; }
.partner-bell-btn {
    position: relative;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 12px;
    background: #111;
    color: #fbbf24;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}
.partner-bell-badge {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #b91c1c;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.partner-bell-badge[hidden] { display: none !important; }
.partner-bell-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: min(360px, calc(100vw - 24px));
    max-height: min(70vh, 480px);
    overflow: auto;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(0,0,0,.22);
    z-index: 9700;
    color: #111;
}
.partner-bell-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid #f3f4f6;
}
.partner-bell-head strong { font-size: 14px; }
.partner-bell-readall {
    border: 0;
    background: transparent;
    color: var(--site-accent, #b8860b);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
}
.partner-bell-empty {
    margin: 0;
    padding: 18px 14px;
    font-size: 13px;
    color: #6b7280;
}
.partner-bell-list { list-style: none; margin: 0; padding: 0; }
.partner-bell-item {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid #f3f4f6;
}
.partner-bell-item:hover { background: #fafafa; }
.partner-bell-item.is-new { background: #fffbeb; }
.partner-bell-item-title { font-size: 14px; font-weight: 800; }
.partner-bell-item-body { font-size: 13px; color: #4b5563; line-height: 1.4; }
.partner-bell-item-time { font-size: 11px; color: #9ca3af; }
.partner-bell-all {
    display: block;
    text-align: center;
    padding: 12px;
    font-size: 13px;
    font-weight: 700;
    color: var(--site-accent, #b8860b);
    text-decoration: none;
}
.partner-alerts-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.partner-alerts-item {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid #eee;
    text-decoration: none;
    color: inherit;
    background: #fff;
}
.partner-alerts-item.is-new { background: #fffbeb; border-color: #fcd34d; }
.partner-alerts-item span { font-size: 14px; color: #4b5563; line-height: 1.4; }
.partner-alerts-item em { font-style: normal; font-size: 12px; color: #9ca3af; }
.partner-cabinet-logout {
    font-size: 12px;
    color: var(--site-muted);
    text-decoration: none;
    border: 1px solid var(--site-border);
    padding: 6px 12px;
    border-radius: 8px;
}
.partner-cabinet-logout:hover { color: #b91c1c; border-color: #fecaca; }

.partner-nav-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    margin-left: 4px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}
.partner-badge--default {
    background: rgba(212, 175, 55, 0.15);
    color: var(--site-accent, #d4af37);
    border: 1px solid rgba(212, 175, 55, 0.35);
}
.partner-network-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.partner-network-card--wide { grid-column: 1 / -1; }
.partner-network-card h2 { margin: 0 0 12px; font-size: 18px; }
.partner-network-rates { margin: 0; }
.partner-network-rates > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--site-border, #e5e7eb);
}
.partner-network-rates dt { margin: 0; font-weight: 600; }
.partner-network-rates dd { margin: 0; color: var(--site-accent, #d4af37); font-weight: 700; }
.partner-network-rates > div.is-locked dt,
.partner-network-rates > div.is-locked dd {
    color: #9ca3af;
    font-weight: 500;
}
.partner-network-pending-list { display: grid; gap: 12px; }
.partner-network-pending-item {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--site-border, #e5e7eb);
    border-radius: 8px;
}
.partner-network-pending-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.partner-network-table-wrap { overflow-x: auto; }
.partner-network-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.partner-network-table th,
.partner-network-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--site-border, #e5e7eb);
    text-align: left;
}
.partner-network-table th { color: var(--site-muted, #6b7280); font-weight: 600; }

.partner-net-level-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}
.partner-net-level-tab {
    appearance: none;
    border: 1px solid var(--site-border, #e5e7eb);
    background: #fff;
    color: var(--site-ink, #111827);
    border-radius: 999px;
    padding: 7px 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.partner-net-level-tab b { color: var(--site-accent, #d4af37); }
.partner-net-level-tab.is-active {
    border-color: rgba(212, 175, 55, 0.55);
    background: rgba(212, 175, 55, 0.12);
}
.partner-net-level-tab.is-locked { color: #9ca3af; }
.partner-net-level-tab:disabled { opacity: 0.45; cursor: default; }
.partner-net-lvl-pill {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    color: var(--site-accent, #d4af37);
    background: rgba(212, 175, 55, 0.12);
    vertical-align: middle;
}

/* ---- Дерево сети (SVG, светлый) ---- */
.partner-tree-page {
    display: grid;
    gap: 14px;
    padding: 4px 0 8px;
}
.partner-tree-topbar {
    display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px;
}
.partner-tree-kicker {
    margin: 0 0 4px;
    font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
    color: #c45a24;
}
.partner-tree-topbar h2 {
    margin: 0 0 6px; font-size: clamp(22px, 3vw, 28px); font-weight: 800;
    letter-spacing: -.02em; color: #1c1917;
}
.partner-tree-lead {
    margin: 0; max-width: 42rem;
    font-size: 14px; line-height: 1.45; color: #78716c;
}
.partner-tree-stats { display: flex; flex-wrap: wrap; gap: 8px; }
.partner-tree-stat {
    min-width: 76px; padding: 10px 12px; border-radius: 14px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(214, 184, 138, .45);
    box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
}
.partner-tree-stat b {
    display: block; font-size: 18px; font-weight: 900; color: #1c1917;
    font-variant-numeric: tabular-nums;
}
.partner-tree-stat span {
    font-size: 11px; font-weight: 700; color: #a8a29e; text-transform: uppercase; letter-spacing: .04em;
}
.partner-tree-legend {
    display: flex; flex-wrap: wrap; gap: 8px 14px;
    font-size: 12px; font-weight: 700; color: #78716c;
}
.partner-tree-legend span { display: inline-flex; align-items: center; gap: 6px; }
.partner-tree-legend i {
    width: 10px; height: 10px; border-radius: 50%; display: inline-block;
}
.partner-tree-legend .c-you { background: #e8b84a; box-shadow: 0 0 0 3px rgba(232,184,74,.25); }
.partner-tree-legend .c-ok { background: #E66A2E; }
.partner-tree-legend .c-idle { background: #dc2626; box-shadow: 0 0 0 3px rgba(220,38,38,.2); }
.partner-tree-legend .c-wait { background: #a8a29e; }

.partner-tree-top-actions {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.partner-tree-top-actions .btn-outline.is-on {
    background: rgba(230, 106, 46, .12);
    border-color: rgba(230, 106, 46, .45);
    color: #c45a24;
}
.partner-tree-stat--idle b { color: #dc2626; }
.partner-tree-toolbar {
    display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 2px; align-items: center;
}
.partner-tree-toolbar-sep {
    width: 1px; height: 22px; background: #e7e5e4; margin: 0 2px;
}
.partner-tree-filter,
.partner-tree-tool {
    appearance: none; border: 1px solid #e7e5e4; background: #fff;
    color: #78716c; font: inherit; font-size: 12px; font-weight: 700;
    padding: 7px 12px; border-radius: 999px; cursor: pointer;
}
.partner-tree-tool {
    min-width: 36px;
    padding: 7px 10px;
}
.partner-tree-filter.is-active,
.partner-tree-tool.is-active {
    background: #1c1917; color: #fff; border-color: #1c1917;
}
.partner-tree-legend-hint {
    margin-left: auto;
    font-size: 11px;
    font-weight: 600;
    color: #a8a29e;
}

.partner-tree-stage {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: min(72vh, 720px);
    min-height: 420px;
    background:
        radial-gradient(ellipse 70% 45% at 50% 0%, rgba(230,106,46,.08), transparent 60%),
        linear-gradient(180deg, #fafaf9 0%, #ffffff 40%),
        #ffffff;
    border: 1px solid #e7e5e4;
    box-shadow: 0 8px 28px rgba(28, 25, 23, .06);
}
.partner-tree-viewport {
    position: absolute;
    inset: 0;
    overflow: hidden;
    touch-action: none;
    cursor: default;
    user-select: none;
}
.partner-tree-viewport.is-hand,
.partner-tree-viewport.is-space {
    cursor: grab;
}
.partner-tree-viewport.is-dragging {
    cursor: grabbing;
}
.partner-tree-world {
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: 0 0;
    will-change: transform;
}
.partner-tree-svg { display: block; max-width: none; height: auto; overflow: visible; }
.partner-tree-svg .link {
    fill: none;
    stroke: rgba(230, 106, 46, .32);
    stroke-width: 1.35;
    stroke-linecap: round;
}
.partner-tree-svg .lvl-rail {
    stroke: rgba(168, 162, 158, .22);
    stroke-width: 1;
    stroke-dasharray: 3 5;
    pointer-events: none;
}
.partner-tree-svg .lvl-lbl {
    fill: #a8a29e;
    font-size: 9px;
    font-weight: 800;
    font-family: Manrope, system-ui, sans-serif;
    letter-spacing: .04em;
}
.partner-tree-svg .ring { stroke-width: 1.8; }
.partner-tree-svg .node-you .ring {
    fill: rgba(232, 184, 74, .18);
    stroke: #e8b84a;
    filter: drop-shadow(0 3px 8px rgba(232,184,74,.3));
}
.partner-tree-svg .node-you .body { fill: #d4a017; }
.partner-tree-svg .node-ok .ring {
    fill: rgba(230, 106, 46, .12);
    stroke: #E66A2E;
}
.partner-tree-svg .node-ok .body { fill: #E66A2E; }
.partner-tree-svg .node-wait .ring {
    fill: rgba(168, 162, 158, .12);
    stroke: #a8a29e;
}
.partner-tree-svg .node-wait .body { fill: #78716c; }
.partner-tree-svg .node-idle .ring {
    fill: rgba(220, 38, 38, .1);
    stroke: #dc2626;
    filter: drop-shadow(0 0 6px rgba(220, 38, 38, .22));
}
.partner-tree-svg .node-idle .body { fill: #dc2626; }
.partner-tree-svg .link-idle {
    stroke: rgba(220, 38, 38, .4);
    stroke-dasharray: 3 2.5;
}
.partner-tree-svg .node:hover .ring { stroke-width: 2.6; }
.partner-tree-svg .name {
    fill: #44403c;
    font-size: 9.5px;
    font-weight: 700;
    font-family: Manrope, system-ui, sans-serif;
}
.partner-tree-svg .badge {
    fill: #c45a24;
    font-size: 9px;
    font-weight: 800;
    font-family: Manrope, system-ui, sans-serif;
}
.partner-tree-svg .kids {
    fill: #57534e;
    font-size: 8.5px;
    font-weight: 800;
    font-family: Manrope, system-ui, sans-serif;
}
.partner-tree-empty {
    position: absolute; inset: 0; z-index: 5;
    display: grid; place-items: center;
    margin: 0; padding: 24px;
    text-align: center; color: #78716c; font-size: 14px; font-weight: 600;
    pointer-events: none;
}
.partner-tree-empty[hidden] { display: none; }

.partner-tree-tip {
    position: absolute; z-index: 30;
    width: min(320px, calc(100% - 24px));
    max-height: calc(100% - 20px);
    overflow: auto;
    padding: 14px 16px 12px;
    background: #ffffff;
    border: 1px solid #e7e5e4;
    border-radius: 16px;
    box-shadow: 0 16px 36px rgba(28, 25, 23, .12);
    font-size: 13px; line-height: 1.4; color: #44403c;
    animation: ptreeTip .15s ease-out;
}
.partner-tree-tip-note {
    margin: 0; font-size: 12px; color: #78716c; line-height: 1.45;
}
.partner-tree-tip-flag {
    margin: 0 0 8px;
    padding: 7px 10px;
    border-radius: 10px;
    background: rgba(220, 38, 38, .08);
    border: 1px solid rgba(220, 38, 38, .25);
    color: #b91c1c;
    font-size: 12px;
    font-weight: 700;
}
.partner-tree-tip-actions {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-top: 12px; padding-top: 10px;
    border-top: 1px solid rgba(214,184,138,.35);
}
.partner-tree-tip-form { margin: 0; }
.partner-tree-tip-btn {
    min-height: 36px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
}
.partner-tree-tip-reparent {
    margin-top: 10px; padding-top: 10px;
    border-top: 1px dashed rgba(214,184,138,.45);
}
.partner-tree-tip-reparent label {
    display: block; font-size: 11px; font-weight: 700;
    color: #a8a29e; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .04em;
}
.partner-tree-tip-reparent-row {
    display: flex; gap: 6px; align-items: center;
}
.partner-tree-tip-reparent-row .form-control {
    flex: 1; min-width: 0; font-size: 12px; padding: 6px 8px;
}
@keyframes ptreeTip {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: none; }
}
.partner-tree-tip[hidden] { display: none; }
.partner-tree-tip h3 {
    margin: 0 22px 10px 0;
    font-size: 15px; font-weight: 800; color: #1c1917;
}
.partner-tree-tip h3 em {
    font-style: normal; font-size: 12px; font-weight: 800;
    color: #c45a24; margin-left: 4px;
}
.partner-tree-tip .row {
    display: flex; justify-content: space-between; gap: 10px;
    padding: 5px 0; border-top: 1px solid rgba(214,184,138,.35);
    font-size: 12px;
}
.partner-tree-tip .row span { color: #a8a29e; font-weight: 600; }
.partner-tree-tip .row b { color: #1c1917; font-weight: 700; text-align: right; }
.partner-tree-tip-x {
    position: absolute; top: 8px; right: 8px;
    width: 26px; height: 26px; border-radius: 8px;
    appearance: none; border: 0; background: rgba(0,0,0,.05);
    color: #78716c; font-size: 16px; line-height: 1; cursor: pointer;
}
.partner-tree-tip-x:hover { background: rgba(0,0,0,.08); color: #1c1917; }

.partner-collections-page { display: grid; gap: 16px; }
.partner-collection-picker-head {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin: 14px 0 8px;
}
.partner-collection-counter { font-size: 12px; font-weight: 800; color: #78716c; }
.partner-collection-picker {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 8px; max-height: 430px; overflow: auto; padding: 4px;
    border: 1px solid #e7e5e4; border-radius: 14px; background: #fafaf9;
}
.partner-collection-pick {
    display: flex; align-items: center; gap: 10px; min-width: 0;
    padding: 8px; border: 1px solid #e7e5e4; border-radius: 12px;
    background: #fff; cursor: pointer;
}
.partner-collection-pick.is-checked {
    border-color: rgba(230, 106, 46, .65);
    box-shadow: 0 0 0 3px rgba(230, 106, 46, .12);
}
.partner-collection-pick input { flex: 0 0 auto; width: 18px; height: 18px; }
.partner-collection-pick img {
    width: 52px; height: 44px; object-fit: cover; border-radius: 8px; flex: 0 0 auto;
    background: #f5f5f4;
}
.partner-collection-pick-meta { min-width: 0; flex: 1; }
.partner-collection-pick-meta b {
    display: block; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.partner-collection-pick-meta small {
    display: block; font-size: 11px; color: #a8a29e; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.partner-collection-pick-check { color: #E66A2E; font-weight: 900; opacity: 0; }
.partner-collection-pick.is-checked .partner-collection-pick-check { opacity: 1; }
.partner-collection-empty { color: #78716c; font-size: 13px; }
.partner-collection-list { display: grid; gap: 12px; }
.partner-collection-row {
    display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap;
    padding: 14px; border: 1px solid #e7e5e4; border-radius: 14px; background: #fff;
}
.partner-collection-row-main { flex: 1 1 420px; min-width: 0; }
.partner-collection-row-main h3 { margin: 0 0 5px; font-size: 16px; }
.partner-collection-row-main p { margin: 0 0 10px; color: #78716c; font-size: 12px; }
.partner-collection-row-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-start; }
@media (max-width: 640px) {
    .partner-collection-picker { grid-template-columns: 1fr; max-height: 380px; }
}

/* Дерево сети всегда светлое — и в приложении тоже */
body.partner-app-mode .partner-tree-page,
body.partner-app-mode .partner-tree-stage,
body.partner-app-mode .partner-tree-tip {
    color-scheme: light;
}
body.partner-app-mode .partner-tree-topbar h2 { color: #1c1917; }
body.partner-app-mode .partner-tree-lead,
body.partner-app-mode .partner-tree-legend { color: #78716c; }
body.partner-app-mode .partner-tree-stat {
    background: #fff;
    border-color: #e7e5e4;
}
body.partner-app-mode .partner-tree-stat b { color: #1c1917; }
body.partner-app-mode .partner-tree-stat span { color: #a8a29e; }
body.partner-app-mode .partner-tree-stage {
    background:
        radial-gradient(ellipse 70% 45% at 50% 0%, rgba(230,106,46,.08), transparent 60%),
        linear-gradient(180deg, #fafaf9 0%, #ffffff 40%),
        #ffffff !important;
    border-color: #e7e5e4;
}
body.partner-app-mode .partner-tree-tool,
body.partner-app-mode .partner-tree-filter {
    background: #fff;
    color: #78716c;
    border-color: #e7e5e4;
}
body.partner-app-mode .partner-tree-tool.is-active,
body.partner-app-mode .partner-tree-filter.is-active {
    background: #1c1917;
    color: #fff;
    border-color: #1c1917;
}
body.partner-app-mode .partner-tree-svg .name { fill: #44403c; }
body.partner-app-mode .partner-tree-svg .lvl-lbl { fill: #a8a29e; }
body.partner-app-mode .partner-tree-svg .link { stroke: rgba(230, 106, 46, .35); }
body.partner-app-mode .partner-tree-tip {
    background: #ffffff !important;
    border-color: #e7e5e4;
    color: #44403c;
}
body.partner-app-mode .partner-tree-tip h3 { color: #1c1917; }
body.partner-app-mode .partner-tree-tip .row b { color: #1c1917; }
body.partner-app-mode .partner-tree-tip .row span { color: #a8a29e; }
body.partner-app-mode .partner-tree-tip .row {
    border-top-color: #f5f5f4;
}
body.partner-app-mode .partner-tree-empty { color: #78716c; }
body.partner-app-mode .partner-tree-kicker { color: #c45a24; }

.partner-ref-row {
    display: flex;
    gap: 8px;
    align-items: stretch;
}
.partner-ref-row .partner-ref-input { flex: 1; min-width: 0; }
.partner-ref-row .btn-gold,
.partner-ref-row .btn-outline,
.partner-ref-row .partner-ref-copy {
    flex: 0 0 auto;
    white-space: nowrap;
}
.partner-ref-copy {
    width: auto !important;
    min-height: 40px;
    height: 40px;
    padding: 0 12px !important;
    font-size: 13px !important;
    font-weight: 600;
}

.partner-progress { display: grid; gap: 16px; }
.partner-progress-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-end;
}
.partner-progress-toolbar h2 { margin: 0 0 6px; font-size: 18px; }
.partner-progress-date {
    display: flex;
    gap: 8px;
    align-items: center;
}
.partner-progress-date input[type="date"] { width: auto; min-width: 150px; }
.partner-progress-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: baseline;
    margin-bottom: 10px;
}
.partner-progress-card-head h3,
.partner-progress-card-head h4 { margin: 0; font-size: 16px; }
.partner-progress-score {
    font-size: 12px;
    font-weight: 700;
    color: var(--site-accent, #b8860b);
    white-space: nowrap;
}
.partner-progress-metrics {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 4px;
    font-size: 14px;
    line-height: 1.45;
}
.partner-progress-list {
    display: grid;
    gap: 12px;
    margin-top: 12px;
}
.partner-progress-card.is-idle { opacity: 0.72; }
.partner-progress-card.is-stuck {
    border: 1px solid #fecaca;
    background: #fffafa;
}
.partner-progress-day-label {
    margin: 0 0 6px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #9ca3af;
}
.partner-progress-stage {
    margin: 0 0 14px;
    padding: 12px 14px 8px;
    border-radius: 12px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
}
.partner-progress-stage.is-now { background: #fffbeb; border-color: #fcd34d; }
.partner-progress-stage.is-ok { background: #ecfdf5; border-color: #a7f3d0; }
.partner-progress-stage.is-stuck { background: #fef2f2; border-color: #fecaca; }
.partner-progress-stage.is-wait { background: #fff7ed; border-color: #fed7aa; }
.partner-progress-stage-kicker {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
}
.partner-progress-stage-title {
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
    color: #111;
}
.partner-progress-stage-detail {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.4;
    color: #4b5563;
}
.partner-progress-stage .partner-onboard-bar { margin-bottom: 4px; }
.partner-onboard-steps--mini { margin-bottom: 10px; }
.partner-onboard-steps--mini li {
    font-size: 11px;
    padding: 8px 6px;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}
.partner-progress-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 4px 0 4px;
}
.partner-progress-summary span {
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #374151;
}
.partner-progress-summary span.is-stuck { background: #fef2f2; color: #b91c1c; }
.partner-progress-summary span.is-wait { background: #fff7ed; color: #9a3412; }
.partner-progress-summary span.is-now { background: #fffbeb; color: #92400e; }
.partner-progress-summary span.is-ok { background: #ecfdf5; color: #065f46; }
.partner-progress-scopes {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.partner-progress-scopes a {
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    padding: 4px 10px;
    border: 1px solid var(--site-border, #e5e7eb);
    color: var(--site-muted, #6b7280);
}
.partner-progress-scopes a.is-active {
    border-color: var(--site-accent, #b8860b);
    color: var(--site-accent, #b8860b);
}

@media (max-width: 720px) {
    .partner-ref-row {
        flex-direction: row;
        align-items: stretch;
    }
    .partner-ref-row .partner-ref-copy {
        width: auto !important;
        min-height: 40px;
        height: 40px;
        padding: 0 10px !important;
        font-size: 13px !important;
    }
    .partner-ref-row .partner-ref-input,
    .partner-ref-row input[type="text"],
    .partner-ref-row input[type="url"] {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        font-size: 16px; /* iOS: без зума при фокусе */
        box-sizing: border-box;
    }
}

.partner-cabinet-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 20px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--site-border);
}
.partner-nav-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.partner-nav-group-label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #9ca3af;
}
.partner-nav-group-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.partner-nav-link {
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--site-muted);
    text-decoration: none;
    border: 1px solid transparent;
}
.partner-nav-link:hover { color: var(--site-text); background: var(--site-surface); }
.partner-nav-link.is-active {
    color: var(--site-accent);
    background: #fffbeb;
    border-color: #fcd34d;
}
.partner-nav-link--sale {
    color: #14532d;
    background: #f0fdf4;
    border-color: #86efac;
}
.partner-nav-link--sale.is-active {
    color: #14532d;
    background: #dcfce7;
    border-color: #4ade80;
}
.partner-nav-sale-mark {
    display: inline-block;
    margin-left: 4px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #166534;
}

.partner-hud {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 0 16px;
}
.partner-hud-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px 6px 6px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(184, 134, 11, 0.22);
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
    text-decoration: none;
    color: #1f2937;
}
a.partner-hud-pill:hover {
    border-color: rgba(184, 134, 11, 0.45);
    background: #fffbeb;
}
.partner-hud-mark {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    background: #fff7ed;
    color: #b45309;
    border: 1px solid #fde68a;
}
.partner-hud-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.15;
}
.partner-hud-k {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #9ca3af;
}
.partner-hud-v {
    font-size: 13px;
    font-weight: 800;
    color: #111827;
    white-space: nowrap;
}
.partner-hud-v small {
    font-size: 10px;
    font-weight: 700;
    color: #6b7280;
}
.partner-hud--ok .partner-hud-pill--status .partner-hud-mark {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #047857;
}
.partner-hud--hot .partner-hud-pill--status .partner-hud-mark {
    background: #fff7ed;
    border-color: #fdba74;
    color: #c2410c;
}
.partner-hud--lead .partner-hud-pill--status .partner-hud-mark {
    background: linear-gradient(145deg, #fef3c7, #fde68a);
    border-color: #f59e0b;
    color: #92400e;
}
.partner-hud--danger .partner-hud-pill--status .partner-hud-mark,
.partner-hud--warn .partner-hud-pill--status .partner-hud-mark {
    background: #fef2f2;
    border-color: #fecaca;
    color: #b91c1c;
}
.partner-hud-pill--points .partner-hud-mark {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1d4ed8;
}
.partner-hud-pill--balance .partner-hud-mark {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #15803d;
}
.partner-hud-grace {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fcd34d;
}
.partner-exchange-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
    margin: 0 0 16px;
}
.partner-exchange-card h3 { margin: 0 0 8px; font-size: 16px; }
.partner-exchange-card .form-control {
    width: 100%;
    margin-top: 4px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid var(--site-border, #e5e7eb);
}
@media (max-width: 720px) {
    .partner-cabinet-title { font-size: 22px; }
    .partner-nav-group-label { display: none; }
    .partner-cabinet-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 8px;
        padding-bottom: 10px;
        max-width: 100%;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: thin;
    }
    .partner-nav-group { flex: 0 0 auto; max-width: none; }
    .partner-nav-group-links { flex-wrap: nowrap; }
    .partner-nav-link {
        padding: 10px 12px;
        font-size: 13px;
        white-space: nowrap;
    }
    .partner-cabinet-meta {
        flex-wrap: wrap;
        max-width: 100%;
        justify-content: flex-start;
        gap: 8px;
    }
    .partner-hud {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        justify-content: stretch;
        gap: 6px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    .partner-hud-pill {
        width: 100%;
        min-width: 0;
        padding: 8px 4px;
        box-sizing: border-box;
        justify-content: center;
        gap: 0;
        border-radius: 12px;
    }
    .partner-hud-mark { display: none; }
    .partner-hud-copy { align-items: center; text-align: center; max-width: 100%; }
    .partner-hud-k { font-size: 9px; }
    .partner-hud-v {
        font-size: 14px;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .partner-hud-grace { grid-column: 1 / -1; text-align: center; }
    .partner-home-grid {
        grid-template-columns: 1fr;
    }
}

.partner-alert {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 14px;
}
.partner-alert--ok { background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }
.partner-alert--err { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; }
.partner-alert--warn { background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; }
.partner-alert a { color: inherit; font-weight: 700; }

.partner-home-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}
.partner-home-card h2 { margin: 0 0 10px; font-size: 18px; }
.partner-home-card p { color: var(--site-muted); font-size: 14px; line-height: 1.5; margin: 0 0 16px; }
.partner-home-card .btn-gold,
.partner-home-card .btn-outline { display: inline-block; text-decoration: none; }
.partner-home-mini { margin-top: 12px !important; margin-bottom: 0 !important; font-size: 12px !important; }

.partner-onboard-card {
    margin: 0 0 16px;
    background: linear-gradient(180deg, #fffbeb 0%, #fff 70%);
    border: 1px solid #fcd34d;
}
.partner-onboard-kicker {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin: 0 0 6px !important;
    font-size: 12px !important;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #92400e !important;
}
.partner-onboard-pct {
    letter-spacing: 0;
    text-transform: none;
    font-variant-numeric: tabular-nums;
}
.partner-onboard-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
}
.partner-onboard-steps li {
    margin: 0;
    padding: 8px 6px;
    border-radius: 10px;
    background: #f3f4f6;
    color: #6b7280;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
}
.partner-onboard-steps li.is-done {
    background: #ecfdf5;
    color: #065f46;
}
.partner-onboard-steps li.is-current {
    background: #111;
    color: #fbbf24;
}
.partner-onboard-meta { margin: -8px 0 12px !important; font-size: 13px !important; }
.partner-onboard-bar {
    height: 12px;
    border-radius: 999px;
    background: #f3f4f6;
    overflow: hidden;
    margin: 0 0 16px;
}
.partner-onboard-bar span {
    display: block;
    height: 100%;
    background: var(--site-accent, #c9970c);
    border-radius: 999px;
}
.partner-onboard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.partner-onboard-done-form { display: inline; }
.partner-onboard-pill {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 999px;
    background: #f3f4f6;
    font-weight: 700;
    font-size: 11px;
}
.partner-onboard-pill--ok { background: #ecfdf5; color: #065f46; }
.partner-onboard-pill--wait { background: #fff7ed; color: #9a3412; }
.partner-onboard-pill--stuck { background: #fef2f2; color: #b91c1c; }
.partner-onboard-stuck-row td { background: #fff7ed; }
.partner-onboard-stuck {
    margin: 0 0 14px;
    padding-left: 18px;
    color: #92400e;
    font-size: 13px;
    line-height: 1.5;
}

.partner-form-panel h2 { margin: 0 0 8px; font-size: 20px; }
.partner-form-note { color: var(--site-muted); font-size: 13px; margin: 0 0 20px; line-height: 1.5; }
.partner-network-push-form { display: grid; gap: 8px; max-width: 520px; }
.partner-network-push-form .btn-gold { justify-self: start; margin-top: 6px; }
.partner-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--site-muted);
    margin: 12px 0 6px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.partner-ticket-form .form-control { margin-bottom: 0; }
.partner-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.partner-notify-fieldset {
    border: 1px solid var(--site-border);
    border-radius: 8px;
    padding: 12px 14px;
    margin: 16px 0;
}
.partner-notify-fieldset legend { padding: 0 4px; }
.partner-check { display: flex; align-items: center; gap: 8px; font-size: 14px; margin: 8px 0; cursor: pointer; }
.partner-form-hint { font-size: 11px; color: var(--site-muted); margin: 6px 0 16px; }

.partner-tickets-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.partner-tickets-head h2 { margin: 0; font-size: 20px; }
.partner-empty { color: var(--site-muted); text-align: center; padding: 24px; }
.partner-ticket-list { display: grid; gap: 10px; }
.partner-ticket-item {
    display: block;
    padding: 14px 16px;
    border: 1px solid var(--site-border);
    border-radius: 10px;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.15s, border-color 0.15s;
}
.partner-ticket-item:hover { border-color: #fcd34d; box-shadow: var(--site-shadow); }
.partner-ticket-item-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.partner-ticket-id { font-weight: 800; font-size: 13px; color: var(--site-accent); }
.partner-ticket-item-text { font-size: 14px; margin-bottom: 6px; }
.partner-ticket-item-date { font-size: 11px; color: var(--site-muted); }

.partner-ticket-status {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 8px;
    border-radius: 4px;
}
.partner-ticket-status--new { background: #dbeafe; color: #1e40af; }
.partner-ticket-status--in_progress { background: #fef3c7; color: #92400e; }
.partner-ticket-status--answered { background: #d1fae5; color: #065f46; }
.partner-ticket-status--closed { background: #e5e7eb; color: #4b5563; }

.partner-ticket-crm-line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 12px; color: var(--site-muted); margin: 4px 0 6px; }
.partner-ticket-crm-line--wait { font-style: italic; }
.partner-ticket-crm-label { font-weight: 900; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--site-accent); }
.partner-ticket-crm-stage { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; color: var(--site-text, #1f2937); }
.partner-ticket-crm-stage::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--stage-color, #6b7280); flex: 0 0 auto; }
.partner-ticket-crm-owner { color: var(--site-muted); }
.partner-crm-other-title { margin: 26px 0 6px; font-size: 16px; }
.partner-crm-deal-card { cursor: default; }
.partner-crm-panel { border: 1px solid var(--site-border); border-radius: 12px; padding: 16px; margin: 16px 0; background: var(--site-surface-2); }
.partner-crm-panel-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.partner-crm-panel-head h3 { margin: 0; font-size: 15px; }
.partner-crm-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--site-muted); margin-bottom: 14px; }
.partner-crm-tracker { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.partner-crm-step { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; border: 1px solid var(--site-border); font-size: 12px; background: #fff; }
.partner-crm-step-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--stage-color, #6b7280); flex: 0 0 auto; }
.partner-crm-step--todo { opacity: .55; }
.partner-crm-step--done { border-color: #a7f3d0; background: #ecfdf5; }
.partner-crm-step--current { border-color: #f59e0b; background: #fffbeb; font-weight: 800; box-shadow: 0 0 0 2px rgba(245,158,11,.18); }
.partner-crm-step--won { border-color: #34d399; background: #d1fae5; font-weight: 800; }
.partner-crm-step--lost { border-color: #fca5a5; background: #fef2f2; font-weight: 800; }
.partner-crm-step-now { font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; color: var(--site-muted); }
.partner-crm-note { margin: 12px 0 0; font-size: 12px; color: var(--site-muted); line-height: 1.5; }

.partner-home-stats-strip { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; padding: 12px 16px; margin: 0 0 16px; border: 1px solid var(--site-border); border-radius: 12px; background: var(--site-surface-2); color: inherit; text-decoration: none; font-size: 13px; }
.partner-home-stats-strip strong { font-size: 15px; }
.partner-home-stats-strip em { margin-left: auto; font-style: normal; font-weight: 800; color: var(--site-accent); }
.partner-stats-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 4px; }
.partner-stats-tabs a { padding: 9px 14px; border: 1px solid var(--site-border); border-radius: 999px; text-decoration: none; color: inherit; font-size: 13px; font-weight: 800; }
.partner-stats-tabs a.is-active { background: #111827; border-color: #111827; color: #fff; }
.partner-stats-box-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.partner-stats-box-head h3 { margin: 0; }
.partner-stats-table-wrap { overflow-x: auto; }
.partner-stats-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 760px; }
.partner-stats-table th, .partner-stats-table td { padding: 9px 10px; border-bottom: 1px solid var(--site-border); text-align: left; vertical-align: top; white-space: nowrap; }
.partner-stats-table th { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--site-muted); }
.partner-ref-table { min-width: 860px; }
.partner-ref-filters { display: grid; grid-template-columns: minmax(200px, 1.4fr) repeat(3, minmax(130px, .7fr)) auto auto; gap: 9px; margin-bottom: 14px; }
@media (max-width: 900px) { .partner-ref-filters { grid-template-columns: 1fr 1fr; } }
.partner-invite-box { margin-bottom: 16px; }
.partner-invite-funnel { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; margin-top: 14px; }
.partner-invite-step { flex: 1 1 120px; border: 1px solid var(--site-border); border-radius: 12px; padding: 12px; display: grid; gap: 3px; background: #fff; }
.partner-invite-step span { font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; color: var(--site-muted); }
.partner-invite-step strong { font-size: 24px; line-height: 1; }
.partner-invite-step small { font-size: 11px; color: var(--site-muted); }
.partner-invite-arrow { align-self: center; color: var(--site-muted); font-weight: 900; }
.partner-invite-subtitle { margin: 0 0 10px; font-size: 13px; }
.partner-stats-periods { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 10px; }
.partner-stats-period { padding: 7px 12px; border: 1px solid var(--site-border); border-radius: 999px; text-decoration: none; color: inherit; font-size: 12px; font-weight: 700; }
.partner-stats-period.is-active { background: #111827; color: #fff; border-color: #111827; }
.partner-stats-custom { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-bottom: 18px; }
.partner-stats-custom label { display: grid; gap: 5px; font-size: 11px; font-weight: 800; color: var(--site-muted); }
.partner-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 20px; }
.partner-stat-card { border: 1px solid var(--site-border); border-radius: 14px; padding: 14px; display: grid; gap: 5px; background: #fff; }
.partner-stat-label { font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--site-muted); }
.partner-stat-value { font-size: 26px; line-height: 1; letter-spacing: -.02em; }
.partner-stat-delta { font-size: 11px; font-weight: 800; color: var(--site-muted); }
.partner-stat-delta.is-up { color: #059669; }
.partner-stat-delta.is-down { color: #dc2626; }
.partner-stat-sub { font-size: 12px; color: var(--site-muted); line-height: 1.45; }
.partner-stats-funnel, .partner-stats-chart-block, .partner-stats-box { border: 1px solid var(--site-border); border-radius: 14px; padding: 16px; margin-bottom: 16px; background: #fff; }
.partner-stats-funnel h3, .partner-stats-chart-block h3, .partner-stats-box h3 { margin: 0 0 14px; font-size: 15px; }
.partner-stats-funnel-row { display: grid; grid-template-columns: 90px 1fr 44px 64px; gap: 10px; align-items: center; margin-bottom: 9px; font-size: 13px; }
.partner-stats-funnel-bar { height: 12px; border-radius: 999px; background: #f3f4f6; overflow: hidden; }
.partner-stats-funnel-bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #f59e0b, #f97316); }
.partner-stats-funnel-conv { font-size: 11px; font-weight: 800; color: var(--site-muted); }
.partner-stats-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 12px; color: var(--site-muted); margin-bottom: 10px; }
.partner-stats-legend i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 5px; }
.partner-stats-chart { display: flex; gap: 6px; align-items: end; min-height: 150px; overflow-x: auto; padding-top: 8px; }
.partner-stats-col { flex: 1 0 34px; display: grid; gap: 6px; justify-items: center; }
.partner-stats-bars { height: 110px; display: flex; align-items: end; gap: 2px; }
.partner-stats-bars i { display: block; width: 6px; border-radius: 4px 4px 0 0; min-height: 2px; }
.partner-stats-col span { font-size: 10px; color: var(--site-muted); white-space: nowrap; }
.partner-stats-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.partner-stats-cols .partner-stats-box { margin-bottom: 0; }
.partner-stats-stage-list { display: grid; gap: 9px; }
.partner-stats-stage-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13px; }
.partner-stats-stage-row strong { margin-left: auto; }
.partner-stats-page { word-break: break-all; }
@media (max-width: 640px) {
  .partner-stats-funnel-row { grid-template-columns: 72px 1fr 36px; }
  .partner-stats-funnel-conv { display: none; }
  .partner-home-stats-strip em { margin-left: 0; }
}

.partner-ticket-view-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.partner-back { font-size: 13px; color: var(--site-muted); text-decoration: none; }
.partner-back:hover { color: var(--site-accent); }
.partner-ticket-block { background: var(--site-surface-2); border-radius: 10px; padding: 16px; margin: 16px 0; }
.partner-ticket-block h3 { margin: 0 0 12px; font-size: 15px; }
.partner-ticket-dl { margin: 0; font-size: 14px; }
.partner-ticket-dl dt { font-weight: 700; color: var(--site-muted); font-size: 11px; text-transform: uppercase; margin-top: 10px; }
.partner-ticket-dl dd { margin: 4px 0 0; }
.partner-files { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.partner-file-link {
    font-size: 12px;
    color: var(--site-accent);
    text-decoration: none;
    background: #fffbeb;
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid #fcd34d;
}
.partner-thread { margin: 20px 0; }
.partner-thread h3 { font-size: 15px; margin-bottom: 12px; }
.partner-thread-msg {
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.5;
}
.partner-thread-msg--partner { background: var(--site-surface-2); border-left: 3px solid var(--site-border); }
.partner-thread-msg--admin { background: #ecfdf5; border-left: 3px solid #34d399; }
.partner-thread-meta { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--site-muted); margin-bottom: 6px; }
.partner-waiting { color: var(--site-muted); font-style: italic; font-size: 14px; }
.partner-reply-form { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--site-border); }

.partner-kp-modal { max-width: 520px; width: 100%; }
.partner-kp-modal-title { margin: 0 0 6px; font-size: 20px; font-weight: 800; text-align: center; }
.partner-kp-modal-sub { text-align: center; color: var(--site-muted); font-size: 13px; margin: 0 0 16px; }
.partner-kp-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; }

/* ???????? ????? ? ??????????? */
body.partner-login-page,
body.partner-auth-page {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    margin: 0;
    background: var(--site-bg, #f3f4f6);
    font-family: Montserrat, sans-serif;
}
body.partner-auth-page { padding: 24px 16px; }

.partner-login-box,
.partner-auth-box {
    width: 100%;
    background: #fff;
    border: 1px solid var(--site-border, #e5e7eb);
    border-radius: 14px;
    padding: 36px 32px;
    box-shadow: var(--site-shadow, 0 4px 16px rgba(16, 24, 40, 0.06));
}
.partner-login-box { max-width: 420px; }
.partner-auth-box { max-width: 480px; padding: 32px 28px; }

.partner-login-box h2,
.partner-auth-box h2 {
    margin: 0 0 8px;
    font-size: 22px;
    text-align: center;
    color: var(--site-text);
}

.partner-login-sub,
.partner-auth-sub {
    color: var(--site-muted);
    font-size: 13px;
    text-align: center;
    margin-bottom: 24px;
    line-height: 1.5;
}
.partner-auth-sub { margin-bottom: 22px; }

.partner-login-alert,
.partner-auth-alert {
    font-size: 13px;
    padding: 10px 12px;
    border-radius: 8px;
    margin-bottom: 16px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
}
.partner-login-alert--ok,
.partner-auth-alert--ok {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #065f46;
}
.partner-auth-alert.err { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; }

.partner-login-box .form-control,
.partner-auth-box .form-control {
    width: 100%;
    margin-bottom: 14px;
    box-sizing: border-box;
}
.partner-auth-box .form-control { margin-bottom: 12px; }

.partner-login-back {
    display: block;
    text-align: center;
    margin-top: 18px;
    font-size: 13px;
    color: var(--site-muted);
    text-decoration: none;
}
.partner-login-back:hover { color: var(--site-accent); }

.partner-auth-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--site-muted);
    margin: 10px 0 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.partner-auth-links {
    text-align: center;
    margin-top: 18px;
    font-size: 13px;
}
.partner-auth-links a,
.partner-login-extra-link {
    color: var(--site-accent);
    text-decoration: none;
    font-weight: 600;
}
.partner-login-extra {
    text-align: center;
    margin-top: 14px;
    font-size: 13px;
}

@media (max-width: 768px) {
    .partner-cabinet-header { flex-direction: column; }
    .partner-form-row,
    .partner-kp-form-grid { grid-template-columns: 1fr; }
    .partner-network-grid { grid-template-columns: 1fr; }
    .partner-network-pending-item { flex-direction: column; align-items: flex-start; }
}

/* ?????????? ??????????? ????????? */
.partner-landing-hero {
    position: relative;
    overflow: hidden;
    padding: 48px 0 56px;
    border-bottom: 1px solid var(--site-border);
}
.partner-landing-hero-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(125deg, #fffbeb 0%, #ffffff 38%, #f6f7f9 100%),
        radial-gradient(ellipse 70% 55% at 90% 15%, rgba(184, 134, 11, 0.12), transparent 55%);
    z-index: 0;
}
.partner-landing-hero > .container {
    position: relative;
    z-index: 1;
}
.partner-landing-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 36px;
    align-items: center;
}
.partner-landing-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--site-muted);
    margin: 0 0 14px;
}
.partner-landing-hero h1 {
    margin: 0 0 18px;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.03em;
    color: var(--site-text);
}
.partner-landing-accent {
    color: var(--site-accent);
    white-space: nowrap;
}
.partner-landing-lead {
    margin: 0 0 24px;
    font-size: clamp(15px, 2vw, 18px);
    line-height: 1.55;
    color: var(--site-muted);
    max-width: 560px;
}
.partner-landing-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
}
.partner-landing-cta .btn-gold,
.partner-landing-cta .btn-outline {
    text-decoration: none;
}
.partner-landing-note {
    margin: 0;
    font-size: 12px;
    color: var(--site-muted);
}
.partner-landing-earn-card {
    background: #fff;
    border: 1px solid #fcd34d;
    border-radius: 16px;
    padding: 24px 22px;
    box-shadow: var(--site-shadow);
}
.partner-landing-earn-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--site-muted);
    margin-bottom: 6px;
}
.partner-landing-earn-value {
    display: block;
    font-size: 36px;
    font-weight: 900;
    color: var(--site-accent);
    line-height: 1.1;
    margin-bottom: 8px;
}
.partner-landing-earn-hint {
    display: block;
    font-size: 12px;
    color: var(--site-muted);
    line-height: 1.45;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px dashed var(--site-border);
}
.partner-landing-earn-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.partner-landing-earn-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 13px;
}
.partner-landing-earn-list span { color: var(--site-muted); }
.partner-landing-earn-list strong { color: var(--site-text); font-weight: 700; }

.partner-landing-section { padding-top: 48px; padding-bottom: 48px; }
.partner-landing-section--alt {
    background: var(--site-surface-2, #f6f7f9);
}
.partner-landing-benefits {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}
.partner-landing-benefit {
    padding: 22px 20px;
}
.partner-landing-benefit-icon {
    font-size: 28px;
    display: block;
    margin-bottom: 12px;
}
.partner-landing-benefit h3 {
    margin: 0 0 10px;
    font-size: 17px;
    font-weight: 800;
}
.partner-landing-benefit p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--site-muted);
}

.partner-landing-levels {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}
.partner-landing-levels.partner-landing-levels--single {
    grid-template-columns: minmax(0, 1fr);
    max-width: 480px;
    margin: 0 auto 16px;
}
.partner-landing-level {
    text-align: center;
    padding: 24px 18px;
}
.partner-landing-level--featured {
    border-color: #fcd34d;
    box-shadow: 0 8px 24px rgba(184, 134, 11, 0.12);
}
.partner-landing-level-pct {
    margin: 14px 0 8px;
    font-size: 40px;
    font-weight: 900;
    color: var(--site-accent);
    line-height: 1;
}
.partner-landing-level-desc {
    margin: 0;
    font-size: 13px;
    color: var(--site-muted);
    line-height: 1.45;
}
.partner-landing--seller .partner-landing-label {
    letter-spacing: 0.06em;
}

.ref-landing-calc-table--simple th,
.ref-landing-calc-table--simple td {
    padding: 14px 16px;
}
.ref-landing-calc-table--simple td strong {
    font-size: 1.05rem;
}
.ref-network-table--simple th,
.ref-network-table--simple td {
    padding: 14px 16px;
}

.partner-landing-level-note {
    margin: 0;
    text-align: center;
    font-size: 13px;
    color: var(--site-muted);
    line-height: 1.5;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.partner-landing-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
    max-width: 720px;
}
.partner-landing-step {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 18px 20px;
    background: var(--site-surface);
    border: 1px solid var(--site-border);
    border-radius: 12px;
}
.partner-landing-step-num {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fffbeb;
    color: var(--site-accent);
    font-weight: 800;
    font-size: 15px;
    border: 1px solid #fcd34d;
}
.partner-landing-step strong {
    display: block;
    font-size: 15px;
    margin-bottom: 4px;
}
.partner-landing-step p {
    margin: 0;
    font-size: 14px;
    color: var(--site-muted);
    line-height: 1.5;
}

.partner-landing-bottom-cta {
    padding: 0 0 56px;
}
.partner-landing-bottom-box {
    text-align: center;
    padding: 36px 28px;
}
.partner-landing-bottom-box h2 {
    margin: 0 0 10px;
    font-size: 26px;
    font-weight: 800;
}
.partner-landing-bottom-box > p {
    margin: 0 0 22px;
    color: var(--site-muted);
    font-size: 15px;
}
.partner-landing-bottom-box .partner-landing-cta {
    justify-content: center;
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .partner-landing-hero-grid {
        grid-template-columns: 1fr;
    }
    .partner-landing-hero-card {
        max-width: 400px;
    }
    .partner-landing-levels {
        grid-template-columns: 1fr;
    }
    .partner-landing-accent {
        white-space: normal;
    }
}

/* ???-?????? ?? ????????? ???????? */
.partner-ref-toolbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 8500;
    background: linear-gradient(180deg, #1a1a1a 0%, #0f0f0f 100%);
    border-top: 2px solid var(--site-accent, #d4af37);
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.35);
    padding: 12px 0;
}
.partner-ref-toolbar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}
.partner-ref-toolbar-text {
    flex: 1 1 200px;
    font-size: 12px;
    color: #d1d5db;
    line-height: 1.4;
}
.partner-ref-toolbar-text strong {
    display: block;
    color: #fff;
    font-size: 13px;
    margin-bottom: 2px;
}
.partner-ref-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    flex: 2 1 320px;
}
.partner-ref-toolbar-input {
    flex: 1;
    min-width: 180px;
    font-size: 12px !important;
    padding: 10px 12px !important;
    background: #111 !important;
    border-color: #444 !important;
    color: #f3f4f6 !important;
}
.partner-ref-toolbar-btn {
    white-space: nowrap;
    padding: 10px 18px !important;
    font-size: 12px !important;
}
.partner-ref-toolbar-close {
    background: transparent;
    border: none;
    color: #9ca3af;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 8px;
}
.partner-ref-toolbar-close:hover {
    color: #fff;
}
body.site-public.has-partner-ref-toolbar {
    padding-bottom: 88px;
}
body.partner-app-mode.has-partner-ref-toolbar {
    padding-bottom: calc(68px + 88px + env(safe-area-inset-bottom, 0px));
}
.partner-home-card--ref .partner-ref-input {
    font-size: 12px;
    margin-top: 8px;
}
@media (max-width: 768px) {
    .partner-ref-toolbar {
        padding: 8px 0 calc(8px + env(safe-area-inset-bottom, 0px));
    }
    .partner-ref-toolbar-text--desktop,
    .partner-ref-toolbar-input--desktop {
        display: none !important;
    }
    .partner-ref-toolbar-inner {
        flex-direction: row;
        align-items: center;
        gap: 8px;
        padding-left: 12px;
        padding-right: 12px;
    }
    .partner-ref-toolbar-actions {
        flex: 1;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        min-width: 0;
    }
    .partner-ref-toolbar-btn {
        flex: 1;
        width: auto;
        padding: 12px 14px !important;
        font-size: 13px !important;
    }
    body.site-public.has-partner-ref-toolbar {
        padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    }
    body.partner-app-mode.has-partner-ref-toolbar {
        padding-bottom: calc(68px + 56px + env(safe-area-inset-bottom, 0px));
    }
}
@media (max-width: 640px) {
    .partner-ref-toolbar-inner {
        flex-direction: row;
        align-items: center;
    }
    .partner-ref-toolbar-actions {
        flex-direction: row;
    }
    .partner-ref-toolbar-btn {
        width: auto;
    }
}

/* ??????? ?? ??????????? ????????? */
.partner-help-hero {
    padding: 32px 0 40px;
    border-bottom: 1px solid var(--site-border);
    background: linear-gradient(180deg, #fffbeb 0%, #fff 100%);
}
.partner-help-breadcrumb {
    font-size: 13px;
    margin-bottom: 16px;
    color: var(--site-muted);
}
.partner-help-breadcrumb a {
    color: var(--site-accent);
    text-decoration: none;
    font-weight: 600;
}
.partner-help-breadcrumb span { margin: 0 6px; }
.partner-help-hero h1 {
    margin: 0 0 14px;
    font-size: clamp(26px, 4vw, 36px);
    font-weight: 800;
    line-height: 1.2;
}
.partner-help-lead {
    margin: 0 0 20px;
    max-width: 720px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--site-muted);
}
.partner-help-lead a {
    color: #166534;
    font-weight: 700;
}
.partner-help-content .home-section-title#ticket {
    color: #14532d;
}
.partner-help-section { padding-bottom: 56px; }
.partner-help-content {
    max-width: 800px;
}
.partner-help-content .home-section-title {
    margin-top: 40px;
    margin-bottom: 16px;
}
.partner-help-content .home-section-title:first-child {
    margin-top: 0;
}
.partner-help-p {
    font-size: 15px;
    line-height: 1.65;
    color: var(--site-text);
    margin: 0 0 14px;
}
.partner-help-subtitle {
    margin: 28px 0 12px;
    font-size: 18px;
    font-weight: 700;
}
.partner-help-cards {
    display: grid;
    gap: 14px;
    margin-bottom: 24px;
}
.partner-help-card {
    padding: 20px 22px;
}
.partner-help-card h3 {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 800;
}
.partner-help-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--site-muted);
}
.partner-help-example {
    padding: 22px 24px;
    margin-bottom: 8px;
    border-color: #fcd34d;
    background: #fffbeb;
}
.partner-help-example h3 { margin: 0 0 10px; font-size: 17px; }
.partner-help-example-sum {
    font-size: 20px;
    margin: 12px 0;
    color: var(--site-accent);
}
.partner-help-muted {
    margin: 0;
    font-size: 13px;
    color: var(--site-muted);
}
.partner-help-levels {
    display: grid;
    gap: 20px;
    margin-bottom: 8px;
}
.partner-help-level {
    padding: 24px 26px;
}
.partner-help-level--gold {
    border-color: #fcd34d;
}
.partner-help-level-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--site-border);
}
.partner-help-level-pct {
    font-size: 28px;
    font-weight: 900;
    color: var(--site-accent);
}
.partner-help-level h3 {
    margin: 16px 0 8px;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--site-muted);
}
.partner-help-level p,
.partner-help-level li {
    font-size: 14px;
    line-height: 1.6;
    color: var(--site-text);
}
.partner-help-level ul {
    margin: 0 0 12px;
    padding-left: 20px;
}
.partner-help-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin-bottom: 8px;
}
.partner-help-table th,
.partner-help-table td {
    padding: 12px 14px;
    text-align: left;
    border: 1px solid var(--site-border);
    vertical-align: top;
}
.partner-help-table th {
    background: var(--site-surface-2);
    font-weight: 700;
}
.partner-help-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 8px;
}
.partner-help-split h3 {
    margin: 0 0 12px;
    font-size: 16px;
}
.partner-help-split ul {
    margin: 0;
    padding-left: 18px;
    font-size: 14px;
    line-height: 1.6;
}
.partner-help-steps { max-width: none; }
.partner-help-footer-cta {
    margin-top: 40px;
    padding: 24px;
    text-align: center;
}
.partner-help-footer-cta p { margin: 0 0 16px; color: var(--site-muted); }
.partner-help-footer-cta a.btn-gold { text-decoration: none; display: inline-block; }

@media (max-width: 640px) {
    .partner-help-split { grid-template-columns: 1fr; }
    .partner-help-table { font-size: 12px; }
}

/* ????-???? ???????? */
.partner-home-card--ticket {
    border: 2px solid #86efac;
    background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
}
.partner-home-card--ticket h2 { color: #14532d; }
.partner-help-card--accent {
    border-color: #86efac;
    background: #f0fdf4;
}
.partner-home-card--course {
    background: linear-gradient(135deg, #fffaf0 0%, #ffffff 100%);
    color: var(--site-text);
    border-color: #fcd34d;
}
.partner-home-card--course p { color: var(--site-muted); }
.partner-home-card--course .btn-gold { box-shadow: 0 10px 24px rgba(180, 118, 0, .16); }

/* ????? ???????? ? ???????? */
.partner-home-card--news .btn-gold { margin-bottom: 4px; }
.partner-news-preview {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    display: grid;
    gap: 8px;
}
.partner-news-preview a {
    display: block;
    text-decoration: none;
    color: var(--site-text);
    font-size: 13px;
    line-height: 1.35;
    padding: 8px 10px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #eef2f7;
}
.partner-news-preview a:hover { border-color: #fcd34d; }
.partner-news-preview time {
    display: block;
    color: var(--site-muted);
    font-size: 11px;
    margin-bottom: 2px;
}
.partner-news-tag {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 4px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 10px;
    font-weight: 700;
    vertical-align: middle;
}
.partner-news-tag--public {
    background: #ecfdf5;
    color: #047857;
}
.partner-news-feed-head h2 {
    margin: 0 0 8px;
    font-size: 24px;
}
.partner-news-feed-head p {
    margin: 0 0 20px;
    color: var(--site-muted);
    font-size: 14px;
}
.partner-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}
.partner-news-card { padding: 0; overflow: hidden; }
.partner-news-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}
.partner-news-card-img {
    aspect-ratio: 16 / 10;
    background: linear-gradient(145deg, #e8ecf2 0%, #d5dbe5 100%);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.partner-news-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.partner-news-card-img.is-empty span {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.2em;
    color: rgba(45, 58, 77, 0.35);
}
.partner-news-card-body { padding: 16px 16px 18px; }
.partner-news-card-body h3 {
    margin: 0 0 8px;
    font-size: 17px;
    line-height: 1.3;
}
.partner-news-card-body p {
    margin: 0 0 12px;
    color: var(--site-muted);
    font-size: 13px;
    line-height: 1.45;
}
.partner-news-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 8px !important;
    font-size: 12px;
    color: var(--site-muted);
}
.partner-news-more {
    font-size: 13px;
    font-weight: 700;
    color: #b45309;
}
.partner-news-article { padding: 24px; max-width: 860px; }
.partner-news-back {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--site-muted);
    text-decoration: none;
    font-size: 14px;
}
.partner-news-back:hover { color: var(--site-text); }
.partner-news-article-head h1 {
    margin: 0;
    font-size: 28px;
    line-height: 1.25;
}
.partner-news-cover {
    display: block;
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    border-radius: 10px;
    margin: 18px 0;
}
.partner-news-prose { margin-top: 8px; }

.partner-course-shell { display: grid; gap: 18px; }
.partner-course-loading p,
.partner-course-empty p { color: var(--site-muted); }
.partner-course-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 26px;
    background: linear-gradient(135deg, #fffaf0 0%, #ffffff 100%);
    color: var(--site-text);
    border: 1px solid #fcd34d;
}
.partner-course-eyebrow {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #fffbeb;
    color: #92400e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.partner-course-hero h2 {
    margin: 0 0 8px;
    font-size: 26px;
    line-height: 1.2;
}
.partner-course-hero p {
    max-width: 680px;
    margin: 0;
    color: var(--site-muted);
    line-height: 1.55;
}
.partner-course-switch { margin-top: 10px !important; }
.partner-course-switch a { font-weight: 700; color: var(--site-accent, #c9970c); }
.partner-course-hub {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}
.partner-course-hub-card {
    text-decoration: none;
    color: inherit;
    display: block;
    padding: 22px;
}
.partner-course-hub-card h3 { margin: 8px 0 10px; font-size: 22px; }
.partner-course-hub-card p { color: var(--site-muted); line-height: 1.5; margin: 0 0 14px; }
.partner-course-hub-card strong { color: var(--site-accent, #c9970c); }
.partner-course-progress {
    min-width: 180px;
    padding: 16px;
    border: 1px solid #fcd34d;
    border-radius: 14px;
    background: #fff;
}
.partner-course-progress strong {
    display: block;
    font-size: 28px;
    line-height: 1;
}
.partner-course-progress span {
    display: block;
    margin: 6px 0 12px;
    font-size: 12px;
    color: var(--site-muted);
}
.partner-course-progress div {
    overflow: hidden;
    height: 8px;
    border-radius: 999px;
    background: #f3f4f6;
}
.partner-course-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #f59e0b;
}
.partner-course-layout {
    display: grid;
    grid-template-columns: minmax(250px, 310px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.partner-course-sidebar {
    position: sticky;
    top: 16px;
    display: grid;
    gap: 16px;
    padding: 16px;
}
.partner-course-search input {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--site-border);
    border-radius: 10px;
    font: inherit;
}
.partner-course-lesson-list { display: grid; gap: 8px; }
.partner-course-lesson-btn {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    width: 100%;
    padding: 12px;
    border: 1px solid var(--site-border);
    border-radius: 12px;
    background: #fff;
    color: var(--site-text);
    text-align: left;
    cursor: pointer;
}
.partner-course-lesson-btn:hover,
.partner-course-lesson-btn.is-active {
    border-color: #fcd34d;
    background: #fffbeb;
}
.partner-course-lesson-btn span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #fffbeb;
    color: #92400e;
    font-size: 12px;
    font-weight: 800;
}
.partner-course-lesson-btn strong {
    font-size: 13px;
    line-height: 1.35;
}
.partner-course-lesson-btn.is-done strong:after {
    content: " ?";
    color: #059669;
}
.partner-course-anchors {
    display: grid;
    gap: 8px;
    padding-top: 14px;
    border-top: 1px solid var(--site-border);
}
.partner-course-anchors span {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--site-muted);
}
.partner-course-anchors a {
    color: var(--site-muted);
    font-size: 13px;
    line-height: 1.35;
    text-decoration: none;
}
.partner-course-anchors a:hover { color: var(--site-accent); }
.partner-course-no-results {
    margin: 0;
    color: var(--site-muted);
    font-size: 13px;
}
.partner-course-lesson {
    padding: 28px;
}
.partner-course-lesson-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
    padding-top: 4px;
    padding-bottom: 10px;
}
.partner-course-module {
    padding: 5px 10px;
    border-radius: 999px;
    background: #fffbeb;
    color: #92400e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
}
.partner-course-complete {
    border: 1px solid #fcd34d;
    border-radius: 9px;
    padding: 9px 13px;
    background: #fffbeb;
    color: #92400e;
    font-weight: 800;
    cursor: pointer;
}
.partner-course-complete.is-done {
    border-color: #a7f3d0;
    background: #ecfdf5;
    color: #065f46;
}
.partner-course-content {
    color: var(--site-text);
    font-size: 15px;
    line-height: 1.72;
}
.partner-course-content h1 {
    margin: 0 0 18px;
    font-size: 30px;
    line-height: 1.16;
}
.partner-course-content h2 {
    margin: 32px 0 12px;
    font-size: 22px;
    line-height: 1.25;
}
.partner-course-content h3 {
    margin: 24px 0 10px;
    font-size: 17px;
}
.partner-course-content p { margin: 0 0 14px; }
.partner-course-content ul,
.partner-course-content ol {
    margin: 0 0 16px;
    padding-left: 22px;
}
.partner-course-content li { margin-bottom: 8px; }
.partner-course-content code {
    padding: 2px 5px;
    border-radius: 5px;
    background: #f3f4f6;
    font-size: .92em;
}
.partner-course-callout {
    margin: 16px 0;
    padding: 14px 16px;
    border-left: 4px solid #d97706;
    border-radius: 10px;
    background: #f5f7fa;
}
.partner-course-callout--warning {
    border-left-color: #b8860b;
    background: #fffbeb;
}
.partner-course-callout--danger {
    border-left-color: #c0392b;
    background: #fef2f2;
}
.partner-course-template {
    margin: 18px 0;
    border: 1px solid var(--site-border);
    border-radius: 14px;
    background: #0f172a;
    color: #e5e7eb;
    overflow: hidden;
}
.partner-course-template-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: 12px;
    font-weight: 800;
    color: #fbbf24;
}
.partner-course-template button {
    border: 0;
    border-radius: 8px;
    padding: 7px 10px;
    background: #f59e0b;
    color: #111827;
    font-weight: 800;
    cursor: pointer;
}
.partner-course-template pre {
    overflow: auto;
    margin: 0;
    padding: 16px;
    white-space: pre-wrap;
}
.partner-course-template code {
    padding: 0;
    background: transparent;
    color: inherit;
    font-size: 13px;
}
.partner-course-check {
    list-style: none;
    margin-left: -22px;
}
.partner-course-check label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    cursor: pointer;
}
.partner-course-check input { margin-top: 5px; }
.partner-course-check-summary {
    margin-top: 24px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #ecfdf5;
    color: #065f46;
    font-size: 13px;
    font-weight: 800;
}
.partner-course-pager {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid var(--site-border);
}
.partner-course-pager .btn-gold,
.partner-course-pager .btn-outline {
    border: 0;
    text-decoration: none;
    cursor: pointer;
}

.partner-auth-benefit {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid #fcd34d;
    border-radius: 12px;
    background: #fffbeb;
    color: #92400e;
    font-size: 13px;
    line-height: 1.55;
}
.partner-auth-benefit strong {
    display: block;
    margin-bottom: 4px;
    color: #111827;
}

/* Пошаговая регистрация — удобно с телефона */
body.partner-reg-page {
    align-items: stretch;
    justify-content: flex-start;
    padding: 0;
    background: #f6f7f9;
}
.partner-reg {
    width: min(480px, 100%);
    margin: 0 auto;
    min-height: 100vh;
    min-height: 100dvh;
    padding: calc(16px + env(safe-area-inset-top, 0px)) 18px calc(24px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}
.partner-reg-brand {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #111;
    text-decoration: none;
    margin-bottom: 18px;
}
.partner-reg-brand span { color: var(--site-accent, #b8860b); }
.partner-reg-title {
    margin: 0 0 8px;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
}
.partner-reg-lead,
.partner-reg-invite {
    margin: 0 0 18px;
    color: #6b7280;
    font-size: 15px;
    line-height: 1.45;
}
.partner-reg-invite {
    padding: 12px 14px;
    border-radius: 12px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
}
.partner-reg-progress {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    margin-bottom: 8px;
}
.partner-reg-progress span {
    height: 6px;
    border-radius: 999px;
    background: #e5e7eb;
}
.partner-reg-progress span.is-on { background: var(--site-accent, #d4af37); }
.partner-reg-step-num {
    margin: 0 0 16px;
    font-size: 13px;
    color: #9ca3af;
    font-weight: 700;
}
.partner-reg-form { flex: 1; display: flex; flex-direction: column; }
.partner-reg-pane { display: none; }
.partner-reg-pane.is-active { display: block; }
.partner-reg-pane h2 {
    margin: 0 0 10px;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.25;
}
.partner-reg-help {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.5;
    color: #4b5563;
}
.partner-reg-help em {
    font-style: normal;
    font-weight: 700;
    color: #111;
    background: #fff7ed;
    padding: 0 4px;
    border-radius: 4px;
}
.partner-reg-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #111;
    margin: 0 0 6px;
}
.partner-reg-label span {
    font-weight: 600;
    color: #9ca3af;
}
.partner-reg-input {
    width: 100%;
    box-sizing: border-box;
    min-height: 52px;
    padding: 14px 14px;
    border: 1px solid #d1d5db;
    border-radius: 14px;
    font-size: 16px;
    font-family: inherit;
    margin: 0 0 14px;
    background: #fff;
}
.partner-reg-input:focus {
    outline: 3px solid rgba(212, 175, 55, 0.35);
    border-color: var(--site-accent, #d4af37);
}
.partner-reg-hint {
    margin: -6px 0 12px;
    font-size: 13px;
    color: #9ca3af;
    line-height: 1.4;
}
.partner-reg-check,
.partner-login-remember {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 14px 0 16px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--site-text, #1a1d26);
    cursor: pointer;
    user-select: none;
}
.partner-reg-check input,
.partner-login-remember input {
    margin: 3px 0 0;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    accent-color: var(--site-accent, #c9970c);
}
.partner-login-remember {
    margin: 4px 0 16px;
    font-size: 13px;
}
.partner-reg-field-err {
    min-height: 1.2em;
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: #b91c1c;
}
.partner-reg-passwrap {
    position: relative;
}
.partner-reg-passwrap .partner-reg-input { padding-right: 92px; }
.partner-reg-eye {
    position: absolute;
    right: 8px;
    top: 8px;
    height: 36px;
    border: 0;
    background: #f3f4f6;
    border-radius: 10px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 700;
    color: #4b5563;
    font-family: inherit;
}
.partner-reg-nav {
    display: flex;
    gap: 10px;
    margin-top: auto;
    padding-top: 18px;
    position: sticky;
    bottom: 0;
    background: linear-gradient(180deg, rgba(246,247,249,0), #f6f7f9 18px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
}
.partner-reg-nav [hidden] {
    display: none !important;
}
.partner-reg-back,
.partner-reg-next {
    min-height: 52px;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 800;
    font-family: inherit;
}
.partner-reg-back {
    flex: 0 0 32%;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
}
.partner-reg-next {
    flex: 1;
    width: auto;
    padding: 0 16px;
    display: inline-block;
}
.partner-reg .partner-auth-links { margin-top: 16px; }
@media (min-width: 720px) {
    body.partner-reg-page {
        align-items: center;
        padding: 32px 16px;
        background: var(--site-bg, #f3f4f6);
    }
    .partner-reg {
        min-height: auto;
        background: #fff;
        border: 1px solid var(--site-border, #e5e7eb);
        border-radius: 18px;
        padding: 28px 28px 22px;
        box-shadow: var(--site-shadow, 0 4px 16px rgba(16, 24, 40, 0.06));
    }
    .partner-reg-nav {
        position: static;
        background: transparent;
    }
}


@media (max-width: 900px) {
    .partner-course-hero { align-items: stretch; flex-direction: column; }
    .partner-course-progress { min-width: 0; }
    .partner-course-layout { grid-template-columns: 1fr; }
    .partner-course-sidebar { position: static; }
}

@media (max-width: 640px) {
    .partner-course-hero,
    .partner-course-lesson { padding: 18px; }
    .partner-course-hero h2 { font-size: 22px; }
    .partner-course-content h1 { font-size: 24px; }
    .partner-course-content h2 { font-size: 19px; }
    .partner-course-lesson-top,
    .partner-course-pager { flex-direction: column; align-items: stretch; }
    .partner-course-pager .btn-gold,
    .partner-course-pager .btn-outline { width: 100%; }
}

/* ??? ??????? ????????????? ??????????? ????????? (partner_ref.php) ??? */
.ref-landing-header-inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 16px;
}
.ref-landing-header-tag {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--site-muted);
    text-align: center;
}
.ref-landing-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.ref-landing-header-btn {
    text-decoration: none;
    padding: 10px 18px !important;
    font-size: 13px !important;
    white-space: nowrap;
}

.ref-landing-hero {
    position: relative;
    overflow: hidden;
    padding: 56px 0 64px;
    border-bottom: 1px solid var(--site-border);
}
.ref-landing-hero-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(128deg, #fffbeb 0%, #ffffff 32%, #f4f6f9 68%, #eef1f5 100%),
        radial-gradient(ellipse 75% 60% at 92% 8%, rgba(201, 151, 12, 0.14), transparent 58%),
        radial-gradient(ellipse 45% 40% at 8% 92%, rgba(45, 58, 77, 0.06), transparent 55%);
    z-index: 0;
}
.ref-landing-hero > .container {
    position: relative;
    z-index: 1;
}
.ref-landing-hero-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 40px;
    align-items: center;
}
.ref-landing-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--site-muted);
    margin: 0 0 14px;
}
.ref-landing-hero h1 {
    margin: 0 0 18px;
    font-size: clamp(30px, 4.2vw, 46px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.03em;
}
.ref-landing-accent {
    color: var(--site-accent);
}
.ref-landing-lead {
    margin: 0 0 22px;
    font-size: clamp(15px, 2vw, 18px);
    line-height: 1.6;
    color: var(--site-muted);
    max-width: 620px;
}
.ref-landing-hero-stats {
    list-style: none;
    margin: 0 0 26px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.ref-landing-hero-stats li {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--site-border);
    border-radius: 12px;
    padding: 14px 12px;
    text-align: center;
    box-shadow: var(--site-shadow);
}
.ref-landing-hero-stats strong {
    display: block;
    font-size: 26px;
    font-weight: 900;
    color: var(--site-accent);
    line-height: 1.1;
    margin-bottom: 4px;
}
.ref-landing-hero-stats span {
    font-size: 11px;
    font-weight: 600;
    color: var(--site-muted);
    line-height: 1.35;
}
.ref-landing-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}
.ref-landing-cta .btn-gold,
.ref-landing-cta .btn-outline {
    text-decoration: none;
}
.ref-landing-note {
    margin: 0;
    font-size: 12px;
    color: var(--site-muted);
}

.ref-landing-offer-card {
    padding: 26px 24px;
    border-color: #fcd34d;
    box-shadow: 0 12px 40px rgba(201, 151, 12, 0.12);
}
.ref-landing-offer-kicker {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--site-muted);
}
.ref-landing-offer-product {
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--site-text);
}
.ref-landing-offer-sum {
    margin: 0;
    font-size: clamp(28px, 4vw, 36px);
    font-weight: 900;
    color: var(--site-text);
    letter-spacing: -0.02em;
}
.ref-landing-offer-caption {
    margin: 0 0 18px;
    font-size: 12px;
    color: var(--site-muted);
    padding-bottom: 16px;
    border-bottom: 1px dashed var(--site-border);
}
.ref-landing-offer-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    font-size: 13px;
    padding: 8px 0;
    border-bottom: 1px solid var(--site-surface-2);
}
.ref-landing-offer-row span {
    color: var(--site-muted);
    line-height: 1.4;
}
.ref-landing-offer-row strong {
    color: var(--site-text);
    font-weight: 800;
    white-space: nowrap;
}
.ref-landing-offer-row--main strong {
    color: var(--site-accent);
    font-size: 18px;
}
.ref-landing-offer-row--cap {
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px dashed var(--site-border);
    border-bottom: none;
}
.ref-landing-offer-row--cap strong {
    color: var(--site-text);
    font-size: 16px;
}
.ref-landing-offer-foot {
    margin: 14px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--site-muted);
}
.ref-landing-offer-foot strong {
    color: var(--site-accent);
}

.ref-landing-section {
    padding-top: 56px;
    padding-bottom: 56px;
}
.ref-landing-section--alt {
    background: var(--site-surface-2, #f6f7f9);
}

.ref-landing-levels {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}
.ref-landing-level {
    padding: 24px 20px;
    position: relative;
    overflow: hidden;
}
.ref-landing-level--accent {
    border-color: #fcd34d;
    box-shadow: 0 10px 32px rgba(201, 151, 12, 0.1);
}
.ref-landing-level-num {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--site-accent);
    margin-bottom: 10px;
}
.ref-landing-level h3 {
    margin: 0 0 10px;
    font-size: 17px;
    font-weight: 800;
}
.ref-landing-level-pct {
    margin: 0 0 10px;
    font-size: 38px;
    font-weight: 900;
    color: var(--site-accent);
    line-height: 1;
}
.ref-landing-level-desc {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: var(--site-muted);
}

.ref-landing-tree {
    padding: 28px 24px 24px;
    text-align: center;
}
.ref-landing-tree-caption {
    margin: 0 0 20px;
    font-size: 14px;
    color: var(--site-muted);
    line-height: 1.5;
}
.ref-landing-tree-node--seller {
    background: #fffbeb;
    border-color: #fcd34d;
}
.ref-landing-tree-node {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 16px;
    background: var(--site-surface-2);
    border: 1px solid var(--site-border);
    border-radius: 10px;
    min-width: 140px;
}
.ref-landing-tree-node--you {
    background: #fffbeb;
    border-color: #fcd34d;
}
.ref-landing-tree-node--small {
    min-width: 120px;
    padding: 10px 12px;
}
.ref-landing-tree-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--site-text);
}
.ref-landing-tree-value {
    font-size: 11px;
    font-weight: 600;
    color: var(--site-muted);
    line-height: 1.35;
}
.ref-landing-tree-branch {
    width: 2px;
    height: 20px;
    background: linear-gradient(180deg, #fcd34d, var(--site-border));
    margin: 8px auto;
}
.ref-landing-tree-branch--l2 {
    height: 16px;
}
.ref-landing-tree-row {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.ref-landing-tree-row--l2 {
    gap: 12px;
}

.ref-landing-calc-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 28px;
    align-items: start;
    margin-bottom: 24px;
}
.ref-landing-calc-lead {
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 1.65;
    color: var(--site-muted);
}
.ref-landing-calc-slider-wrap {
    padding: 18px 20px;
    background: var(--site-surface);
    border: 1px solid var(--site-border);
    border-radius: 12px;
}
.ref-landing-calc-slider-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--site-muted);
    margin-bottom: 10px;
}
.ref-landing-calc-range {
    width: 100%;
    accent-color: var(--site-accent);
}
.ref-landing-calc-range-value {
    margin: 10px 0 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--site-accent);
}

.ref-landing-calc-table-wrap {
    padding: 0;
    overflow: hidden;
}
.ref-landing-calc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.ref-landing-calc-table th,
.ref-landing-calc-table td {
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid var(--site-border);
    vertical-align: top;
}
.ref-landing-calc-table th {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--site-muted);
    background: var(--site-surface-2);
}
.ref-landing-calc-table td small {
    color: var(--site-muted);
    font-size: 11px;
}
.ref-landing-calc-highlight {
    font-weight: 800;
    color: var(--site-accent);
}
.ref-landing-calc-total-row td {
    background: var(--site-surface-2);
    border-bottom: none;
}
.ref-landing-calc-total-row strong {
    color: var(--site-text);
}

.ref-landing-scenario {
    padding: 28px 24px;
}
.ref-landing-scenario-head h3 {
    margin: 0 0 6px;
    font-size: 20px;
    font-weight: 800;
}
.ref-landing-scenario-head p {
    margin: 0 0 20px;
    font-size: 14px;
    color: var(--site-muted);
}
.ref-landing-scenario-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}
.ref-landing-scenario-item {
    padding: 16px 14px;
    background: var(--site-surface-2);
    border: 1px solid var(--site-border);
    border-radius: 12px;
    text-align: center;
}
.ref-landing-scenario-item--total {
    background: #fffbeb;
    border-color: #fcd34d;
}
.ref-landing-scenario-count {
    display: block;
    font-size: 28px;
    font-weight: 900;
    color: var(--site-accent);
    line-height: 1;
    margin-bottom: 4px;
}
.ref-landing-scenario-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--site-muted);
    line-height: 1.35;
    margin-bottom: 8px;
}
.ref-landing-scenario-item strong {
    font-size: 16px;
    font-weight: 800;
    color: var(--site-text);
}
.ref-landing-scenario-total {
    font-size: 22px !important;
    color: var(--site-accent) !important;
}
.ref-landing-scenario-note {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: var(--site-muted);
}

.ref-landing-faq {
    display: grid;
    gap: 12px;
    max-width: 820px;
    margin: 0 auto;
}
.ref-landing-faq-item {
    padding: 0;
    overflow: hidden;
}
.ref-landing-faq-item summary {
    padding: 18px 20px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}
.ref-landing-faq-item summary::-webkit-details-marker {
    display: none;
}
.ref-landing-faq-item p {
    margin: 0;
    padding: 0 20px 18px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--site-muted);
}

.ref-landing-bottom-cta {
    padding: 0 0 64px;
}
.ref-landing-bottom-box {
    text-align: center;
    padding: 40px 32px;
    border-color: #fcd34d;
    background: linear-gradient(135deg, #fff 0%, #fffbeb 100%);
}
.ref-landing-bottom-box h2 {
    margin: 0 0 10px;
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 800;
}
.ref-landing-bottom-box > p {
    margin: 0 0 22px;
    color: var(--site-muted);
    font-size: 15px;
}
.ref-landing-bottom-box .ref-landing-cta {
    justify-content: center;
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .ref-landing-header-inner {
        grid-template-columns: 1fr auto;
    }
    .ref-landing-header-tag {
        display: none;
    }
    .ref-landing-hero-grid,
    .ref-landing-calc-grid {
        grid-template-columns: 1fr;
    }
    .ref-landing-hero-stats {
        grid-template-columns: 1fr;
    }
    .ref-landing-levels,
    .ref-landing-scenario-grid {
        grid-template-columns: 1fr;
    }
    .ref-landing-scenario-item--total {
        grid-column: auto;
    }
}

@media (max-width: 600px) {
    .ref-landing-header-inner {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .ref-landing-header-actions {
        justify-content: space-between;
        width: 100%;
    }
    .ref-landing-hero {
        padding: 32px 0 40px;
    }
    .ref-landing-calc-table th,
    .ref-landing-calc-table td {
        padding: 10px 12px;
        font-size: 13px;
    }
}

/* ?????? ???? 5�5 */
.ref-network-layout {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 24px;
    align-items: start;
}
.ref-network-visual {
    padding: 24px 20px 20px;
    overflow-x: auto;
}
.ref-network-you {
    display: flex;
    justify-content: center;
    margin-bottom: 4px;
}
.ref-network-connector--down {
    width: 2px;
    height: 20px;
    margin: 0 auto 8px;
    background: linear-gradient(180deg, #fcd34d, var(--site-border));
}
.ref-network-l1 {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    min-width: 520px;
}
.ref-network-branch {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.ref-network-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-radius: 10px;
    border: 1px solid var(--site-border);
    background: var(--site-surface-2);
    padding: 8px 6px;
    width: 100%;
    box-sizing: border-box;
}
.ref-network-node--you {
    background: #fffbeb;
    border-color: #fcd34d;
    padding: 12px 20px;
    min-width: 120px;
}
.ref-network-node--l1 {
    background: #fff;
    border-color: #d1d9e6;
    font-size: 11px;
}
.ref-network-node--l2 {
    padding: 6px 4px;
    min-width: 0;
    flex: 1;
    background: #f8f9fb;
}
.ref-network-node-title {
    font-size: 12px;
    font-weight: 800;
    color: var(--site-text);
    line-height: 1.2;
}
.ref-network-node-meta {
    font-size: 10px;
    font-weight: 600;
    color: var(--site-muted);
    margin-top: 2px;
    line-height: 1.25;
}
.ref-network-node-earn {
    display: block;
    font-size: 13px;
    font-weight: 900;
    color: var(--site-accent);
    margin-top: 4px;
    line-height: 1.1;
}
.ref-network-node--l1 .ref-network-node-earn {
    font-size: 12px;
}
.ref-network-l2-earn {
    display: block;
    font-size: 8px;
    font-weight: 800;
    color: var(--site-muted);
    margin-top: 3px;
    line-height: 1.1;
    white-space: nowrap;
}
.ref-network-dot {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--site-accent);
    opacity: 0.75;
}
.ref-network-connector--branch {
    width: 2px;
    height: 12px;
    background: var(--site-border);
}
.ref-network-l2-row {
    display: flex;
    gap: 4px;
    width: 100%;
    justify-content: center;
}
.ref-network-branch-caption {
    font-size: 9px;
    font-weight: 700;
    color: var(--site-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.ref-network-visual-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin: 18px 0 0;
    padding-top: 14px;
    border-top: 1px dashed var(--site-border);
    font-size: 11px;
    font-weight: 600;
    color: var(--site-muted);
}
.ref-network-visual-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.ref-network-legend-swatch {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 4px;
    border: 1px solid var(--site-border);
}
.ref-network-legend-swatch--you { background: #fffbeb; border-color: #fcd34d; }
.ref-network-legend-swatch--l1 { background: #fff; }
.ref-network-legend-swatch--l2 { background: #f8f9fb; }

.ref-network-stats {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ref-network-stat {
    padding: 16px 18px;
}
.ref-network-stat-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--site-muted);
    margin-bottom: 6px;
}
.ref-network-stat-value {
    display: block;
    font-size: 24px;
    font-weight: 900;
    color: var(--site-text);
    line-height: 1.1;
}
.ref-network-stat-value--total {
    font-size: 30px;
    color: var(--site-accent);
}
.ref-network-stat-hint {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: var(--site-muted);
    line-height: 1.4;
}
.ref-network-stat--own { border-left: 4px solid var(--site-accent); }
.ref-network-stat--l1 { border-left: 4px solid #60a5fa; }
.ref-network-stat--l2 { border-left: 4px solid #a78bfa; }
.ref-network-stat--total {
    background: linear-gradient(135deg, #fff 0%, #fffbeb 100%);
    border-color: #fcd34d;
}

.ref-network-bar {
    padding: 16px 18px;
}
.ref-network-bar-row {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 10px;
    align-items: center;
    font-size: 11px;
    font-weight: 600;
    color: var(--site-muted);
    margin-bottom: 10px;
}
.ref-network-bar-row:last-child { margin-bottom: 0; }
.ref-network-bar-track {
    height: 10px;
    background: var(--site-surface-2);
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid var(--site-border);
}
.ref-network-bar-fill {
    height: 100%;
    border-radius: 999px;
    min-width: 2px;
}
.ref-network-bar-fill--own { background: var(--site-accent); }
.ref-network-bar-fill--l1 { background: #60a5fa; }
.ref-network-bar-fill--l2 { background: #a78bfa; }

.ref-network-table-wrap {
    padding: 0;
    overflow: hidden;
}
.ref-network-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.ref-network-table th,
.ref-network-table td {
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid var(--site-border);
    vertical-align: top;
}
.ref-network-table th {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--site-muted);
    background: var(--site-surface-2);
}
.ref-network-table td small {
    display: block;
    font-size: 10px;
    color: var(--site-muted);
    font-weight: 600;
    margin-top: 2px;
}
.ref-network-table-row--you {
    background: #fffbeb;
}
.ref-network-table-row--you td {
    border-bottom-color: #fcd34d;
}
.ref-network-table-row--total td {
    background: var(--site-surface-2);
    border-bottom: none;
    font-size: 14px;
}
.ref-network-bar-title {
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 700;
    color: var(--site-text);
}
.ref-network-footnote {
    margin: 0;
    font-size: 11px;
    line-height: 1.55;
    color: var(--site-muted);
    padding: 0 4px;
}

@media (max-width: 1100px) {
    .ref-network-layout {
        grid-template-columns: 1fr;
    }
    .ref-network-l1 {
        min-width: 0;
    }
}

@media (max-width: 700px) {
    .ref-network-l1 {
        grid-template-columns: repeat(2, 1fr);
        min-width: 0;
    }
    .ref-network-branch:nth-child(5) {
        grid-column: 1 / -1;
        max-width: 50%;
        margin: 0 auto;
    }
}

/* ?? ????????? ?????? ??????? ?? */
/* ?? ????????? ?????? ???????? ?? */
.partner-home-card--stories {
    background: linear-gradient(145deg, #111827 0%, #1f2937 55%, #3b2f14 100%);
    color: #fff;
    border-color: #4b5563;
}
.partner-home-card--stories p { color: rgba(255,255,255,.78); }

.partner-stories-head h2 { margin: 0 0 8px; font-size: 24px; }
.partner-stories-head p { margin: 0 0 22px; color: var(--site-muted); font-size: 14px; max-width: 720px; }

.partner-stories-layout {
    display: grid;
    grid-template-columns: minmax(220px, 300px) minmax(260px, 1fr) minmax(250px, 320px);
    gap: 16px;
    align-items: start;
}
.partner-stories-picker,
.partner-stories-editor { padding: 16px; }
.partner-stories-editor-title { margin: 0 0 12px; font-size: 16px; }
.partner-stories-subhead {
    margin: 18px 0 8px;
    font-size: 13px;
    font-weight: 800;
    color: var(--site-text);
}
.partner-stories-editor .partner-label { margin-top: 10px; }
.partner-stories-editor .partner-label:first-of-type { margin-top: 0; }
.partner-stories-tpl-hint,
.partner-stories-pos-hint {
    margin: 8px 0 0;
    font-size: 12px;
    color: var(--site-muted);
    line-height: 1.4;
}
.partner-stories-fonts input[type="range"] {
    width: 100%;
    margin: 4px 0 8px;
}
.partner-stories-pos { margin-top: 4px; }

.partner-stories-templates {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.partner-stories-tpl {
    display: grid;
    gap: 6px;
    justify-items: center;
    padding: 10px 6px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    color: var(--site-text);
}
.partner-stories-tpl.is-active {
    border-color: #c9970c;
    box-shadow: 0 0 0 2px rgba(201,151,12,.2);
}
.partner-stories-tpl-swatch {
    width: 100%;
    height: 28px;
    border-radius: 8px;
}
.partner-stories-tpl-swatch--showcase {
    background: linear-gradient(180deg, #111827 20%, #f0c040 20%, #f0c040 62%, #1f2937 62%);
}
.partner-stories-tpl-swatch--magazine {
    background: linear-gradient(180deg, #fff 35%, #cbd5e1 35%, #cbd5e1 72%, #111827 72%);
    border: 1px solid #dbe3ee;
}
.partner-stories-tpl-swatch--collage {
    background:
        linear-gradient(180deg, #334155 48%, transparent 48%),
        linear-gradient(90deg, #64748b 49%, #fff 49%, #fff 51%, #94a3b8 51%);
}
.partner-stories-tpl-swatch--gold {
    background: linear-gradient(180deg, #333 40%, #f0c040 40%, #f0c040 70%, #111 70%);
}
.partner-stories-tpl-swatch--noir {
    background: linear-gradient(180deg, #111 25%, #555 25%, #555 55%, #111 55%);
}
.partner-stories-tpl-swatch--clean {
    background: linear-gradient(180deg, #94a3b8 55%, #fff 55%);
    border: 1px solid #dbe3ee;
}
.partner-stories-fitbar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    padding: 4px;
    background: #eef2f7;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    width: 100%;
    max-width: 320px;
    box-sizing: border-box;
}
.partner-stories-editor .partner-stories-fitbar {
    max-width: none;
    margin-bottom: 8px;
}
.partner-stories-fitbtn {
    appearance: none;
    border: 0;
    background: transparent;
    border-radius: 7px;
    padding: 7px 8px;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    color: #4b5563;
    cursor: pointer;
}
.partner-stories-fitbtn.is-active {
    background: #fff;
    color: #111827;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1);
}
.partner-stories-photo-box input[type="range"] {
    width: 100%;
    margin: 4px 0 8px;
}
.partner-stories-xy-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.partner-stories-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    font-size: 13px;
    color: var(--site-muted);
    cursor: pointer;
}

.partner-stories-list {
    margin-top: 12px;
    max-height: min(70vh, 680px);
    overflow: auto;
    display: grid;
    gap: 8px;
}
.partner-stories-list-empty {
    margin: 12px 0 0;
    color: var(--site-muted);
    font-size: 13px;
}
.partner-stories-item {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 10px;
    align-items: center;
    width: 100%;
    text-align: left;
    border: 1px solid #e8edf4;
    background: #fff;
    border-radius: 12px;
    padding: 7px;
    cursor: pointer;
    font: inherit;
    color: inherit;
}
.partner-stories-item:hover { border-color: #f0c040; }
.partner-stories-item.is-active {
    border-color: #c9970c;
    box-shadow: 0 0 0 2px rgba(201, 151, 12, .2);
}
.partner-stories-item-thumb {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    background: #e8ecf2 center/cover no-repeat;
}
.partner-stories-item-body { min-width: 0; }
.partner-stories-item-body strong {
    display: block;
    font-size: 12px;
    line-height: 1.3;
    margin-bottom: 3px;
}
.partner-stories-item-body span {
    display: block;
    font-size: 11px;
    color: var(--site-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.partner-stories-empty { padding: 36px 24px; text-align: center; }
.partner-stories-empty h3 { margin: 0 0 8px; }
.partner-stories-empty p { margin: 0; color: var(--site-muted); }

.partner-stories-workspace {
    display: grid;
    justify-items: center;
    gap: 12px;
    min-width: 0;
    width: 100%;
}
.partner-stories-phone {
    position: relative;
    width: min(100%, 270px);
    aspect-ratio: 9 / 16;
    border-radius: 26px;
    overflow: hidden;
    background: #0b0d12;
    border: 3px solid #1f2937;
    box-shadow: 0 22px 44px rgba(15, 23, 42, .28);
}
.partner-stories-scale {
    position: absolute;
    left: 0;
    top: 0;
    width: 1080px;
    height: 1920px;
    transform-origin: top left;
    transform: scale(0.25);
}
.partner-stories-canvas {
    width: 1080px;
    height: 1920px;
    overflow: hidden;
    position: relative;
}
.partner-stories-dots {
    position: absolute;
    left: 14px;
    right: 14px;
    top: 14px;
    display: flex;
    gap: 4px;
    z-index: 5;
    pointer-events: none;
}
.partner-stories-dot {
    flex: 1;
    height: 3px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.28);
    padding: 0;
    pointer-events: auto;
    cursor: pointer;
}
.partner-stories-dot.is-active { background: #f8e7b0; }

.partner-stories-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}
.partner-stories-controls .btn-outline {
    min-width: 44px;
    padding-left: 12px;
    padding-right: 12px;
}
.partner-stories-counter {
    font-size: 13px;
    font-weight: 700;
    color: var(--site-muted);
    min-width: 52px;
    text-align: center;
}
.partner-stories-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
.partner-stories-hint {
    margin: 0;
    font-size: 12px;
    color: var(--site-muted);
    text-align: center;
}

/* ???? ?????? 1080?1920 */
.ps-slide {
    position: relative;
    width: 1080px;
    height: 1920px;
    box-sizing: border-box;
    overflow: hidden;
    font-family: Montserrat, system-ui, sans-serif;
    color: #fff;
    --ps-fs-title: 1;
    --ps-fs-price: 1;
    --ps-fs-brand: 1;
}
.ps-bg {
    position: absolute;
    inset: 0;
    background: #1a1d26 center/cover no-repeat;
}
.ps-bg--empty {
    background: linear-gradient(160deg, #1f2937, #111827 60%, #3b2f14);
}
.ps-bg--blur {
    filter: blur(18px);
    transform: scale(1.08);
    opacity: .55;
}
.ps-bg--blur-deep {
    filter: blur(36px) saturate(1.2);
    transform: scale(1.15);
    opacity: .58;
}
.ps-bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: #0d1118;
}
.ps-bg-img--top {
    height: 68%;
}
.ps-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8,10,14,.42) 0%, rgba(8,10,14,.12) 32%, rgba(8,10,14,.28) 58%, rgba(8,10,14,.92) 100%);
}
.ps-shade--soft {
    background: linear-gradient(180deg, rgba(8,10,14,.18) 0%, rgba(8,10,14,.62) 100%);
}
.ps-shade--cinema {
    background: linear-gradient(180deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.35) 35%, rgba(0,0,0,.45) 70%, rgba(0,0,0,.92) 100%);
}
.ps-shade--card {
    background: linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.05) 45%, rgba(0,0,0,.55) 100%);
}
.ps-shade--showcase {
    background: linear-gradient(180deg, rgba(9,13,22,.72) 0%, rgba(9,13,22,.35) 40%, rgba(9,13,22,.75) 75%, rgba(9,13,22,.96) 100%);
}

/* Универсальная сцена фото с размытой подложкой (без обрезки краёв техники) */
.ps-photo-stage {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 32px;
    background: #0f141e;
}
.ps-photo-ambient {
    position: absolute;
    inset: -24px;
    background: center / cover no-repeat;
    filter: blur(26px) brightness(0.68) saturate(1.18);
    transform: scale(1.1);
}
.ps-photo-main {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    filter: drop-shadow(0 16px 34px rgba(0, 0, 0, 0.38));
}
.ps-photo-stage.is-cover .ps-photo-main {
    filter: none;
}
.ps-photo-stage--showcase {
    height: 840px;
    border: 2px solid rgba(248, 231, 176, 0.35);
    box-shadow: 0 28px 64px rgba(0, 0, 0, 0.5);
}
.ps-photo-stage--magazine {
    height: 740px;
    border-radius: 28px;
    background: #eef2f6;
    border: 2px solid #e2e8f0;
    box-shadow: 0 20px 44px rgba(15, 23, 42, 0.1);
}
.ps-photo-stage--magazine .ps-photo-ambient {
    filter: blur(28px) brightness(0.96) saturate(1.05);
    opacity: 0.55;
}
.ps-photo-stage--collage-main {
    height: 680px;
    border-radius: 26px;
    border: 2px solid rgba(255, 255, 255, 0.2);
}
.ps-photo-stage--cinema {
    height: 100%;
    border-radius: 0;
}
.ps-photo-stage--details {
    height: 100%;
    border-radius: 28px;
}
.ps-photo-stage--gallery {
    height: 1040px;
    border: 2px solid rgba(248, 231, 176, 0.32);
    box-shadow: 0 28px 64px rgba(0, 0, 0, 0.5);
}

.ps-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
}
.ps-brand--glass {
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
}

/* Мини-спецификации (пилюли на обложке) */
.ps-mini-specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0;
}
.ps-mini-spec {
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    min-width: 0;
}
.ps-mini-spec-k {
    display: block;
    font-size: 17px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ps-mini-spec-v {
    display: block;
    margin-top: 4px;
    font-size: 21px;
    font-weight: 800;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Шаблон «Витрина» */
.ps-layout-showcase {
    background: #0b0e14;
}
.ps-showcase-card {
    padding: 36px 38px;
    border-radius: 32px;
    background: rgba(15, 20, 30, 0.86);
    border: 1px solid rgba(248, 231, 176, 0.24);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(14px);
    box-sizing: border-box;
}
.ps-showcase-card--compact {
    padding: 30px 34px;
}
.ps-showcase-title {
    margin: 0;
    font-size: calc(46px * var(--ps-fs-title));
    line-height: 1.14;
    font-weight: 900;
    color: #fff;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ps-showcase-meta {
    margin: 10px 0 0;
    font-size: calc(23px * var(--ps-fs-brand));
    color: #f8e7b0;
    font-weight: 600;
}
.ps-showcase-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 22px;
    flex-wrap: wrap;
}
.ps-showcase-contact {
    display: grid;
    gap: 4px;
    text-align: right;
    margin-left: auto;
}
.ps-showcase-contact span {
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.55);
    font-weight: 700;
}
.ps-showcase-contact strong {
    font-size: calc(32px * var(--ps-fs-brand));
    color: #fff;
    font-weight: 800;
}

/* Шаблон «Журнал» (Светлый премиум) */
.ps-layout-magazine {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 55%, #eef2f6 100%);
    color: #0f172a;
}
.ps-mag-brand {
    font-size: calc(24px * var(--ps-fs-brand));
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #0f172a;
    padding: 10px 20px;
    border-radius: 999px;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
}
.ps-mag-cat {
    font-size: calc(22px * var(--ps-fs-brand));
    font-weight: 800;
    padding: 10px 20px;
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
}
.ps-mag-title {
    margin: 0;
    font-size: calc(50px * var(--ps-fs-title));
    line-height: 1.12;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: -0.02em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ps-mag-meta {
    margin: 12px 0 0;
    font-size: calc(24px * var(--ps-fs-brand));
    color: #64748b;
    font-weight: 600;
}
.ps-mag-footer {
    padding: 32px 36px;
    border-radius: 30px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
}
.ps-layout-magazine .ps-mini-spec {
    background: #f8fafc;
    border-color: #e2e8f0;
}
.ps-layout-magazine .ps-mini-spec-k { color: #64748b; }
.ps-layout-magazine .ps-mini-spec-v { color: #0f172a; }
.ps-mag-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 16px;
    border-top: 2px solid #f1f5f9;
}
.ps-mag-price-block span {
    display: block;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #64748b;
}
.ps-mag-price-block strong {
    display: block;
    margin-top: 4px;
    font-size: calc(48px * var(--ps-fs-price));
    font-weight: 900;
    color: #b45309;
    line-height: 1.08;
}
.ps-mag-phone {
    padding: 16px 24px;
    border-radius: 18px;
    background: #0f172a;
    color: #fff;
    font-size: calc(28px * var(--ps-fs-brand));
    font-weight: 800;
}
.ps-mag-offer {
    margin: 16px 0 0;
    font-size: calc(21px * var(--ps-fs-brand));
    color: #475569;
    line-height: 1.35;
}

/* Шаблон «Коллаж» (3 фото) */
.ps-layout-collage {
    background: #0b0e14;
}
.ps-collage-grid {
    display: grid;
    gap: 16px;
}
.ps-collage-sub {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    height: 390px;
}
.ps-collage-cell {
    border-radius: 24px;
    overflow: hidden;
    background: #111827;
    border: 2px solid rgba(255, 255, 255, 0.16);
}
.ps-collage-cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Слайды дополнительных фото */
.ps-layout-photo {
    background: #0b0e14;
}
.ps-photo-slide-wrap {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 72px 56px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
}
.ps-pad {
    position: relative;
    z-index: 2;
    padding: 72px 64px;
    box-sizing: border-box;
}
.ps-pad--bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 72px 64px 96px;
}

.ps-drag {
    position: absolute;
    z-index: 4;
    cursor: grab;
    touch-action: none;
    max-width: calc(100% - 32px);
    box-sizing: border-box;
}
.ps-drag.is-dragging {
    cursor: grabbing;
    outline: 2px dashed rgba(240,192,64,.85);
    outline-offset: 6px;
}

.ps-brand {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    padding: 14px 22px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    font-size: calc(28px * var(--ps-fs-brand));
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ps-brand--soft {
    background: rgba(201,151,12,.14);
    color: #9a6b08;
}
.ps-brand--center {
    background: rgba(17,24,39,.55);
}
.ps-chip {
    display: inline-block;
    max-width: 100%;
    padding: 10px 18px;
    border-radius: 12px;
    background: #c9970c;
    color: #111;
    font-size: calc(24px * var(--ps-fs-brand));
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ps-chip--ghost {
    background: transparent;
    color: #f8e7b0;
    border: 1px solid rgba(248,231,176,.45);
}
.ps-title {
    margin: 0;
    font-size: calc(56px * var(--ps-fs-title));
    line-height: 1.12;
    font-weight: 800;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.ps-title--sm { font-size: calc(44px * var(--ps-fs-title)); }
.ps-title--solid { color: #1a1d26; font-size: calc(44px * var(--ps-fs-title)); }
.ps-meta {
    margin: 0;
    font-size: calc(26px * var(--ps-fs-brand));
    color: rgba(255,255,255,.8);
    overflow-wrap: anywhere;
}
.ps-price-box {
    display: grid;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    padding: 22px 28px;
    border-radius: 22px;
    background: linear-gradient(135deg, #f0c040, #c9970c);
    color: #1a1d26;
    box-sizing: border-box;
}
.ps-price-box--inline { margin: 0 0 28px; }
.ps-price-label {
    font-size: calc(20px * var(--ps-fs-brand));
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .75;
}
.ps-price {
    font-size: calc(52px * var(--ps-fs-price));
    font-weight: 900;
    line-height: 1.1;
    overflow-wrap: anywhere;
}
.ps-pad--bottom .ps-price { color: #f8e7b0; font-size: calc(44px * var(--ps-fs-price)); margin-top: 12px; }

/* ?? ???????? details/contact ?? */
.ps-layout-classic-details {
    background: linear-gradient(180deg, #fffaf0 0%, #fff 40%, #f3f4f6 100%);
    color: #1a1d26;
}
.ps-layout-classic-details .ps-pad,
.ps-layout-card-details .ps-pad,
.ps-layout-cinema-details .ps-pad {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.ps-media {
    border-radius: 28px;
    overflow: hidden;
    height: 420px;
    background: #e8ecf2;
    flex: 0 0 auto;
}
.ps-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-media-fallback {
    height: 100%;
    display: grid;
    place-items: center;
    font-weight: 900;
    letter-spacing: .2em;
    color: rgba(45,58,77,.35);
    font-size: 28px;
}
.ps-specs { display: grid; gap: 14px; flex: 1 1 auto; align-content: start; }
.ps-spec {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 16px;
    padding: 18px 22px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #ece7d8;
}
.ps-spec-label { font-size: 22px; color: #6b7280; font-weight: 600; overflow-wrap: anywhere; }
.ps-spec-value { font-size: 24px; font-weight: 800; text-align: right; overflow-wrap: anywhere; }
.ps-spec--solo { grid-template-columns: 1fr; }
.ps-spec--solo .ps-spec-value { text-align: left; }
.ps-price-bar {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 26px 28px;
    border-radius: 22px;
    background: linear-gradient(135deg, #111827, #1f2937);
    color: #fff;
}
.ps-price-bar span { font-size: 22px; color: rgba(255,255,255,.7); font-weight: 600; }
.ps-price-bar strong {
    font-size: calc(40px * var(--ps-fs-price));
    color: #f8e7b0;
    font-weight: 900;
    overflow-wrap: anywhere;
    text-align: right;
}

.ps-layout-classic-contact {
    background: radial-gradient(circle at 18% 12%, #3b2f14 0%, #111827 45%, #0b0d12 100%);
}
.ps-contact-glow {
    position: absolute;
    width: 720px;
    height: 720px;
    right: -180px;
    top: -120px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(240,192,64,.28), transparent 70%);
    pointer-events: none;
}
.ps-contact-pad { height: 100%; display: flex; flex-direction: column; }
.ps-eyebrow {
    margin: 0 0 18px;
    font-size: calc(24px * var(--ps-fs-brand));
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #f0c040;
    font-weight: 800;
}
.ps-contact-title {
    margin: 0 0 18px;
    font-size: calc(58px * var(--ps-fs-title));
    line-height: 1.12;
    font-weight: 900;
    overflow-wrap: anywhere;
}
.ps-contact-product {
    margin: 0 0 22px;
    font-size: calc(28px * var(--ps-fs-brand));
    color: rgba(255,255,255,.72);
    overflow-wrap: anywhere;
}
.ps-offer {
    margin: 0 0 28px;
    font-size: calc(26px * var(--ps-fs-brand));
    line-height: 1.4;
    color: rgba(255,255,255,.88);
    overflow-wrap: anywhere;
    max-height: 5.6em;
    overflow: hidden;
}
.ps-card {
    margin-top: auto;
    padding: 28px;
    border-radius: 28px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}
.ps-card-name { font-size: calc(34px * var(--ps-fs-brand)); font-weight: 800; overflow-wrap: anywhere; }
.ps-card-company { margin-top: 8px; font-size: calc(26px * var(--ps-fs-brand)); color: #f8e7b0; overflow-wrap: anywhere; }
.ps-card-phone { margin-top: 18px; font-size: calc(44px * var(--ps-fs-price)); font-weight: 900; }
.ps-card-email { margin-top: 8px; font-size: calc(24px * var(--ps-fs-brand)); color: rgba(255,255,255,.7); overflow-wrap: anywhere; }
.ps-foot { margin: 28px 0 0; font-size: 20px; color: rgba(255,255,255,.45); letter-spacing: .04em; }

/* ?? ???? ?? */
.ps-layout-cinema { background: #050505; }
.ps-cinema-title {
    margin: 0;
    font-size: calc(64px * var(--ps-fs-title));
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
    text-shadow: 0 8px 28px rgba(0,0,0,.45);
}
.ps-cinema-title--sm { font-size: calc(48px * var(--ps-fs-title)); }
.ps-cinema-frame {
    width: 900px;
    height: 980px;
    border-radius: 28px;
    overflow: hidden;
    border: 3px solid rgba(248,231,176,.35);
    box-shadow: 0 30px 80px rgba(0,0,0,.55);
    background: #111;
}
.ps-cinema-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-cinema-brand {
    font-size: calc(26px * var(--ps-fs-brand));
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.78);
}
.ps-cinema-price {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 20px;
    width: 100%;
    max-width: 950px;
    padding: 22px 0 0;
    border-top: 2px solid rgba(248,231,176,.35);
    box-sizing: border-box;
}
.ps-cinema-price span {
    font-size: calc(22px * var(--ps-fs-brand));
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.55);
    font-weight: 700;
}
.ps-cinema-price strong {
    font-size: calc(48px * var(--ps-fs-price));
    color: #f8e7b0;
    font-weight: 900;
}
.ps-layout-cinema-details {
    background: #0b0d12;
    color: #fff;
}
.ps-specs--dark .ps-spec {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.1);
}
.ps-specs--dark .ps-spec-label { color: rgba(255,255,255,.5); }
.ps-specs--dark .ps-spec-value { color: #fff; }
.ps-layout-cinema-contact {
    background: linear-gradient(180deg, #111 0%, #000 100%);
}

/* ?? ???????? ?? */
.ps-sticker {
    width: 100%;
    box-sizing: border-box;
    padding: 36px 34px;
    border-radius: 32px;
    background: #fff;
    color: #111827;
    box-shadow: 0 24px 60px rgba(0,0,0,.35);
}
.ps-sticker-cat {
    display: inline-block;
    margin-bottom: 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #111827;
    color: #fff;
    font-size: calc(20px * var(--ps-fs-brand));
    font-weight: 700;
}
.ps-sticker-title {
    margin: 0 0 12px;
    font-size: calc(42px * var(--ps-fs-title));
    line-height: 1.15;
    font-weight: 900;
    overflow-wrap: anywhere;
}
.ps-sticker-meta {
    margin: 0 0 22px;
    font-size: calc(22px * var(--ps-fs-brand));
    color: #6b7280;
}
.ps-sticker-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}
.ps-sticker-price {
    font-size: calc(46px * var(--ps-fs-price));
    font-weight: 900;
    color: #b45309;
    overflow-wrap: anywhere;
}
.ps-sticker-phone {
    font-size: calc(28px * var(--ps-fs-brand));
    font-weight: 800;
    color: #111827;
}
.ps-sticker-offer {
    margin: 18px 0 0;
    font-size: calc(22px * var(--ps-fs-brand));
    color: #4b5563;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.ps-sticker--static { box-shadow: none; border: 1px solid #e5e7eb; }
.ps-layout-card-details { background: #f8fafc; color: #111827; }
.ps-layout-card-contact { background: #eef2f7; }
.ps-sticker--contact {
    min-height: 1400px;
    display: flex;
    flex-direction: column;
}
.ps-sticker--contact .ps-eyebrow { color: #b45309; }
.ps-sticker--contact .ps-contact-title,
.ps-sticker--contact .ps-contact-product,
.ps-sticker--contact .ps-offer,
.ps-sticker--contact .ps-card-name,
.ps-sticker--contact .ps-card-phone,
.ps-sticker--contact .ps-card-email,
.ps-sticker--contact .ps-foot {
    color: #111827;
}
.ps-sticker--contact .ps-contact-product { color: #4b5563; }
.ps-sticker--contact .ps-card {
    background: #f8fafc;
    border-color: #e5e7eb;
}
.ps-sticker--contact .ps-card-company { color: #b45309; }
.ps-sticker--contact .ps-price-box {
    background: #111827;
    color: #fff;
}
.ps-sticker--contact .ps-foot { color: #9ca3af; }

.partner-stories-export-host {
    position: fixed;
    left: -12000px;
    top: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    pointer-events: none;
}
.partner-stories-export-frame {
    width: 1080px;
    height: 1920px;
    overflow: hidden;
    background: #0f1115;
}

.partner-stories-mobile-bar,
.partner-stories-templates--quick,
.partner-stories-picker-close,
.partner-stories-editor-done,
.partner-posts-picked {
    display: none;
}
.partner-stories-picker-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.partner-stories-picked {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--site-border, #e5e7eb);
    border-radius: 12px;
    min-width: 0;
}
.partner-stories-picked-thumb {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #e8ecf2 center / cover no-repeat;
    flex-shrink: 0;
}
.partner-stories-picked-body {
    flex: 1;
    min-width: 0;
}
.partner-stories-picked-body strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--site-text, #111827);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.partner-stories-picked-body span {
    display: block;
    font-size: 11.5px;
    color: var(--site-muted, #6b7280);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.partner-stories-picked-btn {
    flex-shrink: 0;
    min-height: 36px !important;
    padding: 6px 12px !important;
    font-size: 12.5px !important;
}
.partner-stories-mobile-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    background: #eef2f7;
    border: 1px solid var(--site-border, #e5e7eb);
    border-radius: 12px;
}
.partner-stories-mobile-tab {
    appearance: none;
    border: 0;
    background: transparent;
    border-radius: 9px;
    padding: 8px 6px;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    color: #4b5563;
    cursor: pointer;
    text-align: center;
    line-height: 1.2;
    min-width: 0;
}
.partner-stories-mobile-tab.is-active {
    background: #fff;
    color: #111827;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1);
}

@media (max-width: 1100px) {
    .partner-stories-layout { grid-template-columns: minmax(200px, 280px) minmax(0, 1fr); }
    .partner-stories-editor { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .partner-stories-layout { grid-template-columns: minmax(0, 1fr); }
    .partner-stories-list { max-height: 300px; }
    .partner-stories-phone {
        width: min(100%, 236px, calc((100dvh - 300px) * 0.5625));
        min-width: 176px;
        border-radius: 22px;
    }
    .partner-stories-mobile-bar:not([hidden]) {
        display: grid;
        gap: 8px;
        margin-bottom: 12px;
    }
    .partner-stories-templates--quick {
        display: grid;
        width: 100%;
        max-width: 320px;
    }
    .partner-stories-picker-close:not([hidden]) {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        appearance: none;
        border: 1px solid var(--site-border, #e5e7eb);
        background: #f8fafc;
        border-radius: 8px;
        padding: 4px 10px;
        font: inherit;
        font-size: 12px;
        font-weight: 700;
        color: #111827;
        cursor: pointer;
    }
    .partner-stories-editor-done {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        margin-top: 12px;
    }
    .partner-stories[data-mobile-tab="preview"] .partner-stories-picker,
    .partner-stories[data-mobile-tab="preview"] .partner-stories-editor {
        display: none !important;
    }
    .partner-stories[data-mobile-tab="settings"] .partner-stories-picker,
    .partner-stories[data-mobile-tab="settings"] .partner-stories-stage-wrap {
        display: none !important;
    }
    .partner-stories[data-mobile-tab="product"] .partner-stories-stage-wrap,
    .partner-stories[data-mobile-tab="product"] .partner-stories-editor {
        display: none !important;
    }
    .partner-stories-stage-wrap {
        padding: 12px !important;
    }
    .partner-stories-controls {
        width: 100%;
        max-width: 320px;
        justify-content: space-between;
    }
    .partner-stories-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
        max-width: 320px;
        gap: 8px;
    }
    .partner-stories-actions #partnerStoriesDownload {
        grid-column: 1 / -1;
    }
    .partner-stories-actions .btn-gold,
    .partner-stories-actions .btn-outline {
        width: 100%;
        justify-content: center;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 13px;
    }
}

.partner-posts-layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}
.partner-posts-main { display: grid; gap: 16px; min-width: 0; }
.partner-posts-workspace { display: grid; gap: 16px; }
.partner-posts-photos-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 8px;
}
.partner-posts-photos-head h3 { margin: 0; font-size: 16px; }
.partner-posts-photos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 8px;
}
.partner-posts-photo {
    position: relative;
    display: block;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 10px;
    overflow: hidden;
    background: #111;
    cursor: pointer;
    aspect-ratio: 1;
}
.partner-posts-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.partner-posts-photo.is-on { border-color: var(--site-accent, #b8860b); }
.partner-posts-photo.is-cover::after {
    content: 'обложка';
    position: absolute;
    left: 6px;
    bottom: 6px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #111;
    background: #f8e7b0;
    padding: 2px 6px;
    border-radius: 999px;
}
.partner-posts-photo-mark {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(0,0,0,.65);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.partner-posts-photo.is-on .partner-posts-photo-mark {
    background: var(--site-accent, #b8860b);
    color: #111;
}
.partner-posts-platforms,
.partner-posts-tones {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}
.partner-posts-plat,
.partner-posts-tone {
    border: 1px solid var(--site-border, #e5e7eb);
    background: #fff;
    padding: 8px 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    border-radius: 8px;
}
.partner-posts-plat.is-active,
.partner-posts-tone.is-active {
    border-color: var(--site-accent, #b8860b);
    color: var(--site-accent, #b8860b);
    background: #fffbeb;
}
.partner-posts-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
}
.partner-posts-result-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
}
.partner-posts-result-head h3 { margin: 0; font-size: 16px; }
.partner-posts-result-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.partner-posts-text {
    font-size: 15px;
    line-height: 1.5;
    min-height: 280px;
}
.partner-posts-image-note {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--site-muted, #6b7280);
}
@media (max-width: 860px) {
    .partner-posts-layout { grid-template-columns: minmax(0, 1fr); }
    .partner-stories-list { max-height: 240px; }
    .partner-posts-picked:not([hidden]) {
        display: flex;
        margin-bottom: 12px;
    }
    .partner-posts.has-selected:not(.is-picking) #partnerPostsPicker {
        display: none;
    }
}

.partner-ai {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9100;
    font-family: inherit;
}
.partner-ai:has(.partner-ai-window.is-open),
body.partner-ai-lock .partner-ai {
    z-index: 9800;
}
body.partner-ai-lock {
    overflow: hidden;
    overscroll-behavior: none;
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
}
body.partner-ai-lock.partner-app-mode .partner-app-nav,
body.partner-ai-lock.partner-app-mode .partner-app-topbar {
    visibility: hidden;
    pointer-events: none;
}
body.has-partner-ref-toolbar .partner-ai {
    bottom: 88px;
}
.partner-ai-trigger {
    background: #cde8d6;
    color: #14532d;
    border: 0;
    padding: 12px 18px;
    border-radius: 999px;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(20, 83, 45, 0.16);
}
.partner-ai-trigger:hover {
    background: #b7dfc6;
}
.partner-ai-window {
    position: absolute;
    right: 0;
    bottom: 56px;
    width: 420px;
    max-width: calc(100vw - 24px);
    height: min(640px, calc(100vh - 120px));
    max-height: calc(100vh - 100px);
    background: #fff;
    border: 1px solid var(--site-border, #e5e7eb);
    border-radius: 16px;
    box-shadow: 0 18px 50px rgba(0,0,0,.28);
    display: none;
    flex-direction: column;
    overflow: hidden;
}
.partner-ai-window.is-open {
    display: flex;
    bottom: 0;
}
.partner-ai:has(.partner-ai-window.is-open) .partner-ai-trigger,
.partner-ai-window.is-open ~ .partner-ai-trigger {
    display: none !important;
}
.partner-ai:has(.partner-ai-window.is-open) .partner-ai-toast {
    display: none !important;
}
@media (max-width: 768px) {
    .partner-ai-window.is-open {
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        bottom: auto;
        width: 100%;
        max-width: none;
        height: 100svh;
        max-height: 100svh;
        border-radius: 0;
        border: 0;
        box-shadow: none;
    }
    .partner-ai-window.is-kb .partner-ai-tools {
        display: none;
    }
    .partner-ai-window.is-kb .partner-ai-foot {
        padding-bottom: 8px;
    }
    .partner-ai-window.is-kb .partner-ai-head {
        padding-top: 8px;
    }
}
.partner-ai-toast {
    position: absolute;
    right: 0;
    bottom: 56px;
    width: min(280px, calc(100vw - 24px));
    padding: 12px 14px;
    background: #111;
    color: #fff;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(0,0,0,.28);
    font-size: 13px;
    line-height: 1.4;
}
.partner-ai-toast[hidden] { display: none !important; }
.partner-ai-toast p { margin: 0 0 10px; }
.partner-ai-toast-btns { display: flex; gap: 8px; align-items: center; }
.partner-ai-toast-open { padding: 8px 12px !important; font-size: 12px !important; }
.partner-ai-toast-x {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    margin-left: auto;
}
.partner-ai-trigger { position: relative; }
.partner-ai-trigger[hidden] { display: none !important; }
.partner-ai-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #b91c1c;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.partner-ai-badge[hidden] { display: none !important; }
.partner-ai-window[hidden] {
    display: none !important;
}
.partner-ai-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    padding-top: calc(12px + env(safe-area-inset-top, 0px));
    background: #111;
    color: #fff;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    z-index: 3;
}
.partner-ai-head strong { display: block; font-size: 16px; font-weight: 700; }
.partner-ai-head span { font-size: 12px; color: #c4c4c4; }
.partner-ai-close {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    min-width: 40px;
    min-height: 40px;
}
.partner-ai-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    background: #1a1a1a;
    border-bottom: 1px solid #2a2a2a;
    flex-shrink: 0;
}
.partner-ai-tab {
    position: relative;
    border: 0;
    background: transparent;
    color: #9ca3af;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 6px 11px;
    cursor: pointer;
    border-bottom: 2px solid transparent;
}
.partner-ai-tab.is-on {
    color: #fff;
    border-bottom-color: var(--site-accent, #d4af37);
}
.partner-ai-tab-badge {
    position: absolute;
    top: 6px;
    right: 10px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    line-height: 16px;
}
.partner-ai-tab-badge[hidden] { display: none !important; }
.partner-ai-pane {
    display: none;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    background: #efeae2;
}
.partner-ai-pane.is-on { display: flex; }
.partner-ai-pane[hidden] { display: none !important; }
.partner-ai-body {
    flex: 1;
    overflow-y: auto;
    padding: 8px 10px 12px;
    background: #efeae2;
    display: flex;
    flex-direction: column;
    gap: 6px;
    -webkit-overflow-scrolling: touch;
}
.partner-ai-msg {
    max-width: 82%;
    padding: 6px 10px 7px;
    border-radius: 12px;
    font-size: 15px;
    line-height: 1.35;
    white-space: pre-wrap;
    box-shadow: 0 1px 0.5px rgba(0,0,0,.08);
}
.partner-ai-msg--bot {
    background: #fff;
    border: 0;
    align-self: flex-start;
    border-top-left-radius: 4px;
}
.partner-ai-msg--user {
    background: #d9fdd3;
    align-self: flex-end;
    border-top-right-radius: 4px;
}
.partner-ai-msg.is-pending { color: #888; font-style: italic; box-shadow: none; }
.partner-ai-foot {
    padding: 6px 8px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    border-top: 0;
    background: #f0f0f0;
}
.partner-ai-compose {
    display: flex;
    gap: 6px;
    align-items: flex-end;
    width: 100%;
}
.partner-ai-input {
    flex: 1;
    min-width: 0;
    width: 100%;
    min-height: 40px;
    max-height: 120px;
    resize: none;
    font-size: 16px;
    line-height: 1.35;
    padding: 9px 14px !important;
    border-radius: 20px !important;
    border: 0 !important;
    background: #fff !important;
}
.partner-ai-send {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0 !important;
    font-size: 16px !important;
    border-radius: 50% !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.partner-ai-send-icon {
    display: block;
    font-size: 15px;
    line-height: 1;
}
.partner-ai-send-label { display: none; }
.partner-ai-tools {
    padding: 0 10px 10px;
    background: #f0f0f0;
    border-top: 0;
    flex-shrink: 0;
}
.partner-ai-handoff {
    width: 100%;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 4px;
    cursor: pointer;
    color: #6b7280;
    min-height: 0;
}
.partner-ai-handoff:hover { border-color: transparent; color: #111; }
.partner-ai-link { color: var(--site-accent, #b8860b); font-weight: 700; font-size: 14px; }
.partner-chat-list {
    flex: 1;
    overflow-y: auto;
    background: #fff;
}
.partner-chat-peer {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
    gap: 2px 10px;
    width: 100%;
    text-align: left;
    border: 0;
    border-bottom: 1px solid #f1f1f1;
    background: #fff;
    padding: 12px 14px;
    cursor: pointer;
    font: inherit;
}
.partner-chat-peer strong {
    grid-column: 1;
    font-size: 15px;
    font-weight: 700;
    color: #111;
}
.partner-chat-peer span {
    grid-column: 1;
    font-size: 12px;
    color: #9ca3af;
}
.partner-chat-peer em {
    grid-column: 1;
    font-size: 13px;
    color: #6b7280;
    font-style: normal;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.partner-chat-peer i {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #25d366;
    color: #fff;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    line-height: 18px;
    text-align: center;
}
.partner-chat-thread {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}
.partner-chat-thread[hidden],
.partner-chat-list[hidden],
.partner-chat-empty[hidden] { display: none !important; }
.partner-chat-back {
    flex-shrink: 0;
    border: 0;
    background: #efeae2;
    color: #374151;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    padding: 8px 12px;
    cursor: pointer;
}
.partner-chat-empty {
    margin: auto;
    padding: 24px 18px;
    text-align: center;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.45;
}
.partner-curator { display: grid; gap: 16px; }
.partner-curator h2, .partner-curator h3 { margin: 0 0 10px; }
.partner-curator-box {
    background: #f6f7f9;
    border: 1px solid var(--site-border, #e5e7eb);
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.5;
    white-space: pre-wrap;
}
.partner-curator-box--reply { background: #fffbeb; }
.partner-curator-transcript {
    white-space: pre-wrap;
    font-size: 12px;
    line-height: 1.45;
    background: #111;
    color: #ddd;
    padding: 12px;
    overflow: auto;
    max-height: 280px;
}
.partner-points-chip {
    display: inline-flex;
    align-items: center;
    font-weight: 800;
    font-size: 13px;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid #e5e7eb;
    color: #111;
    background: #fff;
}
.partner-points-chip--danger { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.partner-points-chip--warn { background: #fffbeb; border-color: #fcd34d; color: #92400e; }
.partner-points-chip--ok { background: #ecfdf5; border-color: #a7f3d0; color: #065f46; }
.partner-points-chip--hot { background: #fff7ed; border-color: #fdba74; color: #9a3412; }
.partner-points-chip--lead { background: #fef3c7; border-color: #f59e0b; color: #92400e; }
.partner-points-home-value { font-size: 32px; font-weight: 800; margin: 0 0 8px !important; color: #111 !important; }
.partner-points-home-value span { font-size: 16px; font-weight: 700; color: var(--site-muted); }
.partner-points { display: grid; gap: 16px; }
.partner-points-hero {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
}
.partner-points-hero h2 { margin: 0 0 6px; }
.partner-points-hero-value { text-align: right; }
.partner-points-hero-value strong { display: block; font-size: 42px; line-height: 1; }
.partner-points-hero-value span { font-size: 13px; color: var(--site-muted); }
.partner-points-hero--danger { border-color: #fecaca; background: #fef2f2; }
.partner-points-hero--warn { border-color: #fcd34d; background: #fffbeb; }
.partner-points-hero--lead { border-color: #f59e0b; background: #fffbeb; }
.partner-points-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.partner-points-stats strong { font-size: 22px; }
.partner-points-howto { list-style: none; margin: 0; padding: 0; }
.partner-points-howto li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--site-border, #e5e7eb);
    font-size: 14px;
}
.partner-points-howto li:last-child { border-bottom: 0; }
.partner-points-ledger { display: grid; gap: 8px; }
.partner-points-ledger-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 14px;
}
.partner-points-ledger-row span { display: block; font-size: 12px; color: var(--site-muted); font-weight: 400; }
.partner-points-ledger-row.is-plus b { color: #047857; }
.partner-points-ledger-row.is-minus b { color: #b91c1c; }
.partner-points-leaders { list-style: none; margin: 0; padding: 0; }
.partner-points-leaders li {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 14px;
}
.partner-points-leaders li.is-me { font-weight: 800; }
@media (max-width: 720px) {
    .partner-points-stats { grid-template-columns: 1fr; }
}
.partner-rating { display: grid; gap: 20px; }
.partner-rating-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: stretch;
    flex-wrap: wrap;
}
.partner-rating-kicker {
    margin: 0 0 4px;
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--site-accent, #b8860b);
}
.partner-rating-head h2 { margin: 0 0 8px; font-size: 28px; }
.partner-rating-you {
    min-width: 220px;
    background: #111;
    color: #fff;
    border-radius: 16px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.partner-rating-you span { font-size: 12px; color: #aaa; }
.partner-rating-you strong { font-size: 36px; line-height: 1.1; color: #f5d76e; }
.partner-rating-you em { font-style: normal; color: #ddd; font-size: 13px; margin: 4px 0 10px; }
.partner-rating-you a { color: #f5d76e; font-weight: 700; font-size: 13px; }
.partner-rating-podium {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    gap: 12px;
    align-items: end;
}
.partner-rating-place {
    text-align: center;
    background: #fff;
    border: 1px solid var(--site-border, #e5e7eb);
    border-radius: 18px;
    padding: 20px 14px 18px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.04);
}
.partner-rating-place--1 {
    grid-column: 2;
    background: linear-gradient(180deg, #fff8dc 0%, #fff 70%);
    border-color: #e2b93b;
    padding-top: 16px;
    padding-bottom: 28px;
}
.partner-rating-place--2 { grid-column: 1; background: linear-gradient(180deg, #f4f6f8, #fff); }
.partner-rating-place--3 { grid-column: 3; background: linear-gradient(180deg, #f8efe6, #fff); }
.partner-rating-place.is-me { box-shadow: 0 0 0 3px #d4af37; }
.partner-rating-crown {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: #111;
    color: #f5d76e;
    border-radius: 999px;
    padding: 4px 10px;
    margin-bottom: 8px;
}
.partner-rating-avatar {
    width: 64px;
    height: 64px;
    margin: 0 auto 8px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 800;
    background: #111;
    color: #f5d76e;
    font-size: 20px;
}
.partner-rating-avatar--gold { background: linear-gradient(135deg, #111, #5a4a12); }
.partner-rating-avatar--sm { width: 42px; height: 42px; font-size: 13px; margin: 0; }
.partner-rating-medal { font-size: 22px; line-height: 1; margin-bottom: 6px; }
.partner-rating-place h3 { margin: 0 0 4px; font-size: 16px; }
.partner-rating-place p { margin: 0 0 10px; font-size: 12px; color: var(--site-muted); }
.partner-rating-place b { display: block; font-size: 28px; line-height: 1; }
.partner-rating-place span { font-size: 12px; color: var(--site-muted); }
.partner-rating-board h3 { margin: 0 0 14px; }
.partner-rating-list { display: grid; gap: 8px; }
.partner-rating-row {
    display: grid;
    grid-template-columns: 52px 42px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #f0f0f0;
}
.partner-rating-row.is-top { background: #fffdf5; }
.partner-rating-row.is-me { border-color: #d4af37; background: #fffbeb; }
.partner-rating-rank { font-weight: 800; font-size: 14px; color: #666; }
.partner-rating-who strong { display: block; font-size: 14px; }
.partner-rating-who em { font-style: normal; color: var(--site-accent, #b8860b); font-size: 12px; }
.partner-rating-who span { font-size: 12px; color: var(--site-muted); }
.partner-rating-bar {
    height: 6px;
    background: #f3f4f6;
    border-radius: 99px;
    margin-top: 6px;
    overflow: hidden;
}
.partner-rating-bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #c9a227, #f5d76e);
    border-radius: 99px;
}
.partner-rating-pts { text-align: right; }
.partner-rating-pts b { display: block; font-size: 18px; }
.partner-rating-pts span { font-size: 11px; color: var(--site-muted); }
.partner-rating-mini {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 12px;
}
.partner-rating-mini-card {
    display: grid;
    gap: 4px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 12px 8px;
    background: #fff;
}
.partner-rating-mini-card--1 { background: #fff8dc; border-color: #e2b93b; }
.partner-rating-mini-card.is-me { box-shadow: 0 0 0 2px #d4af37; }
@media (max-width: 800px) {
    .partner-rating-podium { grid-template-columns: 1fr; }
    .partner-rating-place--1,
    .partner-rating-place--2,
    .partner-rating-place--3 { grid-column: auto; }
    .partner-rating-place--1 { order: -1; }
    .partner-rating-mini { grid-template-columns: 1fr; }
    .partner-rating-row { grid-template-columns: 40px 36px minmax(0, 1fr) auto; }
}
@media (max-width: 640px) {
    .partner-ai { right: 12px; bottom: 16px; }
    body.has-partner-ref-toolbar .partner-ai { bottom: 96px; }
    .partner-ai-toast {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(80px + env(safe-area-inset-bottom, 0px));
        width: auto;
        font-size: 15px;
    }
    .partner-ai-head { padding: 10px 12px; padding-top: calc(8px + env(safe-area-inset-top, 0px)); }
    .partner-ai-msg { font-size: 15px; line-height: 1.35; }
    .partner-ai-foot { padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
    .partner-onboard-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .partner-ai-compose {
        flex-direction: row;
        align-items: flex-end;
        gap: 6px;
    }
    .partner-ai-input {
        min-height: 40px;
        font-size: 16px;
        padding: 9px 14px !important;
    }
    .partner-ai-send {
        width: 40px;
        min-height: 40px;
        padding: 0 !important;
        font-size: 15px !important;
    }
    .partner-ai-foot {
        padding: 6px 8px;
        padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    }
    .partner-ai-tools {
        padding: 0 10px 10px;
        padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px));
    }
}

/* --- PWA: приложение партнёра --- */
body.partner-app-mode {
    padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px));
}
.partner-app-topbar {
    display: none;
}
@media (max-width: 768px) {
    body.partner-app-mode {
        padding-top: calc(48px + env(safe-area-inset-top, 0px));
    }
    body.partner-app-mode .site-header,
    body.partner-app-mode #catalogModal,
    body.partner-app-mode .site-breadcrumbs,
    body.partner-app-mode .site-footer {
        display: none !important;
    }
    body.partner-app-mode .partner-cabinet-nav--desktop,
    body.partner-app-mode .partner-cabinet-header {
        display: none !important;
    }
    .partner-app-topbar {
        display: flex;
        align-items: center;
        gap: 8px;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 9100;
        height: calc(48px + env(safe-area-inset-top, 0px));
        padding: env(safe-area-inset-top, 0px) 10px 0;
        background: #111;
        border-bottom: 1px solid #2a2a2a;
        color: #fff;
    }
    .partner-app-topbar-back,
    .partner-app-topbar-action,
    .partner-app-topbar-spacer {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        text-decoration: none;
        color: #d4af37;
        font-size: 20px;
        font-weight: 700;
        border: 0;
        background: transparent;
    }
    .partner-app-topbar-right {
        display: flex;
        align-items: center;
        gap: 2px;
        flex: 0 0 auto;
    }
    .partner-app-topbar .partner-bell-btn {
        background: transparent;
        color: #d4af37;
        width: 40px;
        height: 40px;
    }
    .partner-app-topbar .partner-bell-panel {
        position: fixed;
        top: calc(48px + env(safe-area-inset-top, 0px));
        right: 8px;
        left: 8px;
        width: auto;
        max-width: none;
    }
    .partner-app-topbar-title {
        flex: 1;
        min-width: 0;
        text-align: center;
        font-size: 15px;
        font-weight: 800;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    body.partner-app-mode .site-page {
        padding-top: 4px;
    }
    body.partner-app-mode .catalog-page-title {
        font-size: 1.15rem;
        margin-bottom: 8px;
    }
    body.partner-app-mode .catalog-accordion-toggle {
        padding: 11px 12px;
        font-size: 12px;
    }
    body.partner-app-mode .catalog-nav-list {
        max-height: min(38vh, 240px);
    }
}
body.partner-app-mode.site-public .site-footer {
    margin-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
}
body.partner-app-mode .partner-ai {
    bottom: calc(76px + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 768px) {
    body.partner-app-mode .partner-ai-trigger {
        bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    }
}
body.partner-app-mode.has-partner-ref-toolbar .partner-ai {
    bottom: calc(140px + env(safe-area-inset-bottom, 0px));
}
.partner-cabinet-app-link {
    font-size: 12px;
    font-weight: 700;
    color: var(--site-accent, #d4af37);
    text-decoration: none;
}
.partner-cabinet-app-link:hover { text-decoration: underline; }
.partner-app-nav {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9000;
    background: #111;
    border-top: 1px solid #2a2a2a;
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
    justify-content: space-around;
    gap: 2px;
    box-shadow: 0 -8px 24px rgba(0,0,0,.35);
}
body.partner-app-mode .partner-app-nav {
    display: flex;
}
.partner-app-nav-item {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 8px 4px;
    font-size: 11px;
    font-weight: 700;
    color: #9ca3af;
    text-decoration: none;
    border-radius: 10px;
    position: relative;
    min-height: 52px;
    justify-content: center;
}
.partner-app-nav-label {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.partner-app-nav-item.is-active {
    color: #d4af37;
    background: rgba(212, 175, 55, .12);
}
.partner-app-nav-item--sale {
    color: #9ca3af;
}
.partner-app-nav-item--sale.is-active {
    color: #86efac;
    background: rgba(34, 197, 94, .16);
}
.partner-app-nav-item--btn {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
}
.partner-app-nav-item--btn.is-active {
    color: #d4af37;
    background: rgba(212, 175, 55, .12);
}
.partner-app-nav-ico {
    font-size: 18px;
    line-height: 1;
}
.partner-app-nav-badge {
    position: absolute;
    top: 2px;
    right: 8px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: #c62828;
    color: #fff;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    line-height: 16px;
    text-align: center;
}
.partner-app-install {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    z-index: 9050;
}
.partner-app-install-inner {
    background: #1a1a1a;
    border: 1px solid #d4af37;
    border-radius: 14px;
    padding: 12px 14px;
    box-shadow: 0 12px 40px rgba(0,0,0,.45);
    display: grid;
    gap: 6px;
}
.partner-app-install-inner strong { color: #fff; font-size: 14px; }
.partner-app-install-inner span { color: #aaa; font-size: 12px; }
.partner-app-install-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}
.partner-app-install-actions .btn-gold {
    flex: 1;
    padding: 10px 12px;
    font-size: 13px;
}
.partner-app-install-skip {
    border: 0;
    background: transparent;
    color: #aaa;
    font-size: 12px;
    white-space: nowrap;
    cursor: pointer;
    padding: 8px 6px;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.partner-app-install-skip:hover { color: #fff; }
.partner-app-install-close {
    border: 0;
    background: transparent;
    color: #888;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 8px;
}
/* Панель «Инструменты» */
.partner-app-tools {
    position: fixed;
    inset: 0;
    z-index: 9150;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.partner-app-tools[hidden] { display: none !important; }
body.partner-app-tools-open { overflow: hidden; }
.partner-app-tools-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}
.partner-app-tools-panel {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 520px;
    max-height: min(78vh, 560px);
    overflow: auto;
    background: #1a1a1a;
    border-radius: 18px 18px 0 0;
    padding: 16px 14px calc(16px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #d4af37;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.45);
}
.partner-app-tools-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.partner-app-tools-head h2 {
    margin: 0;
    font-size: 17px;
    color: #fff;
}
.partner-app-tools-close {
    border: 0;
    background: transparent;
    color: #888;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
}
.partner-app-tools-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.partner-app-tools-group-label {
    grid-column: 1 / -1;
    margin: 6px 0 0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #888;
}
.partner-app-tools-group-label:first-child { margin-top: 0; }
.partner-app-tools-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 84px;
    padding: 10px 6px;
    border-radius: 12px;
    background: #252525;
    border: 1px solid #333;
    color: #e5e7eb;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    position: relative;
}
.partner-app-tools-item:hover,
.partner-app-tools-item:focus {
    border-color: #d4af37;
    color: #fff;
}
.partner-app-tools-item--warn {
    border-color: rgba(198, 40, 40, 0.5);
}
.partner-app-tools-item--muted {
    opacity: 0.85;
}
.partner-app-tools-ico {
    font-size: 22px;
    line-height: 1;
}
.partner-app-tools-badge {
    position: absolute;
    top: 6px;
    right: 8px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #c62828;
    color: #fff;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    line-height: 18px;
}
/* Каталог в приложении / кабинете */
.partner-app-catalog-page {
    max-width: none;
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
    box-sizing: border-box;
}
.partner-app-catalog-search {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px;
    margin-bottom: 12px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.partner-app-catalog-search .form-control {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    margin-bottom: 0;
    font-size: 16px;
    padding: 10px 12px;
}
.partner-app-catalog-search .btn-gold,
.partner-app-catalog-search-btn {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    clip-path: none;
    border-radius: 10px;
    white-space: nowrap;
    align-self: stretch;
}
.partner-app-catalog-hint {
    margin: 0 0 14px;
    font-size: 13px;
    color: var(--site-muted, #666);
}
.partner-app-catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
    width: 100%;
}
.partner-app-catalog-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    min-height: 108px;
    min-width: 0;
    padding: 12px;
    border-radius: 12px;
    background: var(--site-surface, #fff);
    border: 1px solid var(--site-border, #e5e7eb);
    text-decoration: none;
    color: var(--site-text, #111);
    overflow: hidden;
}
.partner-app-catalog-tile.has-img {
    padding: 0;
    min-height: 120px;
}
.partner-app-catalog-tile img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.9;
}
.partner-app-catalog-tile.has-img .partner-app-catalog-tile-name,
.partner-app-catalog-tile.has-img .partner-app-catalog-tile-count {
    position: relative;
    z-index: 1;
    color: #fff;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
.partner-app-catalog-tile.has-img .partner-app-catalog-tile-name {
    margin: auto 10px 10px;
}
.partner-app-catalog-tile-ico {
    font-size: 24px;
    color: var(--site-accent, #d4af37);
    margin-bottom: 6px;
}
.partner-app-catalog-tile-name {
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}
.partner-app-catalog-tile-count {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 11px;
    font-weight: 700;
    background: rgba(0, 0, 0, 0.06);
    padding: 2px 7px;
    border-radius: 999px;
}
.partner-app-catalog-crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0 0 12px;
    font-size: 13px;
    color: var(--site-muted, #666);
}
.partner-app-catalog-crumb a {
    color: var(--site-accent, #d4af37);
    font-weight: 700;
    text-decoration: none;
}
.partner-app-catalog-subgrid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.partner-app-catalog-sub {
    padding: 8px 12px;
    border-radius: 999px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}
.partner-app-catalog-count {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--site-muted, #666);
}
.partner-app-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.partner-app-product-grid > .product-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    border-radius: 18px;
    box-sizing: border-box;
}
.partner-app-product-grid .card-image-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    aspect-ratio: 5 / 4;
    min-height: 0;
    max-width: 100%;
    background: #eef1f5;
}
.partner-app-product-grid .card-image-link {
    display: block;
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.partner-app-product-grid .card-image-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position: center center;
}
.partner-app-product-grid .card-image-shade {
    height: 28%;
    background: linear-gradient(
        180deg,
        rgba(8, 12, 20, 0) 0%,
        rgba(8, 12, 20, 0.08) 55%,
        rgba(8, 12, 20, 0.16) 100%
    );
}
.partner-app-pagination {
    margin-top: 16px;
    flex-wrap: wrap;
}
.partner-app-catalog-empty {
    padding: 24px 16px;
}
@media (max-width: 900px) {
    .partner-app-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .partner-app-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 640px) {
    .partner-app-product-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}
@media (max-width: 560px) {
    .partner-app-product-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .partner-app-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .partner-app-catalog-tile,
    .partner-app-catalog-tile.has-img {
        min-height: 96px;
    }
}
.partner-app-quick-nav {
    display: none;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 16px;
}
.partner-app-quick-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 6px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--site-border, #e5e7eb);
    color: var(--site-text, #111);
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    font-family: inherit;
}
.partner-app-quick-tools {
    background: #fffbeb;
    border-color: #fcd34d;
}
.partner-app-quick-item--sale {
    background: #f0fdf4;
    border-color: #86efac;
    color: #14532d;
}
@media (max-width: 768px) {
    body.partner-app-mode .partner-app-quick-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.partner-app-push {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    z-index: 9045;
}
.partner-app-push-inner {
    background: linear-gradient(135deg, #1a1a1a 0%, #252525 100%);
    border: 1px solid rgba(212, 175, 55, 0.55);
    border-radius: 14px;
    padding: 12px 14px;
    box-shadow: 0 12px 40px rgba(0,0,0,.45);
    display: grid;
    gap: 6px;
}
.partner-app-push-inner strong { color: #fff; font-size: 14px; }
.partner-app-push-inner span { color: #aaa; font-size: 12px; }
.partner-app-push-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}
.partner-app-push-actions .btn-gold {
    flex: 1;
    padding: 10px 12px;
    font-size: 13px;
}
.partner-app-push-close {
    border: 0;
    background: transparent;
    color: #888;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    padding: 10px 14px;
    min-width: 44px;
    min-height: 44px;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
}
.partner-app-push-close:hover,
.partner-app-push-close:active { color: #fff; }
.partner-app-push[hidden] { display: none !important; }
html.is-standalone .partner-app-install,
html.is-app-installed .partner-app-install { display: none !important; }
html.is-standalone .partner-home-install-only,
html.is-app-installed .partner-home-install-only { display: none !important; }
html.is-standalone .partner-app-push { bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
.partner-app-install-help {
    position: fixed;
    inset: 0;
    z-index: 9200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.partner-app-install-help[hidden] { display: none !important; }
body.partner-app-install-help-open { overflow: hidden; }
.partner-app-install-help-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
}
.partner-app-install-help-panel {
    position: relative;
    z-index: 1;
    max-width: 420px;
    width: 100%;
    max-height: min(90vh, 640px);
    overflow: auto;
    padding: 20px 18px 18px;
    margin: 0;
}
.partner-app-install-help-panel h2 {
    margin: 0 0 8px;
    font-size: 20px;
}
.partner-app-install-help-lead {
    margin: 0 0 14px;
    color: var(--site-muted, #666);
    font-size: 14px;
    line-height: 1.5;
}
.partner-app-install-help-block h3 {
    margin: 0 0 8px;
    font-size: 15px;
    color: var(--site-accent, #d4af37);
}
.partner-app-install-help-block ol {
    margin: 0 0 14px;
    padding-left: 18px;
    font-size: 14px;
    line-height: 1.55;
    color: #333;
}
.partner-app-install-help-note {
    margin: 0 0 14px;
    font-size: 13px;
}
.partner-app-install-help-ok {
    width: 100%;
}
.partner-app-install-help-x {
    position: absolute;
    top: 8px;
    right: 10px;
    border: 0;
    background: transparent;
    color: #888;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 8px;
}
#partner-app-install-help.is-highlight {
    outline: 3px solid var(--site-accent, #d4af37);
    outline-offset: 6px;
    border-radius: 12px;
    transition: outline-color 0.3s;
}
.partner-app-page {
    background: #f6f7f9;
    min-height: 100vh;
    padding-bottom: 32px;
}
.partner-app-landing { max-width: 960px; margin: 0 auto; padding: 24px 16px; }
.partner-app-hero { text-align: center; padding: 32px 24px; margin-bottom: 20px; }
.partner-app-hero-icon img { display: block; margin: 0 auto 16px; border-radius: 22px; }
.partner-app-hero h1 { margin: 0 0 12px; font-size: clamp(22px, 4vw, 32px); }
.partner-app-lead { color: var(--site-muted, #666); margin: 0 0 20px; line-height: 1.55; }
.partner-app-cta { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.partner-app-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}
.partner-app-card--wide { grid-column: 1 / -1; }
.partner-app-steps, .partner-app-features {
    margin: 0;
    padding-left: 18px;
    color: #444;
    line-height: 1.55;
    font-size: 14px;
}
.partner-app-note { text-align: center; margin-top: 20px; font-size: 13px; color: #888; }
.partner-login-app { margin-top: 16px; text-align: center; font-size: 13px; }
.partner-login-app a { color: var(--site-accent, #d4af37); font-weight: 700; }
html.is-standalone .partner-app-install,
html.is-app-installed .partner-app-install { display: none !important; }
html.is-standalone .partner-home-install-only,
html.is-app-installed .partner-home-install-only { display: none !important; }
@media (min-width: 769px) {
    body.partner-app-mode { padding-bottom: 0; }
    body.partner-app-mode .partner-app-nav { display: none !important; }
    body.partner-app-mode .partner-ai { bottom: 24px; }
}


/* People network calculator (business plan v8) */
.ref-people { display: grid; gap: 16px; }
.ref-people-toolbar { padding: 18px 20px; display: grid; gap: 14px; }
.ref-people-presets { display: flex; flex-wrap: wrap; gap: 8px; }
.ref-people-preset {
    border: 1px solid var(--site-border, #e5e7eb);
    background: #fff;
    color: #374151;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.ref-people-preset.is-active,
.ref-people-preset:hover {
    border-color: var(--site-accent, #b8860b);
    background: #fffbeb;
    color: #92400e;
}
.ref-people-hint { margin: 0; color: var(--site-muted, #6b7280); font-size: 14px; }
.ref-people-sale,
.ref-people-own {
    display: grid;
    grid-template-columns: 1fr minmax(110px, auto);
    gap: 8px 12px;
    align-items: center;
}
.ref-people-sale label,
.ref-people-own label {
    grid-column: 1 / -1;
    font-size: 12px;
    font-weight: 700;
    color: #6b7280;
}
.ref-people-sale input[type=range],
.ref-people-own input[type=range] { width: 100%; }
.ref-people-board { padding: 18px 20px 22px; display: grid; gap: 14px; }
.ref-people-you,
.ref-people-level {
    display: grid;
    gap: 10px;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid #eee;
    background: #fafafa;
}
.ref-people-you {
    grid-template-columns: auto 1fr auto;
    align-items: center;
    background: linear-gradient(135deg, #fffbeb, #fff);
    border-color: #fcd34d;
}
.ref-people-level-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}
.ref-people-level-title { margin: 0; font-size: 15px; font-weight: 800; }
.ref-people-level-meta { margin: 4px 0 0; font-size: 12px; color: #6b7280; }
.ref-people-level-earn { font-size: 16px; font-weight: 800; color: #047857; white-space: nowrap; }
.ref-people-figs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 2px;
    min-height: 28px;
}
.ref-people-fig {
    font-size: 18px;
    line-height: 1;
    filter: grayscale(0.15);
}
.ref-people-fig--you { font-size: 28px; }
.ref-people-fig--more {
    font-size: 12px;
    font-weight: 800;
    color: #6b7280;
    align-self: center;
    margin-left: 4px;
}
.ref-people-fig--empty { color: #d1d5db; }
.ref-people-sliders {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.ref-people-sliders label {
    display: grid;
    gap: 4px;
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
}
.ref-people-sliders input[type=range] { width: 100%; }
.ref-people-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    border-radius: 14px;
    background: #111;
    color: #fff;
}
.ref-people-total-label { margin: 0; font-size: 13px; font-weight: 700; color: #d1d5db; }
.ref-people-total-sub { margin: 4px 0 0; font-size: 12px; color: #9ca3af; }
.ref-people-total-value { font-size: clamp(22px, 4vw, 32px); font-weight: 900; color: #fbbf24; }
@media (max-width: 720px) {
    .ref-people-you { grid-template-columns: auto 1fr; }
    .ref-people-you .ref-people-level-earn { grid-column: 1 / -1; }
    .ref-people-sliders { grid-template-columns: 1fr; }
    .ref-people-total { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   Макет кабинета (maket-app-vitotechnik) — эталон для partner-app-mode
   ============================================================ */
body.partner-app-mode {
    --bg: #F2F3F5;
    --surface: #FFFFFF;
    --surface-dim: #F7F8F9;
    --ink: #191B1E;
    --ink-secondary: #626A75;
    --line: #DCE0E5;
    --bar: #17181A;
    --bar-ink: #F4F5F6;
    --bar-ink-dim: #9AA0A8;
    --bar-line: #2A2C30;
    --accent: #D29B18;
    --accent-hover: #BA8912;
    --accent-ink: #191B1E;
    --accent-deep: #8A6D03;
    --ok: #1F7A3D;
    --warn: #B3540E;
    --danger: #B02A2A;
    --radius: 8px;
    --tabbar-h: 60px;
    --site-bg: var(--bg);
    --site-surface: var(--surface);
    --site-surface-2: var(--surface-dim);
    --site-text: var(--ink);
    --site-muted: var(--ink-secondary);
    --site-border: var(--line);
    --site-accent: var(--accent);
    --site-accent-hover: var(--accent-hover);
    --site-radius: var(--radius);
    --site-shadow: none;
    --gold: var(--accent);
    --gold-hover: var(--accent-hover);
    background: var(--bg);
    color: var(--ink);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body.partner-app-mode .partner-cabinet,
body.partner-app-mode .site-page {
    overflow-x: hidden;
    max-width: 100%;
}
html:has(body.partner-app-mode),
body.partner-app-mode {
    overflow-x: hidden;
}

.partner-app-ic {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: none;
    display: block;
}

/* Панели и кнопки — плоские, как в макете */
body.partner-app-mode .site-panel,
body.partner-app-mode .partner-home-card,
body.partner-app-mode .partner-network-card,
body.partner-app-mode .partner-progress-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: none;
    padding: 16px;
    margin-bottom: 12px;
}
body.partner-app-mode .site-panel h2,
body.partner-app-mode .partner-home-card h2,
body.partner-app-mode .partner-network-card h2 {
    margin: 0 0 10px;
    font-size: 17px;
    font-weight: 600;
    color: var(--ink);
}
body.partner-app-mode .partner-panel-desc,
body.partner-app-mode .partner-onboard-desc,
body.partner-app-mode .partner-home-card > p,
body.partner-app-mode .partner-network-card > p,
body.partner-app-mode .partner-form-note {
    font-size: 14px;
    line-height: 1.5;
    color: var(--ink-secondary);
    margin: 0 0 14px;
}
/* Кнопки: полный width только в стеке панели, не в flex-рядах (чат/поиск) */
body.partner-app-mode .btn-gold,
body.partner-app-mode a.btn-gold,
body.partner-app-mode button.btn-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    box-sizing: border-box;
    background: var(--accent) !important;
    color: var(--accent-ink) !important;
    border: 1px solid transparent;
    border-radius: var(--radius);
    box-shadow: none !important;
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    transform: none !important;
}
body.partner-app-mode .btn-gold:hover,
body.partner-app-mode .btn-gold:active {
    background: var(--accent-hover) !important;
    transform: none !important;
}
body.partner-app-mode .btn-outline,
body.partner-app-mode a.btn-outline,
body.partner-app-mode button.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    box-sizing: border-box;
    background: var(--surface) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius);
    box-shadow: none;
    font-size: 15px;
    font-weight: 600;
}
body.partner-app-mode .btn-outline:hover,
body.partner-app-mode .btn-outline:active {
    border-color: var(--ink-secondary) !important;
    background: var(--surface) !important;
    color: var(--ink) !important;
}
body.partner-app-mode .site-panel > .btn-gold,
body.partner-app-mode .site-panel > .btn-outline,
body.partner-app-mode .partner-home-card > .btn-gold,
body.partner-app-mode .partner-home-card > .btn-outline,
body.partner-app-mode .partner-onboard-actions .btn-gold,
body.partner-app-mode .partner-onboard-actions .btn-outline,
body.partner-app-mode .partner-onboard-done-form,
body.partner-app-mode .partner-onboard-done-form .btn-outline {
    display: flex;
    width: 100%;
    height: 44px;
    margin: 0;
}
body.partner-app-mode .partner-onboard-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}

/* Чат: поле + круглая отправка */
body.partner-app-mode .partner-ai-compose {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 6px;
    width: 100%;
}
body.partner-app-mode .partner-ai-input,
body.partner-app-mode textarea.partner-ai-input.form-control {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    height: auto !important;
    min-height: 40px;
    max-height: 120px;
    font-size: 16px;
    border-radius: 20px !important;
    background: #fff !important;
}
body.partner-app-mode .partner-ai-send.btn-gold,
body.partner-app-mode button.partner-ai-send {
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
}

/* Поиск каталога: поле + кнопка в ряд */
body.partner-app-mode .partner-app-catalog-search {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px;
}
body.partner-app-mode .partner-app-catalog-search .form-control {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    height: 44px;
}
body.partner-app-mode .partner-app-catalog-search .btn-gold,
body.partner-app-mode .partner-app-catalog-search-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 72px;
    max-width: none !important;
    height: 44px;
    padding: 0 14px !important;
    white-space: nowrap;
}

@media (max-width: 600px) {
    body.partner-app-mode .partner-hud {
        margin-left: -12px;
        margin-right: -12px;
    }
    body.partner-app-mode .partner-app-product-grid {
        grid-template-columns: 1fr;
    }
    body.partner-app-mode .partner-app-catalog-page,
    body.partner-app-mode .partner-home-grid,
    body.partner-app-mode .site-panel {
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* Поля */
body.partner-app-mode .partner-field {
    margin-bottom: 14px;
}
body.partner-app-mode .partner-field label,
body.partner-app-mode .partner-label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--ink-secondary);
    margin: 0 0 6px;
    text-transform: none;
    letter-spacing: 0;
}
body.partner-app-mode .partner-field .form-control,
body.partner-app-mode .partner-field .partner-ref-input,
body.partner-app-mode .partner-ref-input,
body.partner-app-mode input.form-control,
body.partner-app-mode select.form-control {
    width: 100%;
    min-height: 44px;
    height: 44px;
    font-size: 15px;
    color: var(--ink);
    background: var(--surface-dim);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 0 12px;
    box-sizing: border-box;
    box-shadow: none;
}
body.partner-app-mode .partner-ref-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
    width: 100%;
}
body.partner-app-mode .partner-ref-row .partner-ref-input,
body.partner-app-mode .partner-field .partner-ref-row .partner-ref-input {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    height: 40px;
    min-height: 40px;
    font-size: 14px;
}
body.partner-app-mode .partner-ref-row .partner-ref-copy,
body.partner-app-mode .partner-ref-row .btn-gold,
body.partner-app-mode .partner-ref-row .btn-outline {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
    display: inline-flex !important;
}
body.partner-app-mode textarea.form-control {
    width: 100%;
    height: auto;
    min-height: 88px;
    padding: 10px 12px;
    font-size: 15px;
    color: var(--ink);
    background: var(--surface-dim);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-sizing: border-box;
}

/* Онбординг: вертикальный список как в макете */
body.partner-app-mode .partner-onboard-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 2px;
    gap: 8px;
}
body.partner-app-mode .partner-onboard-stage {
    font-size: 13px;
    color: var(--ink-secondary);
    font-weight: 500;
}
body.partner-app-mode .partner-onboard-pct {
    font-size: 13px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--ink);
    letter-spacing: 0;
    text-transform: none;
}
body.partner-app-mode .partner-onboard-bar {
    height: 4px;
    border-radius: 2px;
    background: var(--line);
    overflow: hidden;
    margin: 8px 0 14px;
}
body.partner-app-mode .partner-onboard-bar span {
    display: block;
    height: 100%;
    background: var(--accent);
    border-radius: 2px;
}
body.partner-app-mode .partner-onboard-steps,
body.partner-app-mode .partner-onboard-steps--mini {
    display: block;
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    width: 100%;
}
body.partner-app-mode .partner-onboard-steps li,
body.partner-app-mode .partner-onboard-steps--mini li {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 8px 0;
    border-radius: 0;
    background: transparent !important;
    border: none;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}
body.partner-app-mode .partner-onboard-steps li:last-child,
body.partner-app-mode .partner-onboard-steps--mini li:last-child {
    border-bottom: none;
}
body.partner-app-mode .partner-onboard-steps li .n,
body.partner-app-mode .partner-onboard-steps--mini li .n {
    width: 22px;
    height: 22px;
    flex: none;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    background: var(--surface-dim);
    color: var(--ink-secondary);
    border: 1px solid var(--line);
}
body.partner-app-mode .partner-onboard-steps li.is-done,
body.partner-app-mode .partner-onboard-steps--mini li.is-done {
    color: var(--ink-secondary);
}
body.partner-app-mode .partner-onboard-steps li.is-done .n,
body.partner-app-mode .partner-onboard-steps--mini li.is-done .n {
    background: var(--ok);
    border-color: var(--ok);
    color: #fff;
}
body.partner-app-mode .partner-onboard-steps li.is-current,
body.partner-app-mode .partner-onboard-steps--mini li.is-current {
    font-weight: 600;
    color: var(--ink);
    background: transparent !important;
}
body.partner-app-mode .partner-onboard-steps li.is-current .n,
body.partner-app-mode .partner-onboard-steps--mini li.is-current .n {
    background: var(--accent);
    border-color: var(--accent);
    color: var(--accent-ink);
}

/* Прогресс-стадия — без цветных «карточек внутри» */
body.partner-app-mode .partner-progress-stage {
    margin: 0 0 12px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
}
body.partner-app-mode .partner-progress-stage.is-now,
body.partner-app-mode .partner-progress-stage.is-ok,
body.partner-app-mode .partner-progress-stage.is-stuck,
body.partner-app-mode .partner-progress-stage.is-wait {
    background: transparent;
    border: none;
}
body.partner-app-mode .partner-progress-stage-title {
    margin: 0 0 4px;
    font-size: 17px;
    font-weight: 600;
    color: var(--ink);
}
body.partner-app-mode .partner-progress-stage-detail {
    margin: 0 0 10px;
    font-size: 14px;
    color: var(--ink-secondary);
}

@media (max-width: 768px) {
    body.partner-app-mode {
        padding-top: calc(52px + env(safe-area-inset-top, 0px));
        padding-bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px));
    }
    body.partner-app-mode .site-page.partner-cabinet,
    body.partner-app-mode .partner-cabinet {
        padding-left: 16px;
        padding-right: 16px;
        /* место под таббар + FAB, чтобы нижние заголовки/кнопки не уезжали под чат */
        padding-bottom: calc(var(--tabbar-h) + 84px + env(safe-area-inset-bottom, 0px));
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }

    /* Шапка */
    body.partner-app-mode .partner-app-topbar {
        height: calc(52px + env(safe-area-inset-top, 0px));
        padding: env(safe-area-inset-top, 0px) 8px 0;
        background: var(--bar);
        border-bottom: none;
        gap: 0;
    }
    body.partner-app-mode .partner-app-topbar-title {
        flex: 1;
        text-align: center;
        font-size: 16px;
        font-weight: 600;
        color: var(--bar-ink);
    }
    body.partner-app-mode .partner-app-topbar-back,
    body.partner-app-mode .partner-app-topbar-action,
    body.partner-app-mode .partner-app-topbar-spacer {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        color: var(--bar-ink-dim);
        border-radius: var(--radius);
        background: transparent;
    }
    body.partner-app-mode .partner-app-topbar-back:active,
    body.partner-app-mode .partner-app-topbar-action:active {
        background: var(--bar-line);
    }
    body.partner-app-mode .partner-app-topbar .partner-bell-btn {
        width: 44px;
        height: 44px;
        color: var(--bar-ink-dim);
        background: transparent;
        font-size: 0;
    }
    body.partner-app-mode .partner-app-topbar .partner-bell-btn::before {
        content: '';
        display: block;
        width: 22px;
        height: 22px;
        background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA0A8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.7 21a2 2 0 0 1-3.4 0'/%3E%3C/svg%3E");
    }

    /* HUD → строка показателей (как в макете: обычный поток, без sticky) */
    body.partner-app-mode .partner-hud {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0;
        width: calc(100% + 32px);
        max-width: none;
        margin: 0 -16px 16px;
        padding: 0;
        background: var(--surface);
        border-bottom: 1px solid var(--line);
        border-radius: 0;
        box-shadow: none;
        position: relative;
        top: auto;
        z-index: 1;
        box-sizing: border-box;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    body.partner-app-mode .partner-hud-pill {
        flex: 1;
        min-width: 0;
        display: block;
        padding: 10px 12px;
        border: none;
        border-right: 1px solid var(--line);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        text-decoration: none;
        color: var(--ink);
    }
    body.partner-app-mode .partner-hud-pill:last-of-type { border-right: none; }
    body.partner-app-mode .partner-hud-mark { display: none; }
    body.partner-app-mode .partner-hud-copy {
        align-items: flex-start;
        text-align: left;
        gap: 0;
    }
    body.partner-app-mode .partner-hud-k {
        font-size: 12px;
        font-weight: 400;
        letter-spacing: 0;
        text-transform: none;
        color: var(--ink-secondary);
    }
    body.partner-app-mode .partner-hud-v {
        font-size: 15px;
        font-weight: 600;
        color: var(--ink);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-variant-numeric: tabular-nums;
    }
    body.partner-app-mode .partner-hud-grace {
        display: none;
    }

    /* Скрыть дубль быстрых ссылок — в макете их нет */
    body.partner-app-mode .partner-app-quick-nav {
        display: none !important;
    }

    /* Таб-бар */
    body.partner-app-mode .partner-app-nav {
        height: calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px));
        padding: 2px 0 env(safe-area-inset-bottom, 0px);
        background: var(--bar);
        border-top: 1px solid var(--bar-line);
        box-shadow: none;
        max-width: 480px;
        margin: 0 auto;
        left: 0;
        right: 0;
    }
    body.partner-app-mode .partner-app-nav-item {
        color: var(--bar-ink-dim);
        background: transparent !important;
        border-radius: 0;
        min-height: 0;
        height: auto;
        padding: 4px 2px;
        gap: 3px;
        font-size: 11px;
        font-weight: 500;
    }
    body.partner-app-mode .partner-app-nav-item.is-active,
    body.partner-app-mode .partner-app-nav-item--btn.is-active,
    body.partner-app-mode .partner-app-nav-item--sale.is-active {
        color: var(--accent) !important;
        background: transparent !important;
    }
    body.partner-app-mode .partner-app-nav-ico {
        font-size: 0;
        line-height: 0;
        width: 23px;
        height: 23px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    body.partner-app-mode .partner-app-nav-ico .partner-app-ic {
        width: 23px;
        height: 23px;
    }
    body.partner-app-mode .partner-app-nav-badge {
        background: var(--accent);
        color: var(--accent-ink);
    }

    /* Шторка «Ещё» — светлое меню как в макете */
    body.partner-app-mode .partner-app-tools-panel {
        background: var(--bg);
        border-top: 1px solid var(--line);
        border-radius: 12px 12px 0 0;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.12);
        max-height: min(82vh, 640px);
        padding: 14px 16px calc(16px + env(safe-area-inset-bottom, 0px));
    }
    body.partner-app-mode .partner-app-tools-head h2 {
        color: var(--ink);
        font-size: 17px;
        font-weight: 600;
    }
    body.partner-app-mode .partner-app-tools-close { color: var(--ink-secondary); }
    body.partner-app-mode .partner-app-tools-grid {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    body.partner-app-mode .partner-app-tools-group-label {
        margin: 14px 0 6px 2px;
        font-size: 13px;
        font-weight: 500;
        letter-spacing: 0;
        text-transform: none;
        color: var(--ink-secondary);
    }
    body.partner-app-mode .partner-app-tools-group-label:first-child { margin-top: 0; }
    body.partner-app-mode .partner-app-tools-item {
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        gap: 12px;
        min-height: 0;
        padding: 12px 14px;
        border-radius: 0;
        background: var(--surface);
        border: 1px solid var(--line);
        border-bottom: none;
        color: var(--ink);
        font-size: 15px;
        font-weight: 400;
        text-align: left;
    }
    body.partner-app-mode .partner-app-tools-item:first-of-type,
    body.partner-app-mode .partner-app-tools-group-label + .partner-app-tools-item {
        border-radius: var(--radius) var(--radius) 0 0;
    }
    body.partner-app-mode .partner-app-tools-item:last-child,
    body.partner-app-mode .partner-app-tools-item:has(+ .partner-app-tools-group-label) {
        border-bottom: 1px solid var(--line);
        border-radius: 0 0 var(--radius) var(--radius);
        margin-bottom: 0;
    }
    body.partner-app-mode .partner-app-tools-item:active {
        background: var(--surface-dim);
    }
    body.partner-app-mode .partner-app-tools-item:hover,
    body.partner-app-mode .partner-app-tools-item:focus {
        border-color: var(--line);
        color: var(--ink);
    }
    body.partner-app-mode .partner-app-tools-ico {
        font-size: 16px;
        color: var(--ink-secondary);
        width: 20px;
        text-align: center;
    }
    body.partner-app-mode .partner-app-tools-badge {
        position: static;
        margin-left: auto;
        background: transparent;
        color: var(--accent-deep);
        font-size: 13px;
    }

    /* FAB чата — как в макете: тёмный круг + иконка, не текст «Чаты» */
    body.partner-app-mode .partner-ai {
        position: fixed;
        right: 16px;
        bottom: calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom, 0px));
        left: auto;
        top: auto;
        z-index: 9050;
        width: auto;
        height: auto;
        overflow: visible;
        transform: none;
    }
    body.partner-app-mode .partner-ai-trigger {
        position: relative;
        width: 52px;
        height: 52px;
        min-width: 52px;
        min-height: 52px;
        padding: 0 !important;
        border-radius: 50%;
        background: var(--bar) !important;
        color: var(--bar-ink) !important;
        border: none !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        font-size: 0;
        line-height: 0;
        overflow: visible;
    }
    body.partner-app-mode .partner-ai-trigger-ic {
        width: 24px;
        height: 24px;
        stroke: currentColor;
        fill: none;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    body.partner-app-mode .partner-ai-badge {
        position: absolute;
        top: 3px;
        right: 3px;
        min-width: 10px;
        width: auto;
        height: auto;
        min-height: 10px;
        padding: 0 4px;
        border-radius: 999px;
        background: var(--accent);
        color: var(--accent-ink);
        border: 2px solid var(--bg);
        font-size: 9px;
        font-weight: 700;
        line-height: 1.2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    body.partner-app-mode .partner-ai-badge[hidden] {
        display: none !important;
    }

    .partner-progress-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .partner-progress-date {
        width: 100%;
        flex-wrap: wrap;
    }
    .partner-progress-date input[type="date"],
    .partner-progress-date select,
    .partner-progress-date .form-control {
        flex: 1 1 auto;
        min-width: 0;
        width: 100%;
        font-size: 16px;
        min-height: 44px;
        box-sizing: border-box;
    }
    body.partner-app-mode .partner-cabinet input[type="text"],
    body.partner-app-mode .partner-cabinet input[type="url"],
    body.partner-app-mode .partner-cabinet input[type="tel"],
    body.partner-app-mode .partner-cabinet input[type="email"],
    body.partner-app-mode .partner-cabinet input[type="number"],
    body.partner-app-mode .partner-cabinet input[type="date"],
    body.partner-app-mode .partner-cabinet input[type="search"],
    body.partner-app-mode .partner-cabinet select,
    body.partner-app-mode .partner-cabinet textarea {
        font-size: 16px;
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* --- Профиль партнёра --- */
.partner-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background: #17181A;
    color: #fbbf24;
    font-size: 13px;
    font-weight: 700;
    flex: 0 0 auto;
}
.partner-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.partner-avatar--sm { width: 36px; height: 36px; font-size: 12px; }
.partner-avatar--lg { width: 88px; height: 88px; font-size: 28px; }
.partner-avatar--initials { letter-spacing: 0.02em; }
.partner-network-person {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.partner-profile-photo-row {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 14px;
}
.partner-profile-photo-preview { flex: 0 0 auto; }
.partner-profile-photo-fields { flex: 1; min-width: 0; }
.partner-profile-present-box {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--site-border, #e5e7eb);
}
.partner-profile-present-box h3 {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 600;
}
.partner-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 13px;
    color: var(--site-muted, #6b7280);
}
@media (max-width: 560px) {
    .partner-profile-photo-row { flex-direction: column; }
}

.partner-pitch-points {
    margin: 12px 0 0;
    padding-left: 18px;
    display: grid;
    gap: 6px;
    font-size: 14px;
    color: var(--site-muted, #626A75);
}
.partner-pitch-points code {
    font-size: 12px;
    word-break: break-all;
}

/* --- Глобальная защита от горизонтального скролла на мобильных (Яндекс.Браузер / Android) --- */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}
.partner-cabinet,
.partner-cabinet .site-panel,
.partner-stories,
.partner-stories-layout > *,
.partner-posts,
.partner-posts-layout > *,
.partner-home-grid > *,
.partner-network-grid > *,
.partner-points > *,
.partner-rating > *,
.partner-progress > *,
.partner-curator > * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.partner-cabinet code,
.partner-cabinet .partner-ref-url,
.partner-cabinet a {
    overflow-wrap: anywhere;
}
@media (max-width: 768px) {
    .partner-home-grid,
    .partner-network-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .partner-network-table-wrap,
    .partner-table-wrap {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .partner-ai-window {
        height: min(640px, calc(100dvh - 120px));
        max-height: calc(100dvh - 100px);
    }
    body.partner-app-mode .partner-app-tools-panel {
        max-height: min(82dvh, 640px);
    }
}
