
    /* ── Editorial personnel roster — paper & ink, hairline rules ──────── */
    .org-eyebrow {
        font-family: var(--ff-ui); font-weight: 700;
        letter-spacing: 0.01em; font-size: 0.68rem; color: var(--bp-muted);
    }
    .org-search .form-control, .org-search .input-group-text {
        background: var(--bp-paper); border-color: var(--bp-line);
    }
    .org-search .input-group-text { color: var(--bp-muted); }

    .org-card { background: var(--bp-paper); border: 1px solid var(--bp-line); border-radius: var(--bp-radius-lg); overflow: hidden; }
    .org-card-head { background: var(--bp-paper-2); border-bottom: 1px solid var(--bp-line); }

    /* Rows */
    /* Отступ уровня считает CSS, а не инлайн: шаг `--org-step` меняется на
       узком экране, а инлайновый padding перебить было бы нечем. */
    .org-row {
        --org-step: 1.4rem;
        display: flex; align-items: center; gap: 0.55rem; cursor: pointer;
        padding: 0.34rem 1.1rem;
        padding-left: calc(1.1rem + var(--depth, 0) * var(--org-step));
        position: relative; transition: background 0.14s ease;
    }
    .org-row + .org-row { border-top: 1px solid var(--bp-line); }
    .org-row:hover { background: var(--bp-paper-2); }
    .org-row:hover::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--bp-green); }
    .org-row.match { background: var(--bp-warning-tint); }
    .org-row.dragging { opacity: 0.4; }
    .org-row.droptarget { background: var(--bp-green-tint); box-shadow: inset 0 0 0 2px var(--bp-green); }
    /* Team grouping: managers head a tinted "team" band, members sit under an
       indent rail, and each top-level department gets a firmer divider. */
    .org-row.org-team-head { background: var(--bp-green-tint); }
    .org-row.org-team-head .org-name { font-weight: 600; }
    .org-row.org-team-head:hover { background: var(--bp-green-tint); filter: brightness(0.98); }
    .org-row.org-top { border-top: 2px solid var(--bp-line); }
    .org-row.org-indent::after {
        content: ''; position: absolute; top: 0; bottom: 0; width: 1px; background: var(--bp-line);
        left: calc((var(--depth) - 1) * var(--org-step) + 1.55rem);
    }
    .org-grip { color: var(--bp-line); cursor: grab; opacity: 0; transition: opacity 0.14s; }
    .org-row:hover .org-grip { opacity: 1; }
    .org-toggle {
        width: 1.1rem; flex: 0 0 1.1rem; cursor: pointer; color: var(--bp-muted);
        background: none; border: none; padding: 0; font-size: 0.85rem;
    }
    .org-dot { color: var(--bp-line); }

    /* Avatar */
    .org-ava {
        width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; overflow: hidden;
        background: linear-gradient(135deg, var(--bp-paper-2), var(--bp-line));
        border: 1.5px solid var(--bp-paper); box-shadow: var(--bp-shadow-card);
        display: inline-flex; align-items: center; justify-content: center;
        font-family: var(--ff-ui); font-weight: 600; font-size: 0.64rem; color: var(--bp-ink-soft);
    }
    .org-ava-lg { width: 84px; height: 84px; flex: 0 0 84px; font-size: 1.7rem; border: 3px solid var(--bp-paper); box-shadow: 0 4px 14px rgba(23,24,26,0.16); }

    /* Names use the body face (PP Mori) at a regular weight — the display face
       (Prostir Sans) is single-weight 900/black and reads far too heavy here. */
    .org-name { font-family: var(--ff-body); font-weight: 500; color: var(--bp-ink); font-size: 0.9rem; line-height: 1.2; }
    .org-pos { font-size: 0.74rem; color: var(--bp-ink-soft); background: var(--bp-paper-2); border-radius: 999px; padding: 0.1rem 0.6rem; white-space: nowrap; }
    .org-row .org-pos { background: transparent; border: 1px solid var(--bp-line); }
    .org-count { font-family: var(--ff-ui); font-size: 0.64rem; color: var(--bp-green-dark); background: var(--bp-green-tint); border-radius: 999px; padding: 0.1rem 0.5rem; white-space: nowrap; }
    .org-teamname {
        font-family: var(--ff-ui); font-size: 0.64rem; font-weight: 700;
        letter-spacing: 0.01em; color: var(--bp-green-dark); background: var(--bp-sheet);
        border: 1px solid var(--bp-green-dark); border-radius: 999px; padding: 0.06rem 0.55rem; white-space: nowrap;
    }
    .org-root { font-family: var(--ff-ui); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.01em; color: var(--bp-green-dark); }
    .org-place {
        font-size: 0.72rem; color: var(--bp-ink-soft); white-space: nowrap;
        border: 1px solid var(--bp-line); border-radius: 999px; padding: 0.1rem 0.6rem;
        display: inline-flex; align-items: center; gap: 0.3rem;
    }
    .org-place-hq { background: var(--bp-blue-tint); border-color: transparent; color: var(--bp-blue); }
    .org-place-club { background: var(--bp-green-tint); border-color: transparent; color: var(--bp-green-dark); }
    .org-place-inherited { background: transparent; border-style: dashed; color: var(--bp-muted); font-style: italic; }

    /* Investors */
    .org-investors { background: var(--bp-blue-tint); border: 1px solid var(--bp-line); border-radius: var(--bp-radius-lg); }
    .org-chip {
        display: inline-flex; align-items: center; gap: 0.5rem; cursor: pointer;
        background: var(--bp-paper); border: 1px solid var(--bp-line); border-radius: 999px;
        padding: 0.3rem 0.7rem 0.3rem 0.35rem; transition: all 0.14s;
    }
    .org-chip:hover { border-color: var(--bp-blue); box-shadow: 0 2px 8px rgba(23,24,26,0.08); }

    /* Drawer */
    .org-backdrop { position: fixed; inset: 0; background: rgba(23,24,26,0.34); z-index: 1085; animation: orgFade 0.2s ease; }
    .org-drawer {
        position: fixed; top: 0; right: 0; height: 100vh; width: 448px; max-width: 96vw;
        background: var(--bp-paper); border-left: 1px solid var(--bp-line);
        box-shadow: -18px 0 44px rgba(23,24,26,0.18); z-index: 1090; overflow-y: auto;
        animation: orgSlide 0.26s cubic-bezier(0.16, 1, 0.3, 1);
    }
    @keyframes orgSlide { from { transform: translateX(100%); } to { transform: translateX(0); } }
    @keyframes orgFade { from { opacity: 0; } to { opacity: 1; } }
    .org-drawer-head { background: var(--bp-paper-2); border-bottom: 1px solid var(--bp-line); }
    .org-mini {
        display: flex; align-items: center; gap: 0.6rem; padding: 0.5rem 0.6rem;
        border: 1px solid var(--bp-line); border-radius: var(--bp-radius-lg); background: var(--bp-paper); cursor: pointer; transition: all 0.14s;
    }
    .org-mini:hover { border-color: var(--bp-green); box-shadow: 0 2px 8px rgba(23,24,26,0.08); }
    .org-clubimg { width: 100%; height: 140px; object-fit: cover; border-radius: var(--bp-radius-lg); border: 1px solid var(--bp-line); }
    .org-info { display: flex; gap: 0.7rem; align-items: flex-start; padding: 0.6rem 0; border-bottom: 1px solid var(--bp-line); }
    .org-info:last-child { border-bottom: none; }
    .org-info-ic { color: var(--bp-muted); flex: 0 0 1.3rem; text-align: center; padding-top: 0.1rem; }
    .org-flabel { font-family: var(--ff-ui); font-size: 0.62rem; letter-spacing: 0.01em; color: var(--bp-muted); }
    .org-sec { font-family: var(--ff-ui); font-size: 0.64rem; letter-spacing: 0.01em; color: var(--bp-ink-soft); }

    /* ── Телефон ────────────────────────────────────────────────────────
       Ширина строки здесь всего 366px, и десктопная раскладка съедала имя:
       четвёртый уровень отдавал 107px одному отступу, а должность стояла
       рядом с именем в неразрывной пилюле. */
    @media (max-width: 767.98px) {
        .org-row {
            --org-step: 0.6rem;
            flex-wrap: wrap;
            min-height: 44px;
        }
        /* Должность — второй строкой на всю ширину, целиком, без обрезки. */
        .org-row .org-pos {
            flex: 1 1 100%;
            white-space: normal;
            margin-left: 2.2rem;
        }
        /* Мельче 11px текст на телефоне не читается. */
        .org-root,
        .org-count,
        .org-teamname,
        .org-flabel,
        .org-sec { font-size: 0.7rem; }
        .org-place { font-size: 0.74rem; }
    }
