/* /Components/CompanyProfile/AnketaGrid.razor.rz.scp.css */
.ps-ak[b-rjcfn854c2] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--s-4);
    font-family: var(--font-sans);
}

@media (max-width: 1100px) {
    .ps-ak[b-rjcfn854c2] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .ps-ak[b-rjcfn854c2] { grid-template-columns: 1fr; }
}

.ps-ak-sect[b-rjcfn854c2] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: var(--s-5);
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.ps-ak-sect--wide[b-rjcfn854c2] {
    grid-column: 1 / -1;
}

.ps-ak-h[b-rjcfn854c2] {
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
    font: 600 14px/1.3 var(--font-sans);
    color: var(--ink);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding-bottom: var(--s-2);
    border-bottom: 1px solid var(--border);
}

.ps-ak-count[b-rjcfn854c2] {
    margin-left: auto;
    color: var(--muted);
    font: 500 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    text-transform: none;
    letter-spacing: 0;
}

.ps-ak-rows[b-rjcfn854c2] {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.ps-ak-row[b-rjcfn854c2] {
    display: grid;
    grid-template-columns: 180px 1fr;
    align-items: baseline;
    gap: var(--s-3);
    padding: var(--s-2) 0;
    border-bottom: 1px solid var(--border);
    min-height: 28px;
}

    .ps-ak-row:last-of-type[b-rjcfn854c2] { border-bottom: none; }

/* Stacked row — label on its own line, value uses the full card width.
   Used for long values (address) that would otherwise wrap to many lines
   inside the narrow label+value grid. */
.ps-ak-row--stack[b-rjcfn854c2] {
    grid-template-columns: 1fr;
    gap: 2px;
}

.ps-ak-v--addr[b-rjcfn854c2] {
    word-break: normal;
    overflow-wrap: anywhere;
    line-height: 1.45;
}

.ps-ak-k[b-rjcfn854c2] {
    font: 500 11px/1.4 var(--font-sans);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-ak-v[b-rjcfn854c2] {
    color: var(--ink);
    font: 400 15px/1.5 var(--font-sans);
    word-break: break-word;
}

    .ps-ak-v.mono[b-rjcfn854c2] {
        font: 500 14px/1.5 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

/* ---- Inline status pill (Реєстрація section) ---- */
.ps-ak-pill[b-rjcfn854c2] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: var(--r-pill);
    font: 500 12px/1.3 var(--font-sans);
}

.ps-ak-pill--neutral[b-rjcfn854c2] { background: var(--surface);   color: var(--body); }
.ps-ak-pill--coral[b-rjcfn854c2]   { background: var(--coral-bg);  color: var(--coral); }
.ps-ak-pill--amber[b-rjcfn854c2]   { background: var(--amber-bg);  color: var(--amber); }
.ps-ak-pill--forest[b-rjcfn854c2]  { background: var(--forest-bg); color: var(--forest); }

.ps-ak-dot[b-rjcfn854c2] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.ps-ak-empty[b-rjcfn854c2] {
    color: var(--muted);
    font: 400 13px/1.5 var(--font-sans);
    padding: var(--s-2) 0;
}

/* ---- КВЕД list (wide section) ---- */
.ps-kveds[b-rjcfn854c2] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--s-3);
}

.ps-kved[b-rjcfn854c2] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: baseline;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    min-width: 0;
}

.ps-kved--main[b-rjcfn854c2] {
    background: var(--indigo-50);
    border-color: var(--indigo-200);
}

.ps-kved--more[b-rjcfn854c2] {
    background: transparent;
    border-style: dashed;
    border-color: var(--border-2);
    color: var(--muted);
    cursor: pointer;
    transition: border-color 0.12s ease, color 0.12s ease, background 0.12s ease;
}

    .ps-kved--more:hover[b-rjcfn854c2] {
        border-color: var(--indigo-200);
        color: var(--indigo-600);
        background: var(--indigo-50);
    }

.ps-kved-code[b-rjcfn854c2] {
    color: var(--ink);
    font: 600 14px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-kved--more .ps-kved-code[b-rjcfn854c2] { color: var(--muted); }

.ps-kved-name[b-rjcfn854c2] {
    color: var(--body);
    font: 400 13px/1.4 var(--font-sans);
    overflow: hidden;
    text-overflow: ellipsis;
}

.ps-kved-tag[b-rjcfn854c2] {
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--indigo-600);
    color: var(--white);
    font: 600 10px/1.4 var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}


/* ============================================================
   People sections (Founders / Beneficiaries / Heads)
   ============================================================ */
.ps-ak-people[b-rjcfn854c2] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-ak-person[b-rjcfn854c2] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--s-2) var(--s-3);
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
}

.ps-ak-person-h[b-rjcfn854c2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-2);
}

.ps-ak-person-name[b-rjcfn854c2] {
    font: 600 13px/1.3 var(--font-sans);
    color: var(--ink);
    flex: 1;
    min-width: 0;
}

/* Clickable ПІБ / ЄДРПОУ → universal search */
.ps-ak-link[b-rjcfn854c2] {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: color 0.12s ease;
}

    .ps-ak-link:hover[b-rjcfn854c2] {
        color: var(--indigo-600);
        text-decoration: underline;
    }

.ps-ak-person-code[b-rjcfn854c2] {
    font-size: 11px;
    color: var(--muted);
    flex-shrink: 0;
}

.ps-ak-person-meta[b-rjcfn854c2] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    align-items: center;
}

.ps-ak-person-role[b-rjcfn854c2] {
    display: inline-block;
    padding: 2px 8px;
    background: var(--indigo-50);
    color: var(--indigo-600);
    border-radius: var(--r-pill);
    font: 500 11px/1.4 var(--font-sans);
}

.ps-ak-person-tag[b-rjcfn854c2] {
    display: inline-block;
    padding: 2px 8px;
    background: var(--surface);
    color: var(--body);
    border-radius: var(--r-pill);
    font-size: 11px;
}

.ps-ak-person-tag--mute[b-rjcfn854c2]   { background: transparent; color: var(--muted); padding: 2px 0; }
.ps-ak-person-tag--coral[b-rjcfn854c2]  { background: var(--coral-bg); color: var(--coral); }

.ps-ak-person-meta-line[b-rjcfn854c2] {
    font-size: 12px;
    color: var(--body);
    margin-top: 2px;
}

.ps-ak-person--more[b-rjcfn854c2] {
    background: transparent;
    border-style: dashed;
    color: var(--muted);
    align-items: center;
    flex-direction: row;
    gap: var(--s-2);
    justify-content: center;
    cursor: pointer;
    transition: border-color 0.12s ease, color 0.12s ease, background 0.12s ease;
}

    .ps-ak-person--more:hover[b-rjcfn854c2] {
        border-color: var(--indigo-200);
        color: var(--indigo-600);
        background: var(--indigo-50);
    }

    .ps-ak-person--more .mono[b-rjcfn854c2] { color: var(--ink); font-weight: 600; }

.ps-ak-person--warn[b-rjcfn854c2] {
    border-color: var(--coral-border);
    background: var(--coral-bg);
}

    .ps-ak-person--warn .ps-ak-person-name[b-rjcfn854c2] { color: var(--coral); }

.ps-ak-count[b-rjcfn854c2] {
    margin-left: var(--s-2);
    padding: 2px 8px;
    background: var(--surface);
    color: var(--muted);
    border-radius: var(--r-pill);
    font-size: 12px;
    font-weight: 600;
}

/* ============================================================
   Branches
   ============================================================ */
.ps-ak-branches[b-rjcfn854c2] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--s-2);
}

.ps-ak-branch[b-rjcfn854c2] {
    padding: var(--s-2) var(--s-3);
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-ak-branch-h[b-rjcfn854c2] {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
    flex-wrap: wrap;
}

.ps-ak-branch-h b[b-rjcfn854c2],
.ps-ak-branch-name[b-rjcfn854c2] {
    font: 600 13px/1.3 var(--font-sans);
    color: var(--ink);
    flex: 1;
    min-width: 0;
}

.ps-ak-branch-code[b-rjcfn854c2] {
    font-size: 11px;
    color: var(--muted);
}

.ps-ak-branch-type[b-rjcfn854c2] {
    font-size: 11px;
    color: var(--indigo-600);
    padding: 1px 6px;
    background: var(--indigo-50);
    border-radius: var(--r-pill);
}

.ps-ak-branch-addr[b-rjcfn854c2] {
    font-size: 12px;
    color: var(--body);
    line-height: 1.4;
}

.ps-ak-branch-contact[b-rjcfn854c2] {
    display: flex;
    gap: var(--s-3);
    font-size: 11px;
    color: var(--muted);
}

.ps-ak-branch--more[b-rjcfn854c2] {
    border-style: dashed;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    background: transparent;
    color: var(--muted);
    gap: var(--s-2);
    cursor: pointer;
    transition: border-color 0.12s ease, color 0.12s ease, background 0.12s ease;
}

    .ps-ak-branch--more:hover[b-rjcfn854c2] {
        border-color: var(--indigo-200);
        color: var(--indigo-600);
        background: var(--indigo-50);
    }

    .ps-ak-branch--more .mono[b-rjcfn854c2] { color: var(--ink); font-weight: 600; }
/* /Components/CompanyProfile/CompanySidebar.razor.rz.scp.css */
.cs[b-4ev21pte9t] {
    width: 240px;
    flex-shrink: 0;
    align-self: flex-start;
    position: sticky;
    top: 80px;
    max-height: calc(100vh - 80px - var(--s-4));
    display: flex;
    flex-direction: column;
    background: var(--paper);
    border-right: 1px solid var(--border);
    font-family: var(--font-sans);
    transition: width 0.16s ease;
}

.cs-nav[b-4ev21pte9t] {
    display: flex;
    flex-direction: column;
    gap: 6px; /* between groups */
    flex: 1;
    overflow-y: auto;
    padding: var(--s-3) var(--s-2);
    scrollbar-width: thin;
}

    .cs-nav[b-4ev21pte9t]::-webkit-scrollbar { width: 4px; }
    .cs-nav[b-4ev21pte9t]::-webkit-scrollbar-thumb { background: var(--border-2); border-radius: 2px; }

.cs-group[b-4ev21pte9t] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cs-group-label[b-4ev21pte9t] {
    padding: var(--s-2) var(--s-3) 4px;
    color: var(--muted);
    font: 600 10px/1.4 var(--font-mono);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: color 0.12s ease;
}

/* Active group label — caps-mono section header turns indigo and
   bolder when the group contains the currently-open tab; it's the
   only "you are here" anchor for the user while their eye scans
   from top to bottom. */
.cs-group--active .cs-group-label[b-4ev21pte9t] {
    color: var(--indigo-600);
    font-weight: 700;
}

.cs-tab[b-4ev21pte9t] {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: 8px var(--s-3);
    border-radius: var(--r-md);
    color: var(--body);
    text-decoration: none;
    font: 500 13px/1.3 var(--font-sans);
    transition: background 0.12s ease, color 0.12s ease;
}

    .cs-tab:hover[b-4ev21pte9t] { background: var(--surface); color: var(--ink); }

/* Icon colour stays constant across states (per spec) */
.cs-tab-ic[b-4ev21pte9t] { color: var(--muted); flex-shrink: 0; }

.cs-tab-label[b-4ev21pte9t] {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cs-tab-count[b-4ev21pte9t] {
    flex-shrink: 0;
    min-width: 20px;
    padding: 1px 6px;
    border-radius: var(--r-pill);
    font: 600 11px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    text-align: center;
}

.cs-tab-count--amber[b-4ev21pte9t] { background: var(--amber-bg); color: var(--amber); }
.cs-tab-count--coral[b-4ev21pte9t] { background: var(--coral-bg); color: var(--coral); }

/* Pre-fetch spinner — replaces the count badge while
   CompanyTabPreloader's API call is still in flight. Same 14×14
   slot as the badge so the row doesn't shift when the data lands. */
.cs-tab-spinner[b-4ev21pte9t] {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    border: 2px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: cs-tab-spin-b-4ev21pte9t 0.7s linear infinite;
}

@keyframes cs-tab-spin-b-4ev21pte9t { to { transform: rotate(360deg); } }

/* Collapsed mode: tiny dot replaces the spinner so the icon
   column stays visually clean. */
.cs--collapsed .cs-tab-spinner[b-4ev21pte9t] {
    position: absolute;
    top: 4px;
    right: 6px;
    width: 8px;
    height: 8px;
    border-width: 1.5px;
}

/* ---- External-link variant (Зв'язки → /graph) ---- */
.cs-tab-ext[b-4ev21pte9t] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    color: var(--muted);
    flex-shrink: 0;
    margin-left: -2px;
    transition: color 0.12s ease;
}

.cs-tab--external:hover .cs-tab-ext[b-4ev21pte9t] { color: var(--indigo-600); }

/* Disabled state — used on the Connections link when the company /
   record has no real EDRPOU/РНОКПП (graph endpoint would return
   empty). Rendered as a non-anchor span; cursor + opacity signal
   that it's intentionally non-interactive. */
.cs-tab--disabled[b-4ev21pte9t],
.cs-tab--disabled:hover[b-4ev21pte9t] {
    background: transparent;
    color: var(--muted);
    cursor: not-allowed;
    opacity: 0.55;
}

    .cs-tab--disabled .cs-tab-ic[b-4ev21pte9t] {
        color: var(--muted);
    }

/* ---- Active state ----
   Three reinforcing signals so the "where am I" reads at a glance:
   indigo-50 row background, 3-px indigo-600 left pill, indigo-600
   icon. Font-weight bumps to 700 (label was 500 before) and color
   to indigo-800. Hover state held to the same look — clicking the
   already-active tab shouldn't visually change. */
.cs-tab--active[b-4ev21pte9t],
.cs-tab--active:hover[b-4ev21pte9t] {
    background: var(--indigo-50);
    color: var(--indigo-800);
    font-weight: 700;
}

.cs-tab--active[b-4ev21pte9t]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    background: var(--indigo-600);
    border-radius: 0 100px 100px 0;
}

/* Active icon turns indigo to reinforce the "where am I" affordance,
   especially in collapsed icon-only mode where the label is hidden. */
.cs-tab--active .cs-tab-ic[b-4ev21pte9t] { color: var(--indigo-600); }

/* ---- Collapse button ---- */
.cs-collapse[b-4ev21pte9t] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--s-2);
    margin: var(--s-2);
    padding: 8px;
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    background: var(--white);
    color: var(--muted);
    cursor: pointer;
    font: 500 12px/1 var(--font-sans);
    transition: background 0.12s ease, color 0.12s ease;
}

    .cs-collapse:hover[b-4ev21pte9t] { background: var(--surface); color: var(--ink); }

/* ---- Collapsed: icons only, 64px ---- */
.cs--collapsed[b-4ev21pte9t] { width: 64px; }
.cs--collapsed .cs-tab-label[b-4ev21pte9t] { display: none; }
.cs--collapsed .cs-group-label[b-4ev21pte9t] { display: none; }
.cs--collapsed .cs-tab[b-4ev21pte9t] { justify-content: center; padding: 8px; gap: 0; }

/* Group separator in icon-mode — labels are hidden, so a hairline
   border preserves the visual grouping that the caps-mono labels
   provide in the expanded layout. */
.cs--collapsed .cs-group + .cs-group[b-4ev21pte9t] {
    margin-top: var(--s-2, 8px);
    padding-top: var(--s-2, 8px);
    border-top: 1px solid var(--border);
}

/* External-link arrow (Зв'язки → /graph) — hide in collapsed icon
   mode so it doesn't push the tab past the 64-px column and trigger
   a horizontal scrollbar in .cs-nav. */
.cs--collapsed .cs-tab-ext[b-4ev21pte9t] { display: none; }

/* Defensive — kill horizontal scroll on the nav container itself.
   Vertical scroll stays via overflow-y: auto further up. */
.cs--collapsed .cs-nav[b-4ev21pte9t] { overflow-x: hidden; }

.cs--collapsed .cs-tab-count[b-4ev21pte9t] {
    position: absolute;
    top: 4px;
    right: 6px;
    min-width: 0;
    width: 8px;
    height: 8px;
    padding: 0;
    font-size: 0;
    border-radius: 50%;
}

/* Floating tooltip (collapsed only) ---- shows the section title on
   hover with a 300ms delay so it doesn't flash on accidental
   mouseovers. Pure CSS via ::after + transition-delay; native
   title="" still serves screen readers / mobile long-press. */
.cs--collapsed .cs-tab[b-4ev21pte9t] {
    position: relative;
}

.cs--collapsed .cs-tab[b-4ev21pte9t]::after {
    content: attr(data-tooltip);
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%);
    padding: 6px 10px;
    border-radius: var(--r-md);
    background: var(--ink);
    color: var(--white);
    font: 500 12px/1.4 var(--font-sans);
    letter-spacing: 0;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.12s ease;
    z-index: 100;
    box-shadow: var(--shadow-md);
}

.cs--collapsed .cs-tab[b-4ev21pte9t]::before {
    /* Speech-bubble arrow pointing back to the icon. Doesn't collide
       with the active-state ::before — active rule is on the link,
       this one is on a different pseudo. */
    /* Skipped — the floating tooltip looks cleaner without an arrow. */
}

.cs--collapsed .cs-tab:hover[b-4ev21pte9t]::after {
    opacity: 1;
    transition-delay: 300ms;
}

/* ---- Drawer triggers (hidden on desktop) ---- */
.cs-fab[b-4ev21pte9t] { display: none; }
.cs-backdrop[b-4ev21pte9t] { display: none; }

/* ============================================================
   Responsive — drawer under 1024px
   ----------------------------------------------------------------
   1024-1279 px is handled by the host shell (CompanyProfileV2)
   which forces icon-only mode inside its sidebar column. Drawer
   mode only kicks in once the viewport is narrow enough that even
   a 64-px column would waste content width.
   ============================================================ */
@media (max-width: 1023px) {
    .cs-fab[b-4ev21pte9t] {
        display: inline-flex;
        align-items: center;
        gap: var(--s-2);
        margin-bottom: var(--s-3);
        padding: 9px 16px;
        border: 1px solid var(--border-2);
        border-radius: var(--r-md);
        background: var(--white);
        color: var(--ink);
        font: 500 13px/1 var(--font-sans);
        cursor: pointer;
    }

        .cs-fab:hover[b-4ev21pte9t] { background: var(--indigo-50); border-color: var(--indigo-200); color: var(--indigo-800); }

    .cs[b-4ev21pte9t] {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        height: 100vh;
        max-height: none;
        width: 280px;
        z-index: 60;
        transform: translateX(-100%);
        transition: transform 0.2s ease;
        box-shadow: var(--shadow-lg);
        border-right: 1px solid var(--border);
    }

        .cs.cs--drawer-open[b-4ev21pte9t] { transform: translateX(0); }

    /* collapse is a desktop affordance — drawer is always full */
    .cs.cs--collapsed[b-4ev21pte9t] { width: 280px; }
    .cs--collapsed .cs-tab-label[b-4ev21pte9t] { display: inline; }
    .cs--collapsed .cs-group-label[b-4ev21pte9t] { display: block; }
    .cs--collapsed .cs-tab[b-4ev21pte9t] { justify-content: flex-start; padding: 8px var(--s-3); gap: var(--s-3); }

    .cs--collapsed .cs-tab-count[b-4ev21pte9t] {
        position: static;
        width: auto;
        height: auto;
        min-width: 20px;
        padding: 1px 6px;
        font-size: 11px;
        border-radius: var(--r-pill);
    }

    .cs-collapse[b-4ev21pte9t] { display: none; }

    .cs-backdrop[b-4ev21pte9t] {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(12, 12, 20, 0.4);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s ease;
        z-index: 59;
    }

        .cs-backdrop--on[b-4ev21pte9t] { opacity: 1; pointer-events: auto; }
}

@media (max-width: 767px) {
    .cs[b-4ev21pte9t],
    .cs.cs--collapsed[b-4ev21pte9t] { width: 100%; }
}
/* /Components/CompanyProfile/IdentityHero.razor.rz.scp.css */
.ps-hero-id[b-whssdy4rht] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    min-width: 0;
}

.ps-hero-badges[b-whssdy4rht] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
}

.ps-hero-badge[b-whssdy4rht] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: var(--r-pill);
    font: 500 12px/1.3 var(--font-sans);
}

.ps-hero-badge--neutral[b-whssdy4rht] { background: var(--surface);   color: var(--body); }
.ps-hero-badge--coral[b-whssdy4rht]   { background: var(--coral-bg);  color: var(--coral); }
.ps-hero-badge--amber[b-whssdy4rht]   { background: var(--amber-bg);  color: var(--amber); }
.ps-hero-badge--forest[b-whssdy4rht]  { background: var(--forest-bg); color: var(--forest); }

.ps-hero-badge-dot[b-whssdy4rht] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}

.ps-hero-name[b-whssdy4rht] {
    margin: 0;
    font: 600 40px/1.1 var(--font-sans);
    letter-spacing: -0.015em;
    color: var(--ink);
    word-break: break-word;
}

.ps-hero-meta[b-whssdy4rht] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px var(--s-2);
    color: var(--muted);
    font: 400 13px/1.5 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

    .ps-hero-meta b[b-whssdy4rht] {
        color: var(--ink);
        font-weight: 600;
    }

.ps-hero-sep[b-whssdy4rht] {
    color: var(--border-2);
}

.ps-hero-addr[b-whssdy4rht] {
    max-width: 60ch;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---- "Актуально" freshness indicator ---- */
.ps-hero-fresh[b-whssdy4rht] {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
}

.ps-hero-fresh-dot[b-whssdy4rht] {
    align-self: center;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.ps-hero-fresh--forest[b-whssdy4rht] { background: var(--forest); }
.ps-hero-fresh--amber[b-whssdy4rht]  { background: var(--amber); }
.ps-hero-fresh--coral[b-whssdy4rht]  { background: var(--coral); }

.ps-hero-fresh-rel[b-whssdy4rht] { color: var(--muted); }
/* /Components/CompanyProfile/PepPersonMarker.razor.rz.scp.css */
/* ---- Badge (next to ПІБ) + hover preview ---- */
.ps-pepm[b-cvaj4aeloc] {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
}

.ps-pepm-badge[b-cvaj4aeloc] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border: 1px solid var(--amber-border);
    border-radius: var(--r-pill);
    background: var(--amber-bg);
    color: var(--amber);
    font: 600 11px/1.3 var(--font-sans);
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.12s ease, border-color 0.12s ease;
}

    .ps-pepm-badge:hover[b-cvaj4aeloc] {
        background: var(--amber);
        border-color: var(--amber);
        color: var(--white);
    }

/* Hover popover — pure CSS, no JS. */
.ps-pepm-pop[b-cvaj4aeloc] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 60;
    display: none;
    flex-direction: column;
    gap: 6px;
    width: 320px;
    max-width: 80vw;
    padding: var(--s-3);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    cursor: default;
}

.ps-pepm:hover .ps-pepm-pop[b-cvaj4aeloc],
.ps-pepm:focus-within .ps-pepm-pop[b-cvaj4aeloc] {
    display: flex;
}

.ps-pepm-pop-h[b-cvaj4aeloc] {
    color: var(--muted);
    font: 600 11px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

    .ps-pepm-pop-h .mono[b-cvaj4aeloc] { color: var(--ink); }

.ps-pepm-pop-srcs[b-cvaj4aeloc] {
    display: block;
    margin-top: 2px;
    color: var(--amber);
    font: 500 10px/1.3 var(--font-sans);
    letter-spacing: 0;
    text-transform: none;
}

.ps-pepm-pop-row[b-cvaj4aeloc] {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
    padding: 4px 0;
    border-top: 1px dashed var(--border);
    font: 400 12px/1.4 var(--font-sans);
    color: var(--body);
}

    .ps-pepm-pop-row:first-of-type[b-cvaj4aeloc] { border-top: none; }

.ps-pepm-pop-yr[b-cvaj4aeloc] {
    flex-shrink: 0;
    width: 64px;
    color: var(--muted);
    font-size: 11px;
    font-feature-settings: var(--font-feature-tnum);
}

.ps-pepm-pop-body[b-cvaj4aeloc] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

    .ps-pepm-pop-body b[b-cvaj4aeloc] { color: var(--ink); font-weight: 600; }
    .ps-pepm-pop-body small[b-cvaj4aeloc] { color: var(--muted); font-size: 11px; }

.ps-pepm-pop-row.is-active .ps-pepm-pop-body b[b-cvaj4aeloc] { color: var(--amber); }

.ps-pepm-pop-tag[b-cvaj4aeloc] {
    flex-shrink: 0;
    padding: 1px 6px;
    border-radius: var(--r-sm);
    background: var(--surface);
    color: var(--muted);
    font-size: 10px;
}

.ps-pepm-pop-more[b-cvaj4aeloc] {
    color: var(--muted);
    font-size: 11px;
}

.ps-pepm-pop-cta[b-cvaj4aeloc] {
    margin-top: 2px;
    color: var(--indigo-600);
    font: 600 12px/1.2 var(--font-sans);
}

/* ---- Inline marker line (under role) ---- */
.ps-pepm-line[b-cvaj4aeloc] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 0;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--amber);
    font: 500 12px/1.4 var(--font-sans);
    text-align: left;
}

    .ps-pepm-line-status[b-cvaj4aeloc] { font-weight: 700; }

.ps-pepm-line-pos[b-cvaj4aeloc] { color: var(--body); }

.ps-pepm-line-arrow[b-cvaj4aeloc] {
    color: var(--indigo-600);
    font-weight: 700;
}

.ps-pepm-line:hover .ps-pepm-line-arrow[b-cvaj4aeloc] { text-decoration: underline; }
/* /Components/CompanyProfile/ProfileSummary.razor.rz.scp.css */
.ps-sum[b-ek1nlg3d4j] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--s-4);
}

@media (max-width: 1100px) {
    .ps-sum[b-ek1nlg3d4j] { grid-template-columns: 1fr; }
}

.ps-sum-card[b-ek1nlg3d4j] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-5);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

/* Left accent rail tinted by card kind. */
.ps-sum-card--flags[b-ek1nlg3d4j]      { box-shadow: inset 3px 0 0 var(--coral); }
.ps-sum-card--positive[b-ek1nlg3d4j]   { box-shadow: inset 3px 0 0 var(--forest); }
.ps-sum-card--connections[b-ek1nlg3d4j]{ box-shadow: inset 3px 0 0 var(--indigo-600); }

.ps-sum-h[b-ek1nlg3d4j] {
    color: var(--muted);
    font: 600 11px/1.4 var(--font-mono);
    letter-spacing: 0.06em;
    font-feature-settings: var(--font-feature-tnum);
}

    .ps-sum-h b[b-ek1nlg3d4j] { color: var(--ink); }

.ps-sum-list[b-ek1nlg3d4j] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

    .ps-sum-list li[b-ek1nlg3d4j] {
        display: flex;
        align-items: baseline;
        gap: var(--s-2);
        font: 400 13px/1.45 var(--font-sans);
        color: var(--body);
    }

.ps-sum-txt[b-ek1nlg3d4j] { flex: 1; min-width: 0; }

.ps-sum-detail[b-ek1nlg3d4j] {
    color: var(--muted);
    font-size: 11px;
    white-space: nowrap;
    font-feature-settings: var(--font-feature-tnum);
}

.ps-flag-dot[b-ek1nlg3d4j] {
    flex-shrink: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    margin-top: 5px;
}

.ps-flag-red[b-ek1nlg3d4j]   { background: var(--coral); }
.ps-flag-amber[b-ek1nlg3d4j] { background: var(--amber); }
.ps-flag-green[b-ek1nlg3d4j] { background: var(--forest); }

.ps-sum-empty[b-ek1nlg3d4j] {
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
    color: var(--muted);
    font: 400 13px/1.45 var(--font-sans);
}

/* ---- Connections card ---- */
.ps-conn-chips[b-ek1nlg3d4j] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
}

.ps-conn-chip[b-ek1nlg3d4j] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: var(--r-pill);
    background: var(--indigo-50);
    border: 1px solid var(--indigo-100);
    color: var(--indigo-800);
    font: 500 12px/1 var(--font-sans);
}

    .ps-conn-chip b[b-ek1nlg3d4j] {
        font-family: var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-sum-link[b-ek1nlg3d4j] {
    align-self: flex-start;
    margin-top: auto;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--indigo-600);
    font: 500 13px/1.2 var(--font-sans);
    transition: color 0.12s ease;
}

    .ps-sum-link:hover[b-ek1nlg3d4j] { color: var(--indigo-800); text-decoration: underline; }

/* PEP attention row inside the connections card */
.ps-sum-pep[b-ek1nlg3d4j] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border: 1px solid var(--amber-border);
    border-radius: var(--r-md);
    background: var(--amber-bg);
    color: var(--amber);
    font: 500 12px/1.3 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease;
}

    .ps-sum-pep b[b-ek1nlg3d4j] {
        font-family: var(--font-mono);
        font-weight: 700;
        font-feature-settings: var(--font-feature-tnum);
    }

    .ps-sum-pep:hover[b-ek1nlg3d4j] { background: var(--amber-bg); filter: brightness(0.97); }

.ps-sum-pep-arrow[b-ek1nlg3d4j] { font-weight: 700; }
/* /Components/CompanyProfile/RiskBreakdown.razor.rz.scp.css */
.rbd-backdrop[b-a11s2anins] {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    justify-content: flex-end;
    background: rgba(16, 16, 43, 0.32);
    backdrop-filter: blur(2px);
    animation: rbd-fade-b-a11s2anins 0.15s ease;
}

@keyframes rbd-fade-b-a11s2anins { from { opacity: 0; } to { opacity: 1; } }

.rbd[b-a11s2anins] {
    width: 100%;
    max-width: 420px;
    height: 100%;
    overflow-y: auto;
    padding: var(--s-6);
    background: var(--white);
    border-left: 1px solid var(--border);
    box-shadow: var(--shadow-lg, -8px 0 32px rgba(16, 16, 43, 0.18));
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
    animation: rbd-slide-b-a11s2anins 0.2s ease;
}

@keyframes rbd-slide-b-a11s2anins { from { transform: translateX(24px); } to { transform: translateX(0); } }

.rbd-head[b-a11s2anins] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--s-3);
}

.rbd-eyebrow[b-a11s2anins] {
    display: block;
    font-size: 11px;
    letter-spacing: 0.08em;
    color: var(--muted);
    margin-bottom: 4px;
}

.rbd-title[b-a11s2anins] {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
    margin: 0;
}

.rbd-total[b-a11s2anins] {
    font: 700 32px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.rbd-of[b-a11s2anins] {
    font: 500 14px/1 var(--font-sans);
    color: var(--muted);
}

.rbd-close[b-a11s2anins] {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    background: var(--white);
    color: var(--muted);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

    .rbd-close:hover[b-a11s2anins] { background: var(--surface); color: var(--ink); }

/* ---- Category dot in the header ---- */
.rbd-cat-dot[b-a11s2anins] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
}

.rbd-cat-dot--forest[b-a11s2anins] { background: var(--forest); }
.rbd-cat-dot--amber[b-a11s2anins]  { background: var(--amber); }
.rbd-cat-dot--coral[b-a11s2anins]  { background: var(--coral); }

/* ---- Factor groups ---- */
.rbd-group[b-a11s2anins] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rbd-section-h[b-a11s2anins] {
    display: block;
    font-size: 10px;
    letter-spacing: 0.08em;
    color: var(--muted);
}

.rbd-rows[b-a11s2anins] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    overflow: hidden;
}

.rbd-row[b-a11s2anins] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    padding: 10px 14px;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
}

    .rbd-row:last-child[b-a11s2anins] { border-bottom: none; }

.rbd-row-mark[b-a11s2anins] {
    flex-shrink: 0;
    width: 18px;
    text-align: center;
    font-size: 13px;
}

.rbd-row-label[b-a11s2anins] {
    flex: 1;
    color: var(--ink);
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.rbd-row-detail[b-a11s2anins] {
    font-size: 11px;
    color: var(--muted);
}

.rbd-dd[b-a11s2anins] {
    display: inline-block;
    margin-top: 4px;
    font: 500 12px/1.2 var(--font-mono);
    color: var(--muted);
}

.rbd-row-meta[b-a11s2anins] { font-size: 11px; color: var(--muted); }

.rbd-row-pts[b-a11s2anins] {
    flex-shrink: 0;
    font: 600 14px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    color: var(--muted);
}

.rbd-row--hard    .rbd-row-mark[b-a11s2anins],
.rbd-row--hard    .rbd-row-pts[b-a11s2anins] { color: var(--coral); }
.rbd-row--hard    .rbd-row-label[b-a11s2anins] { font-weight: 600; }
.rbd-row--neg     .rbd-row-mark[b-a11s2anins],
.rbd-row--neg     .rbd-row-pts[b-a11s2anins] { color: var(--amber); }
.rbd-row--pos     .rbd-row-mark[b-a11s2anins],
.rbd-row--pos     .rbd-row-pts[b-a11s2anins] { color: var(--forest); }
.rbd-row--base[b-a11s2anins]    { background: var(--surface); }
.rbd-row--base    .rbd-row-mark[b-a11s2anins] { color: var(--muted); }
.rbd-row--pending .rbd-row-label[b-a11s2anins],
.rbd-row--pending .rbd-row-pts[b-a11s2anins] { color: var(--muted); }

/* ---- Hard-stops ---- */
.rbd-hardstops[b-a11s2anins] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px 14px;
    border: 1px solid var(--coral);
    border-radius: var(--r-lg);
    background: var(--coral-bg);
}

.rbd-hs-row[b-a11s2anins] { display: flex; flex-direction: column; gap: 1px; }
.rbd-hs-label[b-a11s2anins] { font: 600 13px/1.3 var(--font-sans); color: var(--coral); }
.rbd-hs-ref[b-a11s2anins] { font-size: 11px; color: var(--coral); opacity: 0.8; }

/* ---- Subtotal + floor note ---- */
.rbd-subtotal[b-a11s2anins] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2px 2px;
    font: 500 13px/1 var(--font-sans);
    color: var(--muted);
}

.rbd-floor[b-a11s2anins] {
    display: flex;
    gap: 8px;
    padding: 10px 12px;
    border-radius: var(--r-md);
    background: var(--amber-bg);
    border: 1px solid var(--amber-border, var(--amber));
}

.rbd-floor-mark[b-a11s2anins] { color: var(--amber); font-size: 14px; line-height: 1.4; }
.rbd-floor-text[b-a11s2anins] { display: block; font: 500 12px/1.5 var(--font-sans); color: var(--ink); }
.rbd-floor-delta[b-a11s2anins] { display: inline-block; margin-top: 3px; font: 600 12px/1 var(--font-mono); color: var(--amber); }

/* ---- Total ---- */
.rbd-sum[b-a11s2anins] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 2px;
    font: 600 15px/1 var(--font-sans);
    color: var(--ink);
}

.rbd-sum-val[b-a11s2anins] {
    font: 700 22px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

/* ---- Note + methodology ---- */
.rbd-note[b-a11s2anins] {
    margin: 0;
    padding: 12px 14px;
    background: var(--surface);
    border-radius: var(--r-md);
    color: var(--muted);
    font: 400 12px/1.6 var(--font-sans);
}

.rbd-method[b-a11s2anins] {
    align-self: flex-start;
    color: var(--indigo-600);
    font: 600 13px/1 var(--font-sans);
    text-decoration: none;
}

    .rbd-method:hover[b-a11s2anins] { text-decoration: underline; }

@media (max-width: 480px) {
    .rbd[b-a11s2anins] { max-width: 100%; }
}
/* /Components/CompanyProfile/RiskMeter.razor.rz.scp.css */
.ps-rm[b-nufzphxbbo] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Donut (numeric score) ---- */
.ps-rm-donut[b-nufzphxbbo] {
    position: relative;
    flex-shrink: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 50%;
    font: inherit;
    color: inherit;
}

.ps-rm-donut svg[b-nufzphxbbo] { display: block; }
.ps-rm-donut--clickable[b-nufzphxbbo] { cursor: pointer; }
.ps-rm-donut--clickable:hover[b-nufzphxbbo] { filter: brightness(0.97); }
.ps-rm-donut--clickable:focus-visible[b-nufzphxbbo] { outline: 2px solid var(--indigo-600); outline-offset: 3px; }

.ps-rm-val[b-nufzphxbbo] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    pointer-events: none;
}

    .ps-rm-val span:first-child[b-nufzphxbbo] {
        font: 700 34px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
        color: var(--ink);
    }

    .ps-rm-val small[b-nufzphxbbo] { font: 500 11px/1 var(--font-sans); color: var(--muted); }

/* ---- Hard-stop card ---- */
.ps-rm-hardstop[b-nufzphxbbo] {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    padding: 16px 20px;
    border-radius: var(--r-lg);
    background: var(--coral-bg);
    border: 1px solid var(--coral);
    cursor: pointer;
    text-align: left;
}

.ps-rm-hardstop-ic[b-nufzphxbbo] { font-size: 26px; line-height: 1; }
.ps-rm-hardstop-text[b-nufzphxbbo] { display: flex; flex-direction: column; gap: 2px; }
.ps-rm-hardstop-h[b-nufzphxbbo] { font: 700 20px/1.1 var(--font-sans); color: var(--coral); }
.ps-rm-hardstop-sub[b-nufzphxbbo] { font: 500 12px/1.3 var(--font-sans); color: var(--coral); opacity: 0.85; }

/* ---- Side column ---- */
.ps-rm-side[b-nufzphxbbo] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    max-width: 250px;
}

.ps-rm-status[b-nufzphxbbo] { font: 700 18px/1.2 var(--font-sans); }
.ps-rm-status--forest[b-nufzphxbbo] { color: var(--forest); }
.ps-rm-status--amber[b-nufzphxbbo]  { color: var(--amber); }
.ps-rm-status--coral[b-nufzphxbbo]  { color: var(--coral); }

.ps-rm-dd[b-nufzphxbbo] {
    font: 500 12px/1.2 var(--font-mono);
    color: var(--muted);
}

.ps-rm-disclaimer[b-nufzphxbbo] {
    margin: 2px 0 0;
    font: 400 11px/1.45 var(--font-sans);
    color: var(--muted);
}

.ps-rm-ver[b-nufzphxbbo] {
    font: 400 10px/1.3 var(--font-mono);
    color: var(--muted);
    opacity: 0.8;
}

.ps-rm-explain[b-nufzphxbbo] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    align-self: flex-start;
    padding: 0;
    border: none;
    background: none;
    color: var(--indigo-600);
    font: 600 12px/1.3 var(--font-sans);
    cursor: pointer;
    text-align: left;
}

    .ps-rm-explain:hover[b-nufzphxbbo] { text-decoration: underline; }
/* /Components/CompanyProfile/SanctionsView.razor.rz.scp.css */
.ps-sc[b-yez93ka2un] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Loading / empty ---- */
.ps-sc-loading[b-yez93ka2un],
.ps-sc-empty[b-yez93ka2un] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.ps-sc-spinner[b-yez93ka2un] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-sc-spin-b-yez93ka2un 0.7s linear infinite;
}

@keyframes ps-sc-spin-b-yez93ka2un { to { transform: rotate(360deg); } }

.ps-sc-empty h3[b-yez93ka2un] {
    margin: 0;
    color: var(--ink);
    font: 600 18px/1.3 var(--font-sans);
}

.ps-sc-empty p[b-yez93ka2un] {
    margin: 0;
    max-width: 56ch;
    font: 400 14px/1.5 var(--font-sans);
}

.ps-sc-empty--ok[b-yez93ka2un] {
    background: var(--forest-bg);
    border-color: var(--forest-border);
}

    .ps-sc-empty--ok h3[b-yez93ka2un] { color: var(--forest); }
    .ps-sc-empty--ok p[b-yez93ka2un]  { color: var(--body); }

.ps-sc-ok-ic[b-yez93ka2un] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--white);
    color: var(--forest);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 700 22px/1 var(--font-sans);
    box-shadow: 0 0 0 2px var(--forest-border);
}

/* ---- Alert banner ---- */
.ps-sc-alert[b-yez93ka2un] {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--s-4);
    padding: var(--s-4) var(--s-5);
    background: var(--coral-bg);
    border: 1px solid var(--coral-border);
    border-radius: var(--r-xl);
    color: var(--ink);
}

@media (max-width: 720px) {
    .ps-sc-alert[b-yez93ka2un] { grid-template-columns: 48px 1fr; }
    .ps-sc-alert-meta[b-yez93ka2un] { grid-column: 1 / -1; }
}

.ps-sc-alert-ic[b-yez93ka2un] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--coral);
    color: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 700 22px/1 var(--font-sans);
}

.ps-sc-alert-body h3[b-yez93ka2un] {
    margin: 0 0 4px;
    font: 600 16px/1.3 var(--font-sans);
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    flex-wrap: wrap;
}

    .ps-sc-alert-body h3 .mono[b-yez93ka2un] {
        color: var(--coral);
        font: 600 14px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-sc-alert-body p[b-yez93ka2un] {
    margin: 0;
    color: var(--body);
    font: 400 13px/1.5 var(--font-sans);
}

    .ps-sc-alert-body p b[b-yez93ka2un] {
        color: var(--ink);
        font-weight: 600;
    }

.ps-sc-alert-meta[b-yez93ka2un] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--s-2) var(--s-3);
    background: var(--white);
    border: 1px solid var(--coral-border);
    border-radius: var(--r-md);
    min-width: 200px;
}

    .ps-sc-alert-meta span[b-yez93ka2un] {
        color: var(--muted);
        font: 500 10px/1.4 var(--font-mono);
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .ps-sc-alert-meta b[b-yez93ka2un] {
        color: var(--coral);
        font: 600 13px/1.4 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

/* ---- Body 2-col ---- */
.ps-sc-body[b-yez93ka2un] {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: var(--s-4);
    align-items: start;
}

@media (max-width: 1100px) {
    .ps-sc-body[b-yez93ka2un] { grid-template-columns: 1fr; }
}

/* ---- LEFT aside ---- */
.ps-sc-side[b-yez93ka2un] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: var(--s-4);
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.ps-sc-side-h[b-yez93ka2un] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-bottom: var(--s-2);
    border-bottom: 1px solid var(--border);
}

.ps-sc-eyebrow[b-yez93ka2un] {
    color: var(--muted);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ps-sc-side-h b[b-yez93ka2un] {
    color: var(--ink);
    font: 600 14px/1.3 var(--font-sans);
}

.ps-sc-countries[b-yez93ka2un],
.ps-sc-versions[b-yez93ka2un] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ps-sc-countries li[b-yez93ka2un] {
    display: grid;
    grid-template-columns: 28px 1fr auto;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-2);
    border-radius: var(--r-md);
    cursor: pointer;
    transition: background 0.12s ease;
}

    .ps-sc-countries li:hover[b-yez93ka2un] { background: var(--paper); }

.ps-sc-country--sel[b-yez93ka2un] {
    background: var(--indigo-50);
}

    .ps-sc-country--sel:hover[b-yez93ka2un] { background: var(--indigo-50); }

.ps-sc-country--dim[b-yez93ka2un] {
    cursor: default;
    opacity: 0.7;
}

    .ps-sc-country--dim:hover[b-yez93ka2un] { background: transparent; }

.ps-sc-flag[b-yez93ka2un] {
    font-size: 22px;
    line-height: 1;
}

.ps-sc-flag--dim[b-yez93ka2un] { opacity: 0.4; }

.ps-sc-country-info[b-yez93ka2un] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .ps-sc-country-info b[b-yez93ka2un] {
        color: var(--ink);
        font: 500 13px/1.3 var(--font-sans);
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .ps-sc-country-info small[b-yez93ka2un] {
        color: var(--muted);
        font: 400 11px/1.3 var(--font-sans);
    }

.ps-sc-pill[b-yez93ka2un] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 10px/1.4 var(--font-sans);
    text-transform: lowercase;
}

.ps-sc-pill--coral[b-yez93ka2un] {
    background: var(--coral-bg);
    color: var(--coral);
}

.ps-sc-pill--forest[b-yez93ka2un] {
    background: var(--forest-bg);
    color: var(--forest);
}

.ps-sc-pill--outline[b-yez93ka2un] {
    background: transparent;
    border: 1px solid currentColor;
}

.ps-sc-pill-dot[b-yez93ka2un] {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
}

/* Versions list */
.ps-sc-versions li[b-yez93ka2un] {
    display: grid;
    grid-template-columns: 92px 1fr;
    align-items: baseline;
    gap: var(--s-2);
    padding: var(--s-2);
    border-radius: var(--r-md);
}

.ps-sc-versions span.mono[b-yez93ka2un] {
    color: var(--muted);
    font: 500 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-sc-versions b[b-yez93ka2un] {
    color: var(--ink);
    font: 500 12px/1.3 var(--font-sans);
}

.ps-sc-ver--active[b-yez93ka2un] {
    background: var(--coral-bg);
}

    .ps-sc-ver--active b[b-yez93ka2un] { color: var(--coral); }

/* ---- RIGHT detail ---- */
.ps-sc-detail[b-yez93ka2un] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: var(--s-5);
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
}

.ps-sc-meta-grid[b-yez93ka2un] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--s-4);
}

@media (max-width: 900px) { .ps-sc-meta-grid[b-yez93ka2un] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .ps-sc-meta-grid[b-yez93ka2un] { grid-template-columns: 1fr; } }

.ps-sc-meta-grid > div[b-yez93ka2un] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-sc-meta-grid b[b-yez93ka2un] {
    color: var(--ink);
    font: 500 14px/1.3 var(--font-sans);
    word-break: break-word;
}

.ps-sc-meta-grid b.mono[b-yez93ka2un] {
    font-family: var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-sc-tx-coral[b-yez93ka2un] { color: var(--coral); }
.ps-sc-tx-forest[b-yez93ka2un] { color: var(--forest); }

/* ---- Sanction-type chips ---- */
.ps-sc-type-chips[b-yez93ka2un] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 2px;
}

.ps-sc-type-chip[b-yez93ka2un] {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    background: var(--coral-bg);
    color: var(--coral);
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
    border: 1px solid var(--coral-border);
}

.ps-sc-reason[b-yez93ka2un] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    padding: var(--s-4);
    background: var(--paper);
    border-radius: var(--r-lg);
    border-left: 3px solid var(--coral);
}

    .ps-sc-reason p[b-yez93ka2un] {
        margin: 0;
        color: var(--body);
        font: 400 13px/1.7 var(--font-sans);
    }

/* Timeline */
.ps-sc-timeline[b-yez93ka2un] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-sc-tl[b-yez93ka2un] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-sc-tl-period[b-yez93ka2un] {
    display: grid;
    grid-template-columns: 220px 1fr auto;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    border-radius: var(--r-md);
    border: 1px solid var(--border);
    background: var(--paper);
}

@media (max-width: 720px) {
    .ps-sc-tl-period[b-yez93ka2un] {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

.ps-sc-tl-period--active[b-yez93ka2un] {
    background: var(--coral-bg);
    border-color: var(--coral-border);
}

.ps-sc-tl-period--expired[b-yez93ka2un] {
    opacity: 0.7;
}

.ps-sc-tl-dates[b-yez93ka2un] {
    color: var(--ink);
    font: 500 12px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-sc-tl-period b[b-yez93ka2un] {
    color: var(--ink);
    font: 500 13px/1.4 var(--font-sans);
}

.ps-sc-tl-period small[b-yez93ka2un] {
    color: var(--muted);
    font: 400 11px/1.3 var(--font-sans);
    text-align: right;
}

/* Identifiers */
.ps-sc-identifiers ul[b-yez93ka2un] {
    list-style: none;
    margin: var(--s-2) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-2);
}

@media (max-width: 720px) {
    .ps-sc-identifiers ul[b-yez93ka2un] { grid-template-columns: 1fr; }
}

.ps-sc-identifiers li[b-yez93ka2un] {
    display: grid;
    grid-template-columns: 80px 1fr;
    align-items: baseline;
    gap: var(--s-2);
    padding: 6px var(--s-2);
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
}

.ps-sc-id-type[b-yez93ka2un] {
    color: var(--muted);
    font: 500 10px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
/* /Components/CompanyProfile/Tabs/ConnectionsTabV2.razor.rz.scp.css */
.ps-gr[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Loading / empty ---- */
.ps-gr-loading[b-tebnqwf4nx],
.ps-gr-empty[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.ps-gr-spinner[b-tebnqwf4nx] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-gr-spin-b-tebnqwf4nx 0.7s linear infinite;
}

@keyframes ps-gr-spin-b-tebnqwf4nx { to { transform: rotate(360deg); } }

.ps-gr-empty h3[b-tebnqwf4nx] { margin: 0; color: var(--ink); font: 600 18px/1.3 var(--font-sans); }
.ps-gr-empty p[b-tebnqwf4nx]  { margin: 0; max-width: 56ch; font: 400 14px/1.5 var(--font-sans); }

.ps-gr-cta[b-tebnqwf4nx] {
    margin-top: var(--s-2);
    padding: 10px 18px;
    background: var(--indigo-600);
    color: var(--white);
    text-decoration: none;
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
}

    .ps-gr-cta:hover[b-tebnqwf4nx] { background: var(--indigo-800); }

/* ---- Top toolbar ---- */
.ps-gr-bar[b-tebnqwf4nx] {
    display: flex;
    align-items: flex-start;
    gap: var(--s-4);
    padding: var(--s-3) var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    flex-wrap: wrap;
}

.ps-gr-toolbar[b-tebnqwf4nx] {
    display: flex;
    align-items: flex-start;
    gap: var(--s-5);
    flex-wrap: wrap;
}

.ps-gr-tool[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-gr-tool-h[b-tebnqwf4nx] {
    color: var(--muted);
    font: 500 10px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ps-gr-depth[b-tebnqwf4nx] {
    display: inline-flex;
    background: var(--surface);
    padding: 3px;
    border-radius: var(--r-md);
    gap: 2px;
}

.ps-gr-depth-pill[b-tebnqwf4nx] {
    width: 28px;
    height: 24px;
    border: none;
    background: transparent;
    border-radius: 5px;
    color: var(--muted);
    font: 500 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-gr-depth-pill:hover[b-tebnqwf4nx] { color: var(--ink); }

.ps-gr-depth-pill--on[b-tebnqwf4nx] {
    background: var(--white);
    color: var(--ink);
    box-shadow: var(--shadow-sm);
}

/* Affiliation toggle */
.ps-gr-affs[b-tebnqwf4nx] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
}

.ps-gr-aff[b-tebnqwf4nx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--muted);
    font: 500 12px/1.3 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-gr-aff:hover[b-tebnqwf4nx] { background: var(--surface); color: var(--body); }

    .ps-gr-aff b[b-tebnqwf4nx] {
        color: var(--muted);
        font: 600 11px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-gr-aff--on[b-tebnqwf4nx] {
    background: var(--indigo-50);
    border-color: var(--indigo-200);
    color: var(--indigo-800);
}

    .ps-gr-aff--on b[b-tebnqwf4nx] { color: var(--indigo-600); }

.ps-gr-aff-dot[b-tebnqwf4nx] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}

.ps-gr-aff-dot--indigo[b-tebnqwf4nx]      { background: var(--indigo-600); }
.ps-gr-aff-dot--indigo-soft[b-tebnqwf4nx] { background: var(--indigo-400); }
.ps-gr-aff-dot--amber[b-tebnqwf4nx]       { background: var(--amber); }
.ps-gr-aff-dot--forest[b-tebnqwf4nx]      { background: var(--forest); }
.ps-gr-aff-dot--coral[b-tebnqwf4nx]       { background: var(--coral); }
.ps-gr-aff-dot--mute[b-tebnqwf4nx]        { background: var(--muted); }

/* ---- View mode chips ---- */
.ps-gr-views[b-tebnqwf4nx] {
    display: inline-flex;
    margin-left: auto;
    gap: var(--s-2);
    align-items: center;
}

.ps-gr-view-chip[b-tebnqwf4nx] {
    padding: 5px 12px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--muted);
    font: 500 12px/1.3 var(--font-sans);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-gr-view-chip:hover[b-tebnqwf4nx] { background: var(--indigo-50); color: var(--indigo-800); border-color: var(--indigo-200); }

.ps-gr-view-chip--on[b-tebnqwf4nx] {
    background: var(--indigo-600);
    color: var(--white);
    border-color: var(--indigo-600);
    cursor: default;
}

    .ps-gr-view-chip--on:hover[b-tebnqwf4nx] { background: var(--indigo-600); color: var(--white); border-color: var(--indigo-600); }

/* ===================================================================
   Slide-04 schema shell — 3-column layout (toolbar 260 / canvas 1fr /
   side-panel 320) that wraps the existing D3 ConnectionsVisualization.
   Stage 1 chrome: search + depth + filters + risk markers in the left
   toolbar, breadcrumb + view toggle + actions in the top action-bar,
   legend + stats pill as canvas overlays, empty-state in the right
   side-panel.
   =================================================================== */
.ps-gr-shell[b-tebnqwf4nx] {
    display: grid;
    grid-template-columns: 260px 1fr 320px;
    gap: var(--s-3);
    align-items: stretch;
    min-height: 720px;
}

/* Full-page variant used by /graph/{Edrpou} — the host page renders its
   own 52 px TabBar + 56 px page-header, so the shell takes the rest of
   the viewport. min-height is dropped (height wins) so the canvas never
   exceeds the viewport, avoiding a double scrollbar. */
.ps-gr-shell--full[b-tebnqwf4nx] {
    height: calc(100vh - 52px - 56px);
    min-height: 0;
}

    .ps-gr-shell--full .ps-gr-canvas-wrap[b-tebnqwf4nx] {
        min-height: 0;
    }

    .ps-gr-shell--full .ps-gr-side-left[b-tebnqwf4nx],
    .ps-gr-shell--full .ps-gr-side-right[b-tebnqwf4nx] {
        min-height: 0;
    }

/* ---- Left toolbar ---- */
.ps-gr-side-left[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
    padding: var(--s-5);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow-y: auto;
}

.ps-gr-side-search[b-tebnqwf4nx] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    padding: 0 var(--s-3);
    height: 36px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    color: var(--muted);
    transition: border-color 0.12s ease, background 0.12s ease;
}

    .ps-gr-side-search:focus-within[b-tebnqwf4nx] {
        background: var(--white);
        border-color: var(--indigo-400);
        box-shadow: 0 0 0 3px var(--indigo-50);
    }

    .ps-gr-side-search input[b-tebnqwf4nx] {
        flex: 1;
        border: none;
        background: transparent;
        outline: none;
        color: var(--ink);
        font: 400 13px/1.4 var(--font-sans);
        min-width: 0;
    }

    .ps-gr-side-search input[b-tebnqwf4nx]::placeholder { color: var(--muted); }

.ps-gr-side-section[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-gr-side-h[b-tebnqwf4nx] {
    color: var(--muted);
    font: 500 10px/1.3 var(--font-mono);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ps-gr-side-checks[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ps-gr-check[b-tebnqwf4nx] {
    display: grid;
    grid-template-columns: 16px 10px 1fr auto;
    align-items: center;
    gap: var(--s-2);
    padding: 6px 8px;
    border-radius: var(--r-sm);
    color: var(--body);
    font: 500 12px/1.3 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-gr-check:hover[b-tebnqwf4nx] { background: var(--paper); color: var(--ink); }

    .ps-gr-check input[b-tebnqwf4nx] {
        accent-color: var(--indigo-600);
        width: 14px;
        height: 14px;
        margin: 0;
        cursor: pointer;
    }

    .ps-gr-check b[b-tebnqwf4nx] {
        color: var(--muted);
        font: 500 11px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-gr-check--on[b-tebnqwf4nx] { color: var(--ink); }
    .ps-gr-check--on b[b-tebnqwf4nx] { color: var(--indigo-600); }

.ps-gr-check--disabled[b-tebnqwf4nx] {
    color: var(--muted);
    cursor: not-allowed;
}
    .ps-gr-check--disabled:hover[b-tebnqwf4nx] { background: transparent; color: var(--muted); }
    .ps-gr-check--disabled input[b-tebnqwf4nx] { cursor: not-allowed; opacity: 0.6; }

.ps-gr-check-label[b-tebnqwf4nx] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ps-gr-risk-dot[b-tebnqwf4nx] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.ps-gr-risk-dot--amber[b-tebnqwf4nx] { background: var(--amber); }
.ps-gr-risk-dot--coral[b-tebnqwf4nx] { background: var(--coral); }

/* ---- Toggle switch (Відобразити тип звʼязку) ---- */
.ps-gr-toggle[b-tebnqwf4nx] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    width: 100%;
    padding: 6px 8px;
    background: transparent;
    border: none;
    border-radius: var(--r-sm);
    color: var(--body);
    font: 500 12px/1.3 var(--font-sans);
    cursor: pointer;
    text-align: left;
    transition: background 0.12s ease;
}

    .ps-gr-toggle:hover[b-tebnqwf4nx] { background: var(--paper); }

.ps-gr-toggle-track[b-tebnqwf4nx] {
    flex-shrink: 0;
    position: relative;
    width: 28px;
    height: 16px;
    background: var(--border);
    border-radius: 8px;
    transition: background 0.15s ease;
}

.ps-gr-toggle-thumb[b-tebnqwf4nx] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 12px;
    height: 12px;
    background: var(--white);
    border-radius: 50%;
    transition: transform 0.15s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.ps-gr-toggle-label[b-tebnqwf4nx] {
    flex: 1;
    min-width: 0;
    color: inherit;
}

.ps-gr-toggle--on[b-tebnqwf4nx] { color: var(--ink); }
    .ps-gr-toggle--on .ps-gr-toggle-track[b-tebnqwf4nx] { background: var(--indigo-600); }
    .ps-gr-toggle--on .ps-gr-toggle-thumb[b-tebnqwf4nx] { transform: translateX(12px); }

.ps-gr-reset[b-tebnqwf4nx],
.ps-gr-advanced[b-tebnqwf4nx] {
    padding: 8px 12px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    color: var(--body);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
    text-align: left;
}

    .ps-gr-reset:hover[b-tebnqwf4nx],
    .ps-gr-advanced:hover[b-tebnqwf4nx] {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--indigo-200);
    }

.ps-gr-advanced[b-tebnqwf4nx] {
    margin-top: auto;
    background: var(--indigo-50);
    border-color: var(--indigo-200);
    color: var(--indigo-800);
}

    .ps-gr-advanced:hover[b-tebnqwf4nx] {
        background: var(--indigo-100, var(--indigo-50));
        border-color: var(--indigo-400);
    }

/* ---- Centre column: action bar + canvas wrap ---- */
.ps-gr-canvas-col[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    min-width: 0;
}

.ps-gr-actionbar[b-tebnqwf4nx] {
    display: flex;
    align-items: center;
    gap: var(--s-4);
    padding: var(--s-3) var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    flex-wrap: wrap;
}

.ps-gr-crumb[b-tebnqwf4nx] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    color: var(--ink);
    font: 500 13px/1.3 var(--font-sans);
    min-width: 0;
}

    .ps-gr-crumb a[b-tebnqwf4nx] {
        color: var(--muted);
        text-decoration: none;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 32ch;
    }

    .ps-gr-crumb a:hover[b-tebnqwf4nx] { color: var(--indigo-600); text-decoration: underline; }

.ps-gr-crumb-sep[b-tebnqwf4nx] { color: var(--border-2, var(--muted)); }

.ps-gr-actions[b-tebnqwf4nx] {
    display: inline-flex;
    margin-left: auto;
    gap: var(--s-2);
    flex-wrap: wrap;
}

.ps-gr-actbtn[b-tebnqwf4nx] {
    padding: 5px 10px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    color: var(--body);
    font: 500 12px/1.3 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-gr-actbtn:hover:not(:disabled)[b-tebnqwf4nx] {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--indigo-200);
    }

    .ps-gr-actbtn:disabled[b-tebnqwf4nx] {
        opacity: 0.55;
        cursor: not-allowed;
    }

.ps-gr-view-chip--soon[b-tebnqwf4nx] { opacity: 0.6; cursor: not-allowed; }

.ps-gr-canvas-wrap[b-tebnqwf4nx] {
    position: relative;
    flex: 1;
    min-height: 600px;
    /* Dot-grid (Notion / Linear / Figma style) — gives the canvas a
       subtle texture so the eye locks onto node positions, helps the
       user track drag motion. The 24-px lattice is small enough to
       feel like paper but large enough not to clash with 36-px node
       pills. retina-safe: 1-px CSS dots become 2-px physical on 2× DPR
       without any media query.

       Layer order:
         1. paper fill          (base)
         2. radial-gradient dots (lattice)
       Overlays (.ps-gr-legend, .ps-gr-pill, .cv-zoom-controls) carry
       z-index: 10 / opaque backgrounds — they sit above the grid. The
       D3 SVG itself stays transparent (see ConnectionsVisualization —
       no background on .graph-container / svg). */
    background-color: var(--paper);
    background-image: radial-gradient(circle, rgba(22, 22, 43, 0.18) 1.2px, transparent 1.4px);
    background-size: 22px 22px;
    background-position: 0 0;
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-gr-canvas[b-tebnqwf4nx] {
    position: absolute;
    inset: 0;
    display: flex;
}

    /* The embedded ConnectionsVisualization carries its own scoped styles —
       we let it fill the wrap and quiet its bottom border so the chrome
       reads as one card with overlays on top. Blazor scoped CSS uses the
       `::deep` combinator (space-separated, two colons) — `:deep(...)`
       with parens is Vue/Svelte syntax and is silently ignored. */
    .ps-gr-canvas[b-tebnqwf4nx]  .connections-visualization {
        flex: 1;
        min-height: 100%;
        background: transparent;
    }

    .ps-gr-canvas[b-tebnqwf4nx]  .tab-content-area:has(.connections-visualization) { border: none; }

    /* The V2 shell renders its own action-bar (breadcrumb + view-toggle +
       actions) above the canvas, so the legacy in-canvas toolbar
       (.cv-tabs-row: Схема / Таблиця tabs + Відобразити-тип-звʼязку +
       Додати-фільтр buttons) is now redundant — it shows up as a second
       row of controls inside the graph card. */
    .ps-gr-canvas[b-tebnqwf4nx]  .cv-tabs-row { display: none !important; }

/* ---- Canvas overlays ---- */
.ps-gr-legend[b-tebnqwf4nx] {
    position: absolute;
    top: var(--s-3);
    left: var(--s-3);
    z-index: 10;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    padding: var(--s-3);
    min-width: 160px;
    box-shadow: var(--shadow-sm);
}

    .ps-gr-legend h4[b-tebnqwf4nx] {
        margin: 0 0 var(--s-2);
        color: var(--muted);
        font: 600 10px/1 var(--font-mono);
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .ps-gr-legend ul[b-tebnqwf4nx] {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .ps-gr-legend li[b-tebnqwf4nx] {
        display: flex;
        align-items: center;
        gap: var(--s-2);
        font: 400 12px/1.3 var(--font-sans);
        color: var(--body);
    }

.ps-gr-leg-sq[b-tebnqwf4nx] {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    background: var(--indigo-600);
    flex-shrink: 0;
}

/* Coral square — припинені / ліквідовані юр.особи. Mirrors the pink
   pill fill used by d3-connections.js (colors.inactive). */
.ps-gr-leg-sq--coral[b-tebnqwf4nx] {
    background: var(--coral-bg);
    border: 1px solid var(--coral);
}

.ps-gr-leg-cir[b-tebnqwf4nx] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--white);
    border: 2px solid var(--indigo-600);
    flex-shrink: 0;
}

.ps-gr-leg-cir--indigo[b-tebnqwf4nx] { border-color: var(--indigo-600); }
.ps-gr-leg-cir--amber[b-tebnqwf4nx]  { border-color: var(--amber); }
.ps-gr-leg-cir--coral[b-tebnqwf4nx]  { border-color: var(--coral); }

/* Solid/dashed line icons — match the D3 edge stroke styles so legend
   reads literally as the canvas. */
.ps-gr-leg-line[b-tebnqwf4nx] {
    width: 24px;
    height: 4px;
    flex-shrink: 0;
    align-self: center;
}

/* Mock of the small indigo count-circle that appears on the top-right of
   hub nodes in the D3 graph. Same styling as the actual badge so users
   recognise it. */
.ps-gr-leg-badge[b-tebnqwf4nx] {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--indigo-600);
    color: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 700;
    font-feature-settings: var(--font-feature-tnum);
    flex-shrink: 0;
}

.ps-gr-pill[b-tebnqwf4nx] {
    position: absolute;
    bottom: var(--s-3);
    left: var(--s-3);
    z-index: 10;
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: 6px 12px;
    background: var(--ink);
    color: var(--white);
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    box-shadow: var(--shadow-md);
}

    .ps-gr-pill b[b-tebnqwf4nx] {
        color: var(--white);
        font-weight: 700;
        margin-right: 1px;
    }

.ps-gr-pill-sep[b-tebnqwf4nx] { color: rgba(255, 255, 255, 0.4); }

/* ---- Right side-panel (empty state — Stage 1) ---- */
.ps-gr-side-right[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow-y: auto;
    min-height: 0;
}

/* ============================================================
   Collapsible side panels (left filters · right node detail)
   ============================================================ */
.ps-gr-shell[b-tebnqwf4nx] {
    position: relative;
    transition: grid-template-columns 0.25s ease;
}

.ps-gr-shell--lcol[b-tebnqwf4nx]                    { grid-template-columns: 40px 1fr 320px; }
.ps-gr-shell--rcol[b-tebnqwf4nx]                    { grid-template-columns: 260px 1fr 40px; }
.ps-gr-shell--lcol.ps-gr-shell--rcol[b-tebnqwf4nx]  { grid-template-columns: 40px 1fr 40px; }

.ps-gr-side-left[b-tebnqwf4nx],
.ps-gr-side-right[b-tebnqwf4nx] { position: relative; }

/* display:contents → the inner's children stay direct flex items of the
   aside (keeps the existing gap/layout); hiding it collapses the panel. */
.ps-gr-side-inner[b-tebnqwf4nx] { display: contents; }
.ps-gr-shell--lcol .ps-gr-side-left  .ps-gr-side-inner[b-tebnqwf4nx],
.ps-gr-shell--rcol .ps-gr-side-right .ps-gr-side-inner[b-tebnqwf4nx] { display: none; }
.ps-gr-shell--lcol .ps-gr-side-left[b-tebnqwf4nx]  { padding: 0; }

.ps-gr-collapse[b-tebnqwf4nx] {
    position: absolute;
    top: 8px;
    z-index: 6;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    background: var(--white);
    color: var(--muted);
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-gr-collapse:hover[b-tebnqwf4nx] { background: var(--paper); color: var(--ink); }

.ps-gr-collapse--left[b-tebnqwf4nx]  { right: 8px; }   /* canvas-facing edge */
.ps-gr-collapse--right[b-tebnqwf4nx] { left: 8px; }
.ps-gr-shell--lcol .ps-gr-collapse--left[b-tebnqwf4nx]  { right: 6px; left: auto; }
.ps-gr-shell--rcol .ps-gr-collapse--right[b-tebnqwf4nx] { left: 6px; right: auto; }

/* Right panel: nudge the card header clear of the top-left toggle. */
.ps-gr-sp-h[b-tebnqwf4nx] { padding-left: 26px; }

/* Below 1400px the panels already re-flow (the right panel stacks under the
   canvas — a pre-existing responsive rule). The collapse chrome is meant for
   the 3-column desktop layout, so disable it here: hide the toggles and keep
   the panel content visible, leaving the existing stacked layout untouched. */
@media (max-width: 1400px) {
    .ps-gr-collapse[b-tebnqwf4nx] { display: none; }
    .ps-gr-shell--lcol .ps-gr-side-left  .ps-gr-side-inner[b-tebnqwf4nx],
    .ps-gr-shell--rcol .ps-gr-side-right .ps-gr-side-inner[b-tebnqwf4nx] { display: contents; }
    .ps-gr-shell--lcol .ps-gr-side-left[b-tebnqwf4nx] { padding: var(--s-5); }
}

.ps-gr-sp-empty[b-tebnqwf4nx] {
    margin: auto;
    padding: var(--s-6);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--s-3);
    color: var(--muted);
}

    .ps-gr-sp-empty h4[b-tebnqwf4nx] {
        margin: 0;
        color: var(--ink);
        font: 600 14px/1.3 var(--font-sans);
    }

    .ps-gr-sp-empty p[b-tebnqwf4nx] {
        margin: 0;
        max-width: 32ch;
        font: 400 13px/1.5 var(--font-sans);
    }

.ps-gr-sp-empty-icon[b-tebnqwf4nx] { color: var(--indigo-400); }

/* ---- Hub-collapse slider (left toolbar, next to the toggle) ---- */
.ps-gr-hub-slider[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 8px;
}

    .ps-gr-hub-slider input[type="range"][b-tebnqwf4nx] {
        width: 100%;
        accent-color: var(--indigo-600);
        cursor: pointer;
        margin: 0;
    }

    .ps-gr-hub-slider input[type="range"]:disabled[b-tebnqwf4nx] {
        cursor: not-allowed;
    }

.ps-gr-hub-slider-scale[b-tebnqwf4nx] {
    display: flex;
    justify-content: space-between;
    color: var(--muted);
    font: 400 10px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-gr-hub-slider--disabled[b-tebnqwf4nx] { opacity: 0.45; }

/* ---- Populated side-panel card (node-clicked state) ---- */
.ps-gr-sp-card[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-5);
}

.ps-gr-sp-h[b-tebnqwf4nx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-2);
}

.ps-gr-sp-type[b-tebnqwf4nx] {
    padding: 2px 10px;
    background: var(--indigo-50);
    color: var(--indigo-800);
    border-radius: var(--r-pill);
    font: 500 11px/1.5 var(--font-sans);
}

.ps-gr-sp-close[b-tebnqwf4nx] {
    background: transparent;
    border: none;
    color: var(--muted);
    font-size: 14px;
    cursor: pointer;
    width: 24px;
    height: 24px;
    border-radius: var(--r-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .ps-gr-sp-close:hover[b-tebnqwf4nx] { background: var(--paper); color: var(--ink); }

.ps-gr-sp-name[b-tebnqwf4nx] {
    margin: 0;
    color: var(--ink);
    font: 600 18px/1.3 var(--font-sans);
    word-break: normal;
    overflow-wrap: break-word;
}

.ps-gr-sp-edrpou[b-tebnqwf4nx] {
    color: var(--muted);
    font: 400 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-gr-sp-flag[b-tebnqwf4nx] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: 6px 10px;
    border-radius: var(--r-md);
    font: 500 12px/1.3 var(--font-sans);
    width: fit-content;
}

.ps-gr-sp-flag--pep[b-tebnqwf4nx] {
    background: var(--amber-bg);
    color: var(--amber);
    border: 1px solid var(--amber-border, var(--amber));
}

    .ps-gr-sp-flag--pep b[b-tebnqwf4nx] { font-weight: 700; }

.ps-gr-sp-bond[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--s-3);
    background: var(--indigo-50);
    border: 1px solid var(--indigo-200);
    border-radius: var(--r-md);
}

    .ps-gr-sp-bond b[b-tebnqwf4nx] {
        color: var(--indigo-800);
        font: 600 14px/1.3 var(--font-sans);
    }

.ps-gr-sp-historic[b-tebnqwf4nx] {
    color: var(--amber);
    font: 500 11px/1.3 var(--font-sans);
}

.ps-gr-sp-interest[b-tebnqwf4nx] {
    color: var(--indigo-800);
    font: 600 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-gr-sp-row[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font: 400 13px/1.4 var(--font-sans);
    color: var(--body);
}

.ps-gr-sp-eyebrow[b-tebnqwf4nx] {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ps-gr-sp-actions[b-tebnqwf4nx] {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-gr-sp-btn[b-tebnqwf4nx] {
    padding: 10px 14px;
    border-radius: var(--r-md);
    text-align: center;
    text-decoration: none;
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.ps-gr-sp-btn--primary[b-tebnqwf4nx] {
    background: var(--indigo-600);
    color: var(--white);
    border: 1px solid var(--indigo-600);
}

    .ps-gr-sp-btn--primary:hover[b-tebnqwf4nx] { background: var(--indigo-800); border-color: var(--indigo-800); }

.ps-gr-sp-btn--secondary[b-tebnqwf4nx] {
    background: var(--white);
    color: var(--indigo-800);
    border: 1px solid var(--indigo-200);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

    .ps-gr-sp-btn--secondary:hover:not(:disabled)[b-tebnqwf4nx] {
        background: var(--indigo-50);
        border-color: var(--indigo-400);
    }

    .ps-gr-sp-btn--secondary:disabled[b-tebnqwf4nx] {
        opacity: 0.65;
        cursor: progress;
    }

.ps-gr-sp-spinner[b-tebnqwf4nx] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid var(--indigo-200);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-gr-spin-b-tebnqwf4nx 0.7s linear infinite;
}

.ps-gr-sp-empty-illu[b-tebnqwf4nx] {
    margin-bottom: var(--s-2);
}

.ps-gr-sp-hints[b-tebnqwf4nx] {
    list-style: none;
    margin: var(--s-3) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    text-align: left;
    width: 100%;
    max-width: 280px;
}

    /* Use flex instead of grid — `grid-template-columns: 16px 1fr` was
       collapsing the 1fr track to min-content (single-word width) in a
       320 px side-panel, so labels like «Подвійний клік» kept folding
       to one word per line. Flex with `flex: 1` lets the text track
       absorb the full row width. */
    .ps-gr-sp-hints li[b-tebnqwf4nx] {
        display: flex;
        align-items: flex-start;
        gap: var(--s-2);
        font: 400 12px/1.5 var(--font-sans);
        color: var(--body);
        word-break: normal;
        overflow-wrap: break-word;
    }

    .ps-gr-sp-hints li[b-tebnqwf4nx] {
        min-width: 0;
    }

    .ps-gr-sp-hint-text[b-tebnqwf4nx] {
        flex: 1;
        min-width: 0;
    }

    .ps-gr-sp-hints li b[b-tebnqwf4nx] {
        color: var(--ink);
        font-weight: 600;
    }

    .ps-gr-sp-hints li em[b-tebnqwf4nx] {
        color: var(--muted);
        font-style: normal;
        font-size: 11px;
    }

.ps-gr-sp-hint-arrow[b-tebnqwf4nx] {
    color: var(--indigo-400);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    flex-shrink: 0;
    width: 16px;
}

.ps-gr-sp-hint--soon[b-tebnqwf4nx] { opacity: 0.65; }

/* ---- Responsive collapse — below 1400 px the side-panel slides under
       canvas, below 1100 px the toolbar does too. Keep the shell usable
       on narrow viewports without redesigning the chrome. ---- */
@media (max-width: 1400px) {
    .ps-gr-shell[b-tebnqwf4nx] {
        grid-template-columns: 260px 1fr;
        grid-template-rows: auto auto;
    }
    .ps-gr-side-right[b-tebnqwf4nx] {
        grid-column: 1 / -1;
        min-height: 280px;
    }
}

@media (max-width: 1100px) {
    .ps-gr-shell[b-tebnqwf4nx] {
        grid-template-columns: 1fr;
    }
    .ps-gr-side-left[b-tebnqwf4nx],
    .ps-gr-side-right[b-tebnqwf4nx] { grid-column: 1 / -1; }
    .ps-gr-side-left[b-tebnqwf4nx] { max-height: 360px; }
}

/* ---- Stats summary ---- */
.ps-gr-stats[b-tebnqwf4nx] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
    padding: 0 var(--s-2);
}

.ps-gr-stats-h[b-tebnqwf4nx] {
    color: var(--body);
    font: 400 13px/1.4 var(--font-sans);
    margin-right: var(--s-2);
}

    .ps-gr-stats-h b[b-tebnqwf4nx] {
        color: var(--ink);
        font: 600 15px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
        margin-right: 4px;
    }

.ps-gr-stats-chip[b-tebnqwf4nx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--body);
    font: 500 12px/1.4 var(--font-sans);
}

    .ps-gr-stats-chip b[b-tebnqwf4nx] {
        color: var(--ink);
        font: 600 12px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

/* ---- Group body ---- */
.ps-gr-body[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
}

.ps-gr-group[b-tebnqwf4nx] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-gr-group-h[b-tebnqwf4nx] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-3) var(--s-5);
    background: var(--paper);
    border-bottom: 1px solid var(--border);
}

    .ps-gr-group-h h3[b-tebnqwf4nx] {
        margin: 0;
        font: 600 13px/1.3 var(--font-sans);
        color: var(--ink);
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

.ps-gr-group-count[b-tebnqwf4nx] {
    margin-left: auto;
    color: var(--muted);
    font: 500 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

/* ---- Item list ---- */
.ps-gr-list[b-tebnqwf4nx] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ps-gr-item[b-tebnqwf4nx] {
    display: grid;
    grid-template-columns: 36px 1fr auto;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-5);
    border-bottom: 1px solid var(--border);
}

    .ps-gr-item:last-child[b-tebnqwf4nx] { border-bottom: none; }
    .ps-gr-item:hover[b-tebnqwf4nx] { background: var(--paper); }

.ps-gr-item--dim[b-tebnqwf4nx] { opacity: 0.62; }

.ps-gr-item-av[b-tebnqwf4nx] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 600 12px/1 var(--font-sans);
    flex-shrink: 0;
}

.ps-gr-item-av--person[b-tebnqwf4nx]  { background: var(--amber-bg);   color: var(--amber); }
.ps-gr-item-av--company[b-tebnqwf4nx] { background: var(--indigo-50);  color: var(--indigo-800); }
.ps-gr-item-av--other[b-tebnqwf4nx]   { background: var(--surface);    color: var(--body); }

.ps-gr-item-body[b-tebnqwf4nx] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .ps-gr-item-body b[b-tebnqwf4nx] {
        color: var(--ink);
        font: 500 13px/1.3 var(--font-sans);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ps-gr-item-body small[b-tebnqwf4nx] {
        color: var(--muted);
        font: 400 11px/1.3 var(--font-sans);
    }

    .ps-gr-item-body small.mono[b-tebnqwf4nx] {
        font-family: var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-gr-item-meta[b-tebnqwf4nx] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    flex-shrink: 0;
}

.ps-gr-type-pill[b-tebnqwf4nx] {
    padding: 2px 8px;
    background: var(--surface);
    color: var(--body);
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
}

.ps-gr-depth-tag[b-tebnqwf4nx] {
    color: var(--muted);
    font: 400 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-gr-historic[b-tebnqwf4nx] {
    color: var(--amber);
    font: 500 11px/1.3 var(--font-sans);
}

.ps-gr-item--more[b-tebnqwf4nx] {
    grid-template-columns: 1fr auto;
    color: var(--muted);
    font: 400 12px/1.4 var(--font-mono);
    background: var(--paper);
}

    .ps-gr-item--more a[b-tebnqwf4nx] {
        color: var(--indigo-600);
        text-decoration: none;
        font-family: var(--font-sans);
        font-weight: 500;
    }

    .ps-gr-item--more a:hover[b-tebnqwf4nx] { text-decoration: underline; }
/* /Components/CompanyProfile/Tabs/CourtsTabV2.razor.rz.scp.css */
.ps-ct[b-rmdals9tz9] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Loading / empty ---- */
.ps-ct-loading[b-rmdals9tz9],
.ps-ct-empty[b-rmdals9tz9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.ps-ct-spinner[b-rmdals9tz9] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-ct-spin-b-rmdals9tz9 0.7s linear infinite;
}

@keyframes ps-ct-spin-b-rmdals9tz9 { to { transform: rotate(360deg); } }

.ps-ct-empty h3[b-rmdals9tz9] {
    margin: 0;
    color: var(--ink);
    font: 600 18px/1.3 var(--font-sans);
}

.ps-ct-empty p[b-rmdals9tz9] {
    margin: 0;
    max-width: 56ch;
    font: 400 14px/1.5 var(--font-sans);
}

/* ---- Action bar (breadcrumb-style strip with section + actions) ---- */
.ps-ct-actionbar[b-rmdals9tz9] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    font: 500 13px/1.3 var(--font-sans);
}

.ps-ct-actionbar-h[b-rmdals9tz9] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--ink);
    flex: 1;
    min-width: 0;
}

.ps-ct-actionbar-co[b-rmdals9tz9] {
    color: var(--muted);
    font-weight: 500;
}

.ps-ct-actionbar-sep[b-rmdals9tz9] {
    color: var(--border-2);
}

.ps-ct-actionbar-n[b-rmdals9tz9] {
    margin-left: 6px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--indigo-50);
    color: var(--indigo-800);
    font: 600 11px/1.2 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-ct-actionbar-actions[b-rmdals9tz9] {
    display: inline-flex;
    gap: var(--s-2);
}

.ps-ct-actionbar-btn[b-rmdals9tz9] {
    padding: 6px 14px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-ct-actionbar-btn:hover[b-rmdals9tz9] {
        background: var(--surface);
        color: var(--ink);
    }

.ps-ct-actionbar-btn--primary[b-rmdals9tz9] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-ct-actionbar-btn--primary:hover[b-rmdals9tz9] {
        background: var(--indigo-800);
        border-color: var(--indigo-800);
        color: var(--white);
    }

/* ---- KPI tiles ---- */
.ps-ct-kpi[b-rmdals9tz9] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-3);
}

@media (max-width: 1100px) {
    .ps-ct-kpi[b-rmdals9tz9] { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .ps-ct-kpi[b-rmdals9tz9] { grid-template-columns: 1fr; }
}

.ps-ct-tile[b-rmdals9tz9] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    padding: var(--s-4) var(--s-4) var(--s-3);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    min-height: 110px;
}

.ps-ct-tile--coral[b-rmdals9tz9] {
    background: var(--coral-bg);
    border-color: var(--coral-border);
}

.ps-ct-tile--contact[b-rmdals9tz9] {
    background: var(--paper);
}

.ps-ct-tile-h[b-rmdals9tz9] {
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-ct-tile-val[b-rmdals9tz9] {
    font: 700 28px/1.05 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    color: var(--ink);
    display: flex;
    align-items: baseline;
    gap: 4px;
}

    .ps-ct-tile-val small[b-rmdals9tz9] {
        font: 500 13px/1 var(--font-mono);
        color: var(--muted);
    }

.ps-ct-tile-val--date[b-rmdals9tz9] { font-size: 22px; }
.ps-ct-tile-val--mute[b-rmdals9tz9] { color: var(--muted); }

.ps-ct-tile-split[b-rmdals9tz9] {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    font: 700 24px/1.05 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    color: var(--ink);
}

.ps-ct-divider[b-rmdals9tz9] {
    color: var(--border-2);
    font-weight: 500;
}

.ps-ct-tile-sub[b-rmdals9tz9] {
    color: var(--muted);
    font: 400 12px/1.4 var(--font-sans);
}

.ps-ct-tx-coral[b-rmdals9tz9]  { color: var(--coral); }
.ps-ct-tx-amber[b-rmdals9tz9]  { color: var(--amber); }
.ps-ct-tx-forest[b-rmdals9tz9] { color: var(--forest); }
.ps-ct-tx-mute[b-rmdals9tz9]   { color: var(--muted); }

/* ---- Filter chips ---- */
.ps-ct-filters[b-rmdals9tz9] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    flex-wrap: wrap;
}

.ps-ct-chips[b-rmdals9tz9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
}

.ps-ct-chip[b-rmdals9tz9] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-ct-chip:hover[b-rmdals9tz9] {
        background: var(--surface);
        color: var(--ink);
    }

    .ps-ct-chip b[b-rmdals9tz9] {
        color: var(--muted);
        font: 600 12px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-ct-chip--on[b-rmdals9tz9] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-ct-chip--on b[b-rmdals9tz9] { color: rgba(255, 255, 255, 0.7); }

.ps-ct-chip-sep[b-rmdals9tz9] {
    width: 1px;
    height: 22px;
    background: var(--border-2);
    margin: 0 var(--s-2);
}

.ps-ct-chip-reset[b-rmdals9tz9] {
    margin-left: var(--s-2);
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: transparent;
    border: 1px dashed var(--border-2);
    color: var(--muted);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-ct-chip-reset:hover[b-rmdals9tz9] { background: var(--coral-bg); color: var(--coral); border-color: var(--coral-border); }

/* ---- Sort pills ---- */
.ps-ct-sort[b-rmdals9tz9] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    margin-left: auto;
}

.ps-ct-sort-h[b-rmdals9tz9] {
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-ct-sort-btn[b-rmdals9tz9] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: var(--r-pill);
    background: transparent;
    border: 1px solid transparent;
    color: var(--body);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-ct-sort-btn:hover[b-rmdals9tz9] {
        background: var(--surface);
        color: var(--ink);
    }

.ps-ct-sort-btn--on[b-rmdals9tz9] {
    background: var(--white);
    border-color: var(--border);
    color: var(--ink);
    font-weight: 600;
}

.ps-ct-sort-arrow[b-rmdals9tz9] {
    color: var(--indigo-600);
    font-size: 11px;
}

/* ---- Bulk action bar ---- */
.ps-ct-bulk[b-rmdals9tz9] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--indigo-50);
    border: 1px solid var(--indigo-200);
    border-radius: var(--r-md);
    color: var(--ink);
    font: 500 13px/1.3 var(--font-sans);
}

    .ps-ct-bulk .mono[b-rmdals9tz9] {
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-ct-bulk-actions[b-rmdals9tz9] {
    display: inline-flex;
    gap: var(--s-2);
    margin-left: auto;
}

.ps-ct-bulk-btn[b-rmdals9tz9] {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 14px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    font: 500 12px/1 var(--font-sans);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-ct-bulk-btn:hover[b-rmdals9tz9] {
        background: var(--indigo-50);
        border-color: var(--indigo-200);
        color: var(--indigo-800);
    }

.ps-ct-bulk-btn--primary[b-rmdals9tz9] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-ct-bulk-btn--primary:hover[b-rmdals9tz9] {
        background: var(--indigo-800);
        border-color: var(--indigo-800);
        color: var(--white);
    }

.ps-ct-bulk-clear[b-rmdals9tz9] {
    width: 24px;
    height: 24px;
    border: none;
    background: transparent;
    color: var(--muted);
    border-radius: var(--r-sm);
    cursor: pointer;
    font: 400 14px/1 var(--font-sans);
}

    .ps-ct-bulk-clear:hover[b-rmdals9tz9] { background: var(--white); color: var(--ink); }

/* ---- Split layout: table + side-panel ---- */
.ps-ct-layout[b-rmdals9tz9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-4);
}

.ps-ct-layout--with-panel[b-rmdals9tz9] {
    grid-template-columns: minmax(0, 1fr) 460px;
}

@media (max-width: 1280px) {
    .ps-ct-layout--with-panel[b-rmdals9tz9] { grid-template-columns: 1fr; }
}

/* ---- Table ---- */
.ps-ct-table-wrap[b-rmdals9tz9] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-ct-table[b-rmdals9tz9] {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-sans);
}

    .ps-ct-table thead th[b-rmdals9tz9] {
        position: sticky;
        top: 0;
        background: var(--paper);
        padding: var(--s-3) var(--s-3);
        text-align: left;
        font: 500 11px/1.3 var(--font-sans);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--muted);
        border-bottom: 1px solid var(--border);
        z-index: 1;
    }

    .ps-ct-table thead th.mono[b-rmdals9tz9] {
        font-family: var(--font-mono);
        letter-spacing: 0;
        text-transform: none;
    }

.ps-ct-th-cb[b-rmdals9tz9],
.ps-ct-th-action[b-rmdals9tz9] {
    width: 32px;
}

.ps-ct-num[b-rmdals9tz9] {
    text-align: right;
    white-space: nowrap;
}

.ps-ct-row[b-rmdals9tz9] {
    cursor: pointer;
    transition: background 0.12s ease;
    border-bottom: 1px solid var(--border);
}

    .ps-ct-row:last-child[b-rmdals9tz9] { border-bottom: none; }

    .ps-ct-row:hover[b-rmdals9tz9] { background: var(--paper); }

.ps-ct-row--active[b-rmdals9tz9] {
    background: var(--indigo-50);
}

    .ps-ct-row--active:hover[b-rmdals9tz9] { background: var(--indigo-50); }

.ps-ct-row--dim[b-rmdals9tz9] { opacity: 0.62; }

.ps-ct-row td[b-rmdals9tz9] {
    padding: var(--s-3);
    color: var(--ink);
    font: 400 13px/1.4 var(--font-sans);
    vertical-align: top;
}

.ps-ct-id[b-rmdals9tz9] {
    color: var(--ink);
    font: 600 13px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    white-space: nowrap;
}

    .ps-ct-id small[b-rmdals9tz9] {
        display: block;
        color: var(--muted);
        font: 400 11px/1.3 var(--font-mono);
    }

.ps-ct-court[b-rmdals9tz9] {
    color: var(--body);
    max-width: 220px;
}

.ps-ct-desc[b-rmdals9tz9] {
    color: var(--body);
    max-width: 340px;
}

    .ps-ct-desc small[b-rmdals9tz9] {
        color: var(--muted);
        font: 400 12px/1.4 var(--font-mono);
    }

.ps-ct-dim[b-rmdals9tz9] { color: var(--muted); }
.ps-ct-hot[b-rmdals9tz9] { color: var(--coral); font-weight: 600; }

.ps-ct-hot small[b-rmdals9tz9] {
    color: var(--coral);
    font: 500 11px/1.3 var(--font-sans);
    opacity: 0.85;
}

/* ---- Row checkbox ---- */
.ps-ct-cb[b-rmdals9tz9] {
    width: 14px;
    height: 14px;
    accent-color: var(--indigo-600);
    cursor: pointer;
}

/* ---- "→" go button on row ---- */
.ps-ct-go[b-rmdals9tz9] {
    width: 24px;
    height: 24px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--muted);
    border-radius: var(--r-sm);
    font: 600 14px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .ps-ct-row:hover .ps-ct-go[b-rmdals9tz9] {
        background: var(--white);
        color: var(--indigo-600);
        border-color: var(--indigo-200);
    }

/* ---- Inline badge (role / stage) ---- */
.ps-ct-badge[b-rmdals9tz9] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
}

.ps-ct-badge--coral[b-rmdals9tz9]   { background: var(--coral-bg);  color: var(--coral); }
.ps-ct-badge--amber[b-rmdals9tz9]   { background: var(--amber-bg);  color: var(--amber); }
.ps-ct-badge--forest[b-rmdals9tz9]  { background: var(--forest-bg); color: var(--forest); }
.ps-ct-badge--neutral[b-rmdals9tz9] { background: var(--surface);   color: var(--body); }

.ps-ct-badge-dot[b-rmdals9tz9] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

.ps-ct-badge--stage[b-rmdals9tz9] {
    margin-top: 4px;
}

/* ---- Summary footer ---- */
.ps-ct-summary[b-rmdals9tz9] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-4) var(--s-5);
    border-top: 1px solid var(--border);
    background: var(--paper);
}

.ps-ct-summary-h[b-rmdals9tz9] {
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-ct-summary-cols[b-rmdals9tz9] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-4);
}

@media (max-width: 900px) {
    .ps-ct-summary-cols[b-rmdals9tz9] { grid-template-columns: repeat(2, 1fr); }
}

.ps-ct-summary-cols > div[b-rmdals9tz9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .ps-ct-summary-cols b[b-rmdals9tz9] {
        color: var(--ink);
        font: 600 16px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

    .ps-ct-summary-cols small[b-rmdals9tz9] {
        color: var(--muted);
        font: 400 12px/1.4 var(--font-sans);
    }

/* ---- Side-panel timeline ---- */
.ps-ct-timeline[b-rmdals9tz9] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    position: relative;
}

    .ps-ct-timeline[b-rmdals9tz9]::before {
        content: "";
        position: absolute;
        left: 5px;
        top: 6px;
        bottom: 6px;
        width: 1px;
        background: var(--border-2);
        z-index: 0;
    }

.ps-ct-tl[b-rmdals9tz9] {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: var(--s-2);
    position: relative;
    align-items: start;
}

    .ps-ct-tl b[b-rmdals9tz9] {
        display: block;
        color: var(--ink);
        font: 600 13px/1.3 var(--font-sans);
    }

    .ps-ct-tl small[b-rmdals9tz9] {
        display: block;
        margin-top: 2px;
        color: var(--muted);
        font: 400 12px/1.4 var(--font-sans);
    }

.ps-ct-tl-dot[b-rmdals9tz9] {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--surface);
    border: 2px solid var(--border-2);
    margin-top: 3px;
    z-index: 1;
    position: relative;
}

.ps-ct-tl--done .ps-ct-tl-dot[b-rmdals9tz9] {
    background: var(--forest);
    border-color: var(--forest);
}

.ps-ct-tl--active .ps-ct-tl-dot[b-rmdals9tz9] {
    background: var(--coral);
    border-color: var(--coral);
    box-shadow: 0 0 0 4px var(--coral-bg);
    animation: ps-ct-tl-pulse-b-rmdals9tz9 1.6s ease-in-out infinite;
}

@keyframes ps-ct-tl-pulse-b-rmdals9tz9 {
    50% { box-shadow: 0 0 0 6px var(--coral-bg); }
}

.ps-ct-tl--future .ps-ct-tl-dot[b-rmdals9tz9] {
    background: var(--white);
    border-color: var(--border-2);
    border-style: dashed;
}

.ps-ct-tl--future b[b-rmdals9tz9] { color: var(--muted); font-weight: 500; }

/* ---- Documents card (side-panel) ---- */
.ps-ct-docs-loading[b-rmdals9tz9] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-2) 0;
    color: var(--muted);
}

.ps-ct-spinner--sm[b-rmdals9tz9] {
    width: 16px;
    height: 16px;
    border-width: 2px;
}

.ps-ct-doc-latest[b-rmdals9tz9] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: var(--s-3);
    padding: 8px 12px;
    border-radius: var(--r-md);
    background: var(--indigo-50);
    color: var(--indigo-800);
    font: 600 12px/1.3 var(--font-sans);
    text-decoration: none;
    border: 1px solid var(--indigo-200);
    transition: background 0.12s ease;
}

    .ps-ct-doc-latest:hover[b-rmdals9tz9] {
        background: var(--indigo-100, var(--indigo-50));
    }

.ps-ct-docs[b-rmdals9tz9] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-ct-doc[b-rmdals9tz9] {
    padding: var(--s-2) 0;
    border-bottom: 1px dashed var(--border-2);
}

    .ps-ct-doc:last-child[b-rmdals9tz9] { border-bottom: none; }

.ps-ct-doc-head[b-rmdals9tz9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-2);
    margin-bottom: 4px;
}

.ps-ct-doc-form[b-rmdals9tz9] {
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--surface);
    color: var(--body);
    font: 600 11px/1.4 var(--font-sans);
}

.ps-ct-doc-open[b-rmdals9tz9] {
    color: var(--indigo-600);
    font: 600 14px/1 var(--font-mono);
    text-decoration: none;
    padding: 2px 6px;
    border-radius: var(--r-sm);
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-ct-doc-open:hover[b-rmdals9tz9] {
        background: var(--indigo-50);
        color: var(--indigo-800);
    }

.ps-ct-doc-meta[b-rmdals9tz9] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px var(--s-2);
    color: var(--muted);
    font: 400 11px/1.4 var(--font-mono);
}

.ps-ct-doc-judge[b-rmdals9tz9],
.ps-ct-doc-cat[b-rmdals9tz9] {
    margin-top: 2px;
    color: var(--body);
    font: 400 12px/1.3 var(--font-sans);
}

/* Undefined / catch-all registry category — muted, with a ? hint */
.ps-ct-doc-cat--undefined[b-rmdals9tz9] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--muted);
    font-style: italic;
    cursor: help;
}

.ps-ct-doc-cat-q[b-rmdals9tz9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 13px;
    height: 13px;
    border: 1px solid var(--border-2);
    border-radius: 50%;
    font: 600 9px/1 var(--font-mono);
    font-style: normal;
    color: var(--muted);
}

.ps-ct-doc-judge[b-rmdals9tz9] { color: var(--muted); }

.ps-ct-dim[b-rmdals9tz9] { color: var(--muted); }

/* ---- Mobile (< 768px): tables are forbidden — each case renders as a card
   (mirrors the ВП / Tenders tabs). Cells become labelled rows via data-label;
   № справи is the card title, the role/stage badges sit top-right, the
   checkbox + row "→" are dropped. ---- */
@media (max-width: 768px) {
    .ps-ct-table-wrap[b-rmdals9tz9] {
        border: none;
        border-radius: 0;
        overflow: visible;
        background: transparent;
    }
    .ps-ct-table[b-rmdals9tz9] { display: block; }
    .ps-ct-table thead[b-rmdals9tz9] { display: none; }
    .ps-ct-table tbody[b-rmdals9tz9] { display: flex; flex-direction: column; gap: 10px; }

    .ps-ct-row[b-rmdals9tz9] {
        display: grid;
        grid-template-columns: 1fr auto;
        column-gap: 10px;
        align-items: start;
        background: var(--white);
        border: 1px solid var(--border);
        border-radius: var(--r-lg);
        padding: 12px 14px;
    }
    .ps-ct-row:hover[b-rmdals9tz9] { background: var(--white); }
    .ps-ct-row--active[b-rmdals9tz9],
    .ps-ct-row--active:hover[b-rmdals9tz9] { background: var(--indigo-50); }
    .ps-ct-row--dim[b-rmdals9tz9] { opacity: 1; }

    .ps-ct-row td[b-rmdals9tz9] { display: block; padding: 0; border: none; }

    /* Drop bulk-select checkbox (first) + row arrow (last). */
    .ps-ct-row td:first-child[b-rmdals9tz9],
    .ps-ct-row td:last-child[b-rmdals9tz9] { display: none; }

    /* № справи = card title. */
    .ps-ct-id[b-rmdals9tz9] {
        grid-column: 1;
        grid-row: 1;
        font: 600 15px/1.3 var(--font-mono);
        white-space: normal;
    }

    /* Every labelled cell → full-width labelled row… */
    .ps-ct-row td[data-label][b-rmdals9tz9] { grid-column: 1 / -1; margin-top: 8px; }
    .ps-ct-row td[data-label][b-rmdals9tz9]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 1px;
        font: 500 10px/1.3 var(--font-mono);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--muted);
    }

    /* …except the role/stage cell, which sits top-right next to the title. */
    .ps-ct-row td[data-label="Роль · стадія"][b-rmdals9tz9] {
        grid-column: 2;
        grid-row: 1;
        margin-top: 0;
        justify-self: end;
        text-align: right;
    }
    .ps-ct-row td[data-label="Роль · стадія"][b-rmdals9tz9]::before { display: none; }

    .ps-ct-court[b-rmdals9tz9], .ps-ct-desc[b-rmdals9tz9] { max-width: none; }
    .ps-ct-num[b-rmdals9tz9] { text-align: left; }
}
/* /Components/CompanyProfile/Tabs/DeclarationsTabV2.razor.rz.scp.css */
/* DeclarationsTabV2 — visual styles live in wwwroot/css/declarations.css
   (global), shared with DeclarationsProfileV2. This scoped file is
   intentionally empty so the .ps-dc-* selectors don't get duplicated
   under a tab-specific scope attribute. */
/* /Components/CompanyProfile/Tabs/EnforcementTabV2.razor.rz.scp.css */
.ps-vp[b-vjbamnustz] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Loading / empty ---- */
.ps-vp-loading[b-vjbamnustz],
.ps-vp-empty[b-vjbamnustz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.ps-vp-spinner[b-vjbamnustz] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-vp-spin-b-vjbamnustz 0.7s linear infinite;
}

@keyframes ps-vp-spin-b-vjbamnustz { to { transform: rotate(360deg); } }

.ps-vp-empty h3[b-vjbamnustz] {
    margin: 0;
    color: var(--ink);
    font: 600 18px/1.3 var(--font-sans);
}

.ps-vp-empty p[b-vjbamnustz] {
    margin: 0;
    max-width: 56ch;
    font: 400 14px/1.5 var(--font-sans);
}

/* ---- Action bar ---- */
.ps-vp-actionbar[b-vjbamnustz] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    font: 500 13px/1.3 var(--font-sans);
}

.ps-vp-actionbar-h[b-vjbamnustz] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--ink);
    flex: 1;
    min-width: 0;
}

.ps-vp-actionbar-co[b-vjbamnustz] { color: var(--muted); font-weight: 500; }
.ps-vp-actionbar-sep[b-vjbamnustz] { color: var(--border-2); }

.ps-vp-actionbar-n[b-vjbamnustz] {
    margin-left: 6px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--indigo-50);
    color: var(--indigo-800);
    font: 600 11px/1.2 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-vp-actionbar-actions[b-vjbamnustz] { display: inline-flex; gap: var(--s-2); }

.ps-vp-actionbar-btn[b-vjbamnustz] {
    padding: 6px 14px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-vp-actionbar-btn:hover[b-vjbamnustz] { background: var(--surface); color: var(--ink); }

.ps-vp-actionbar-btn--primary[b-vjbamnustz] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-vp-actionbar-btn--primary:hover[b-vjbamnustz] {
        background: var(--indigo-800);
        border-color: var(--indigo-800);
        color: var(--white);
    }

/* ---- KPI tiles ---- */
.ps-vp-kpi[b-vjbamnustz] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-3);
}

@media (max-width: 1100px) {
    .ps-vp-kpi[b-vjbamnustz] { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .ps-vp-kpi[b-vjbamnustz] { grid-template-columns: 1fr; }
}

.ps-vp-tile[b-vjbamnustz] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    padding: var(--s-4) var(--s-4) var(--s-3);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    min-height: 110px;
}

.ps-vp-tile--coral[b-vjbamnustz] {
    background: var(--coral-bg);
    border-color: var(--coral-border);
}

.ps-vp-tile--contact[b-vjbamnustz] {
    background: var(--paper);
}

.ps-vp-tile-h[b-vjbamnustz] {
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-vp-tile--coral .ps-vp-tile-h[b-vjbamnustz] {
    color: var(--coral);
}

.ps-vp-tile-val[b-vjbamnustz] {
    font: 600 30px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    color: var(--ink);
}

.ps-vp-tile--coral .ps-vp-tile-val[b-vjbamnustz] {
    color: var(--coral);
}

.ps-vp-tile-sub[b-vjbamnustz] {
    font: 400 12px/1.4 var(--font-sans);
    color: var(--muted);
    margin-top: auto;
}

/* Split (numbers row) */
.ps-vp-tile-split[b-vjbamnustz] {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
    font: 600 26px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-vp-divider[b-vjbamnustz] { color: var(--border-2); }

.ps-vp-tx-coral[b-vjbamnustz]  { color: var(--coral); }
.ps-vp-tx-amber[b-vjbamnustz]  { color: var(--amber); }
.ps-vp-tx-forest[b-vjbamnustz] { color: var(--forest); }

/* Category bars */
.ps-vp-cat-bars[b-vjbamnustz] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ps-vp-cat[b-vjbamnustz] {
    display: grid;
    grid-template-columns: 1fr 72px 32px;
    align-items: center;
    gap: var(--s-2);
}

.ps-vp-cat-name[b-vjbamnustz] {
    color: var(--body);
    font: 400 12px/1.3 var(--font-sans);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-vp-cat-bar[b-vjbamnustz] {
    position: relative;
    height: 6px;
    background: var(--surface);
    border-radius: var(--r-pill);
    overflow: hidden;
}

    .ps-vp-cat-bar > span[b-vjbamnustz] {
        display: block;
        height: 100%;
        background: var(--indigo-600);
        border-radius: var(--r-pill);
    }

.ps-vp-cat b[b-vjbamnustz] {
    color: var(--ink);
    font: 600 13px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    text-align: right;
}

/* Contact tile */
.ps-vp-dvs-name[b-vjbamnustz] {
    color: var(--ink);
    font: 600 14px/1.3 var(--font-sans);
}

.ps-vp-dvs-meta[b-vjbamnustz] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px var(--s-2);
    color: var(--body);
    font: 400 12px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

/* ---- Filter chips + sort + bulk ---- */
.ps-vp-filters[b-vjbamnustz] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    flex-wrap: wrap;
}

.ps-vp-sort[b-vjbamnustz] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    margin-left: auto;
}

.ps-vp-sort-h[b-vjbamnustz] {
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-vp-sort-btn[b-vjbamnustz] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: var(--r-pill);
    background: transparent;
    border: 1px solid transparent;
    color: var(--body);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-vp-sort-btn:hover[b-vjbamnustz] { background: var(--surface); color: var(--ink); }

.ps-vp-sort-btn--on[b-vjbamnustz] {
    background: var(--white);
    border-color: var(--border);
    color: var(--ink);
    font-weight: 600;
}

.ps-vp-sort-arrow[b-vjbamnustz] { color: var(--indigo-600); font-size: 11px; }

.ps-vp-bulk[b-vjbamnustz] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--indigo-50);
    border: 1px solid var(--indigo-200);
    border-radius: var(--r-md);
    color: var(--ink);
    font: 500 13px/1.3 var(--font-sans);
}

    .ps-vp-bulk .mono[b-vjbamnustz] { font-feature-settings: var(--font-feature-tnum); }

.ps-vp-bulk-actions[b-vjbamnustz] {
    display: inline-flex;
    gap: var(--s-2);
    margin-left: auto;
}

.ps-vp-bulk-btn[b-vjbamnustz] {
    padding: 6px 12px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-vp-bulk-btn:hover[b-vjbamnustz] {
        background: var(--indigo-50);
        border-color: var(--indigo-200);
        color: var(--indigo-800);
    }

.ps-vp-bulk-clear[b-vjbamnustz] {
    width: 24px;
    height: 24px;
    border: none;
    background: transparent;
    color: var(--muted);
    border-radius: var(--r-sm);
    cursor: pointer;
    font: 400 14px/1 var(--font-sans);
}

    .ps-vp-bulk-clear:hover[b-vjbamnustz] { background: var(--white); color: var(--ink); }

.ps-vp-th-cb[b-vjbamnustz] { width: 32px; }

.ps-vp-cb[b-vjbamnustz] {
    width: 14px;
    height: 14px;
    accent-color: var(--indigo-600);
    cursor: pointer;
}

.ps-vp-chips[b-vjbamnustz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
}

.ps-vp-chip[b-vjbamnustz] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-vp-chip:hover[b-vjbamnustz] {
        background: var(--surface);
        color: var(--ink);
    }

    .ps-vp-chip b[b-vjbamnustz] {
        color: var(--muted);
        font: 600 12px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-vp-chip--on[b-vjbamnustz] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-vp-chip--on b[b-vjbamnustz] { color: rgba(255, 255, 255, 0.7); }

.ps-vp-chip-sep[b-vjbamnustz] {
    width: 1px;
    height: 22px;
    background: var(--border-2);
    margin: 0 var(--s-2);
}

.ps-vp-chip-reset[b-vjbamnustz] {
    margin-left: var(--s-2);
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: transparent;
    border: 1px dashed var(--border-2);
    color: var(--muted);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-vp-chip-reset:hover[b-vjbamnustz] {
        background: var(--coral-bg);
        color: var(--coral);
        border-color: var(--coral-border);
    }

/* ---- Split layout: table + side-panel ---- */
.ps-vp-layout[b-vjbamnustz] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-4);
}

.ps-vp-layout--with-panel[b-vjbamnustz] {
    grid-template-columns: minmax(0, 1fr) 460px;
}

@media (max-width: 1280px) {
    .ps-vp-layout--with-panel[b-vjbamnustz] { grid-template-columns: 1fr; }
}

/* ---- Table ---- */
.ps-vp-table-wrap[b-vjbamnustz] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-vp-table[b-vjbamnustz] {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-sans);
}

    .ps-vp-table thead th[b-vjbamnustz] {
        position: sticky;
        top: 0;
        background: var(--paper);
        padding: var(--s-3);
        text-align: left;
        font: 500 11px/1.3 var(--font-sans);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--muted);
        border-bottom: 1px solid var(--border);
        z-index: 1;
    }

    .ps-vp-table thead th.mono[b-vjbamnustz] {
        font-family: var(--font-mono);
        letter-spacing: 0;
        text-transform: none;
    }

.ps-vp-num[b-vjbamnustz] {
    text-align: right;
    white-space: nowrap;
}

.ps-vp-th-action[b-vjbamnustz] { width: 32px; }

.ps-vp-row[b-vjbamnustz] {
    cursor: pointer;
    transition: background 0.12s ease;
    border-bottom: 1px solid var(--border);
}

    .ps-vp-row:last-child[b-vjbamnustz] { border-bottom: none; }
    .ps-vp-row:hover[b-vjbamnustz] { background: var(--paper); }

.ps-vp-row--active[b-vjbamnustz] {
    background: var(--indigo-50);
}

    .ps-vp-row--active:hover[b-vjbamnustz] { background: var(--indigo-50); }

.ps-vp-row--dim[b-vjbamnustz] { opacity: 0.62; }

.ps-vp-row td[b-vjbamnustz] {
    padding: var(--s-3);
    color: var(--ink);
    font: 400 13px/1.4 var(--font-sans);
    vertical-align: top;
}

.ps-vp-id[b-vjbamnustz] {
    color: var(--ink);
    font: 600 13px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    white-space: nowrap;
}

    .ps-vp-id small[b-vjbamnustz] {
        display: block;
        color: var(--muted);
        font: 400 11px/1.3 var(--font-mono);
    }

.ps-vp-creditor[b-vjbamnustz] {
    color: var(--body);
    max-width: 240px;
}

    .ps-vp-creditor small[b-vjbamnustz] {
        color: var(--muted);
        font: 400 12px/1.3 var(--font-mono);
    }

.ps-vp-org[b-vjbamnustz] {
    color: var(--body);
    max-width: 220px;
}

.ps-vp-dim[b-vjbamnustz] { color: var(--muted); }

/* "→" go button on row */
.ps-vp-go[b-vjbamnustz] {
    width: 24px;
    height: 24px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--muted);
    border-radius: var(--r-sm);
    font: 600 14px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .ps-vp-row:hover .ps-vp-go[b-vjbamnustz] {
        background: var(--white);
        color: var(--indigo-600);
        border-color: var(--indigo-200);
    }

/* ---- Inline badge ---- */
.ps-vp-badge[b-vjbamnustz] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
}

.ps-vp-badge--coral[b-vjbamnustz]   { background: var(--coral-bg);  color: var(--coral); }
.ps-vp-badge--amber[b-vjbamnustz]   { background: var(--amber-bg);  color: var(--amber); }
.ps-vp-badge--forest[b-vjbamnustz]  { background: var(--forest-bg); color: var(--forest); }

.ps-vp-badge-dot[b-vjbamnustz] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

/* ---- Footer action buttons ---- */
.ps-vp-action[b-vjbamnustz] {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 14px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    font: 500 12px/1 var(--font-sans);
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-vp-action:hover[b-vjbamnustz] {
        background: var(--indigo-50);
        border-color: var(--indigo-200);
        color: var(--indigo-800);
    }

.ps-vp-action--primary[b-vjbamnustz] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-vp-action--primary:hover[b-vjbamnustz] {
        background: var(--indigo-800);
        border-color: var(--indigo-800);
        color: var(--white);
    }

/* Bank-accounts collapsible toggle (show first 2 · rest behind a click) */
.ps-vp-iban-toggle[b-vjbamnustz] {
    margin-top: var(--s-2);
    padding: 4px 0;
    border: none;
    background: none;
    color: var(--indigo-600);
    font: 500 12px/1.3 var(--font-sans);
    cursor: pointer;
}

    .ps-vp-iban-toggle:hover[b-vjbamnustz] { color: var(--indigo-800); text-decoration: underline; }

/* Summary-footer styles live in tokens.css as .ps-table-footer (shared
   across Tenders, Enforcement, Tax, Monitoring, Admin). */

/* ---- Side-panel timeline ---- */
.ps-vp-timeline[b-vjbamnustz] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    position: relative;
}

    .ps-vp-timeline[b-vjbamnustz]::before {
        content: "";
        position: absolute;
        left: 5px;
        top: 6px;
        bottom: 6px;
        width: 1px;
        background: var(--border-2);
        z-index: 0;
    }

.ps-vp-tl[b-vjbamnustz] {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: var(--s-2);
    position: relative;
    align-items: start;
}

    .ps-vp-tl b[b-vjbamnustz] {
        display: block;
        color: var(--ink);
        font: 600 13px/1.3 var(--font-sans);
    }

    .ps-vp-tl small[b-vjbamnustz] {
        display: block;
        margin-top: 2px;
        color: var(--muted);
        font: 400 12px/1.4 var(--font-sans);
    }

.ps-vp-tl-dot[b-vjbamnustz] {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--surface);
    border: 2px solid var(--border-2);
    margin-top: 3px;
    z-index: 1;
    position: relative;
}

.ps-vp-tl--done .ps-vp-tl-dot[b-vjbamnustz] {
    background: var(--forest);
    border-color: var(--forest);
}

.ps-vp-tl--active .ps-vp-tl-dot[b-vjbamnustz] {
    background: var(--coral);
    border-color: var(--coral);
    box-shadow: 0 0 0 4px var(--coral-bg);
    animation: ps-vp-tl-pulse-b-vjbamnustz 1.6s ease-in-out infinite;
}

@keyframes ps-vp-tl-pulse-b-vjbamnustz {
    50% { box-shadow: 0 0 0 6px var(--coral-bg); }
}

.ps-vp-tl--future .ps-vp-tl-dot[b-vjbamnustz] {
    background: var(--white);
    border-color: var(--border-2);
    border-style: dashed;
}

.ps-vp-tl--future b[b-vjbamnustz] { color: var(--muted); font-weight: 500; }

/* ---- Mobile (< 768px): tables are forbidden — render each enforcement
   record as a card (mirrors the Courts tab). Each <td> becomes a labelled
   row via its data-label; the bulk-select checkbox and row "→" are dropped.
   № ВП is the card title, the state badge sits top-right. ---- */
@media (max-width: 768px) {
    .ps-vp-table-wrap[b-vjbamnustz] {
        border: none;
        border-radius: 0;
        overflow: visible;
        background: transparent;
    }
    .ps-vp-table[b-vjbamnustz] { display: block; }
    .ps-vp-table thead[b-vjbamnustz] { display: none; }
    .ps-vp-table tbody[b-vjbamnustz] { display: flex; flex-direction: column; gap: 10px; }

    .ps-vp-row[b-vjbamnustz] {
        display: grid;
        grid-template-columns: 1fr auto;
        column-gap: 10px;
        align-items: start;
        background: var(--white);
        border: 1px solid var(--border);
        border-radius: var(--r-lg);
        padding: 12px 14px;
    }
    .ps-vp-row:last-child[b-vjbamnustz] { border-bottom: 1px solid var(--border); }
    .ps-vp-row:hover[b-vjbamnustz] { background: var(--white); }
    .ps-vp-row--active[b-vjbamnustz],
    .ps-vp-row--active:hover[b-vjbamnustz] { background: var(--indigo-50); }
    .ps-vp-row--dim[b-vjbamnustz] { opacity: 1; } /* don't dim cards — closed VP still readable */

    .ps-vp-row td[b-vjbamnustz] { display: block; padding: 0; border: none; }

    /* Drop bulk-select checkbox (first cell) + row arrow (last cell). */
    .ps-vp-row td:first-child[b-vjbamnustz],
    .ps-vp-row td:last-child[b-vjbamnustz] { display: none; }

    /* № ВП = card title (left, row 1, no label). */
    .ps-vp-id[b-vjbamnustz] {
        grid-column: 1;
        grid-row: 1;
        font: 600 15px/1.3 var(--font-mono);
        white-space: normal;
    }

    /* Every labelled cell defaults to a full-width labelled row… */
    .ps-vp-row td[data-label][b-vjbamnustz] { grid-column: 1 / -1; margin-top: 8px; }
    .ps-vp-row td[data-label][b-vjbamnustz]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 1px;
        font: 500 10px/1.3 var(--font-mono);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--muted);
    }

    /* …except the state badge, which sits top-right next to the title. */
    .ps-vp-row td[data-label="Стан"][b-vjbamnustz] {
        grid-column: 2;
        grid-row: 1;
        margin-top: 0;
        justify-self: end;
    }
    .ps-vp-row td[data-label="Стан"][b-vjbamnustz]::before { display: none; }

    .ps-vp-creditor[b-vjbamnustz], .ps-vp-org[b-vjbamnustz] { max-width: none; }
    .ps-vp-num[b-vjbamnustz] { text-align: left; }
}
/* /Components/CompanyProfile/Tabs/HistoryTabV2.razor.rz.scp.css */
/* HistoryTabV2 — vertical timeline of EDR changes */

.ps-hi[b-hshe9bki7u] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.ps-hi-loading[b-hshe9bki7u],
.ps-hi-empty[b-hshe9bki7u] {
    padding: var(--s-8) var(--s-6);
    text-align: center;
    color: var(--muted);
}

.ps-hi-loading[b-hshe9bki7u] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-3);
}

.ps-hi-spinner[b-hshe9bki7u] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-hi-spin-b-hshe9bki7u 0.7s linear infinite;
}

@keyframes ps-hi-spin-b-hshe9bki7u { to { transform: rotate(360deg); } }

.ps-hi-empty h3[b-hshe9bki7u] { color: var(--ink); font: 600 18px/1.3 var(--font-sans); margin: 0 0 var(--s-2); }
.ps-hi-empty p[b-hshe9bki7u]  { margin: 0; max-width: 60ch; font: 400 14px/1.5 var(--font-sans); }

.ps-hi-head[b-hshe9bki7u] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 0 0 var(--s-2);
}

.ps-hi-head h3[b-hshe9bki7u] {
    margin: 0;
    font: 600 18px/1.25 var(--font-sans);
    color: var(--ink);
}

.ps-hi-count[b-hshe9bki7u] {
    color: var(--muted);
    font-size: 13px;
}

/* ---- Filter chips ---- */
.ps-hi-chips[b-hshe9bki7u] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    margin-bottom: var(--s-3);
}

.ps-hi-chip[b-hshe9bki7u] {
    padding: 6px 12px;
    background: var(--white);
    border: 1px solid var(--border-2);
    border-radius: var(--r-pill);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ps-hi-chip b[b-hshe9bki7u] { font-weight: 600; color: var(--ink); font-size: 11px; }

.ps-hi-chip:hover[b-hshe9bki7u] { background: var(--surface); }

.ps-hi-chip--on[b-hshe9bki7u] {
    background: var(--ink);
    color: var(--white);
    border-color: var(--ink);
}

.ps-hi-chip--on b[b-hshe9bki7u] { color: var(--white); }

/* ---- Timeline ---- */
.ps-hi-timeline[b-hshe9bki7u] {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.ps-hi-timeline[b-hshe9bki7u]::before {
    content: '';
    position: absolute;
    left: 18px;
    top: 16px;
    bottom: 16px;
    width: 2px;
    background: var(--border);
}

.ps-hi-item[b-hshe9bki7u] {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: var(--s-3);
    padding: var(--s-2) 0;
    position: relative;
}

.ps-hi-dot[b-hshe9bki7u] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--surface);
    color: var(--muted);
    font: 700 16px/1 var(--font-sans);
    z-index: 1;
    border: 2px solid var(--paper);
}

.ps-hi-dot.added[b-hshe9bki7u]    { background: var(--forest-bg); color: var(--forest); }
.ps-hi-dot.modified[b-hshe9bki7u] { background: var(--amber-bg);  color: var(--amber); }
.ps-hi-dot.removed[b-hshe9bki7u]  { background: var(--coral-bg);  color: var(--coral); }

.ps-hi-body[b-hshe9bki7u] {
    padding: 8px 14px 12px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-hi-row[b-hshe9bki7u] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-2);
    flex-wrap: wrap;
}

.ps-hi-title[b-hshe9bki7u] {
    font: 600 14px/1.3 var(--font-sans);
    color: var(--ink);
}

.ps-hi-date[b-hshe9bki7u] {
    font-size: 11px;
    color: var(--muted);
    flex-shrink: 0;
}

.ps-hi-diff[b-hshe9bki7u] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-hi-diff-old[b-hshe9bki7u],
.ps-hi-diff-new[b-hshe9bki7u] {
    padding: 6px 10px;
    border-radius: var(--r-sm);
    font-size: 13px;
    line-height: 1.4;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: var(--s-2);
    align-items: baseline;
}

.ps-hi-diff-old[b-hshe9bki7u] {
    background: var(--coral-bg);
    color: var(--coral);
    text-decoration: line-through;
    text-decoration-color: rgba(199, 55, 47, 0.4);
}

.ps-hi-diff-new[b-hshe9bki7u] {
    background: var(--forest-bg);
    color: var(--forest);
}

.ps-hi-diff-k[b-hshe9bki7u] {
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
}

.ps-hi-diff-v[b-hshe9bki7u] {
    color: var(--ink);
    word-break: break-word;
    text-decoration: inherit;
}

.ps-hi-diff-new .ps-hi-diff-v[b-hshe9bki7u] { color: var(--ink); }
.ps-hi-diff-old .ps-hi-diff-v[b-hshe9bki7u] { color: var(--body); }
/* /Components/CompanyProfile/Tabs/MonitoringTabV2.razor.rz.scp.css */
.ps-cl[b-f5ppug29t8] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Loading / empty ---- */
.ps-cl-loading[b-f5ppug29t8],
.ps-cl-empty[b-f5ppug29t8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.ps-cl-spinner[b-f5ppug29t8] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-cl-spin-b-f5ppug29t8 0.7s linear infinite;
}

@keyframes ps-cl-spin-b-f5ppug29t8 { to { transform: rotate(360deg); } }

.ps-cl-empty h3[b-f5ppug29t8] {
    margin: 0;
    color: var(--ink);
    font: 600 18px/1.3 var(--font-sans);
}

.ps-cl-empty p[b-f5ppug29t8] {
    margin: 0;
    max-width: 56ch;
    font: 400 14px/1.5 var(--font-sans);
}

.ps-cl-cta[b-f5ppug29t8] {
    margin-top: var(--s-2);
    padding: 10px 18px;
    background: var(--indigo-600);
    color: var(--white);
    text-decoration: none;
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
    transition: background 0.15s ease;
}

    .ps-cl-cta:hover[b-f5ppug29t8] { background: var(--indigo-800); }

/* ---- Filter chips ---- */
.ps-cl-filters[b-f5ppug29t8] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    flex-wrap: wrap;
}

.ps-cl-chips[b-f5ppug29t8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
}

.ps-cl-chip[b-f5ppug29t8] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-cl-chip:hover[b-f5ppug29t8] {
        background: var(--surface);
        color: var(--ink);
    }

    .ps-cl-chip b[b-f5ppug29t8] {
        color: var(--muted);
        font: 600 12px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-cl-chip--on[b-f5ppug29t8] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-cl-chip--on b[b-f5ppug29t8] { color: rgba(255, 255, 255, 0.7); }
    .ps-cl-chip--on .ps-cl-dot[b-f5ppug29t8] { box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25); }

.ps-cl-dot[b-f5ppug29t8] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.ps-cl-dot--forest[b-f5ppug29t8] { background: var(--forest); }
.ps-cl-dot--coral[b-f5ppug29t8]  { background: var(--coral); }
.ps-cl-dot--amber[b-f5ppug29t8]  { background: var(--amber); }

.ps-cl-chip-reset[b-f5ppug29t8] {
    margin-left: var(--s-2);
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: transparent;
    border: 1px dashed var(--border-2);
    color: var(--muted);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-cl-chip-reset:hover[b-f5ppug29t8] {
        background: var(--coral-bg);
        color: var(--coral);
        border-color: var(--coral-border);
    }

/* ---- Sort pills ---- */
.ps-cl-sort[b-f5ppug29t8] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--muted);
    font: 400 11px/1 var(--font-mono);
    margin-left: auto;
}

.ps-cl-sort-pill[b-f5ppug29t8] {
    padding: 4px 10px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--muted);
    border-radius: var(--r-sm);
    font: 500 11px/1 var(--font-mono);
    cursor: pointer;
}

.ps-cl-sort-pill--on[b-f5ppug29t8] {
    background: var(--indigo-50);
    color: var(--indigo-800);
    border-color: var(--indigo-200);
}

/* ---- Timeline body ---- */
.ps-cl-body[b-f5ppug29t8] {
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
}

.ps-cl-month[b-f5ppug29t8] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-cl-month-h[b-f5ppug29t8] {
    padding: var(--s-4) var(--s-5);
    background: var(--paper);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 1;
}

    .ps-cl-month-h h3[b-f5ppug29t8] {
        margin: 0;
        font: 600 15px/1.3 var(--font-sans);
        color: var(--ink);
        display: inline-flex;
        align-items: baseline;
        gap: 4px;
    }

    .ps-cl-month-h .mono[b-f5ppug29t8] {
        color: var(--muted);
        font: 500 13px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

/* ---- Timeline list ---- */
.ps-cl-list[b-f5ppug29t8] {
    list-style: none;
    margin: 0;
    padding: var(--s-4) 0;
    position: relative;
}

    /* Continuous vertical rail behind the dots. */
    .ps-cl-list[b-f5ppug29t8]::before {
        content: "";
        position: absolute;
        left: calc(var(--s-5) + 5px);
        top: var(--s-4);
        bottom: var(--s-4);
        width: 1px;
        background: var(--border);
    }

.ps-cl-item[b-f5ppug29t8] {
    position: relative;
    display: grid;
    grid-template-columns: 32px 1fr;
    align-items: flex-start;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-5) var(--s-3) var(--s-5);
}

.ps-cl-dot-marker[b-f5ppug29t8] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-top: 4px;
    margin-left: 0;
    border: 2px solid var(--white);
    box-shadow: 0 0 0 1px var(--border);
    z-index: 1;
    background: var(--muted);
    justify-self: start;
}

.ps-cl-item--add .ps-cl-dot-marker[b-f5ppug29t8] {
    background: var(--forest);
    box-shadow: 0 0 0 1px var(--forest-border);
}

.ps-cl-item--close .ps-cl-dot-marker[b-f5ppug29t8] {
    background: var(--coral);
    box-shadow: 0 0 0 1px var(--coral-border);
}

.ps-cl-item--edit .ps-cl-dot-marker[b-f5ppug29t8] {
    background: var(--amber);
    box-shadow: 0 0 0 1px var(--amber-border);
}

.ps-cl-item-body[b-f5ppug29t8] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-cl-row[b-f5ppug29t8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
}

.ps-cl-tag[b-f5ppug29t8] {
    color: var(--body);
    font: 500 11px/1.3 var(--font-mono);
    background: var(--surface);
    padding: 2px 8px;
    border-radius: var(--r-sm);
    letter-spacing: 0.04em;
}

.ps-cl-item--add .ps-cl-tag[b-f5ppug29t8] {
    background: var(--forest-bg);
    color: var(--forest);
}

.ps-cl-item--close .ps-cl-tag[b-f5ppug29t8] {
    background: var(--coral-bg);
    color: var(--coral);
}

.ps-cl-item--edit .ps-cl-tag[b-f5ppug29t8] {
    background: var(--amber-bg);
    color: var(--amber);
}

.ps-cl-date[b-f5ppug29t8] {
    color: var(--muted);
    font: 400 12px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-cl-registry[b-f5ppug29t8] {
    color: var(--muted);
    font: 400 11px/1.4 var(--font-sans);
    padding: 1px 6px;
    border: 1px solid var(--border-2);
    border-radius: var(--r-sm);
}

.ps-cl-new[b-f5ppug29t8] {
    padding: 1px 6px;
    background: var(--indigo-600);
    color: var(--white);
    border-radius: var(--r-sm);
    font: 600 9px/1.5 var(--font-mono);
    letter-spacing: 0.08em;
}

.ps-cl-desc[b-f5ppug29t8] {
    margin: 0;
    color: var(--ink);
    font: 400 14px/1.5 var(--font-sans);
}

.ps-cl-diff[b-f5ppug29t8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-2);
    background: var(--paper);
    border-radius: var(--r-sm);
    font: 400 12px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-cl-diff-old[b-f5ppug29t8] {
    color: var(--muted);
    text-decoration: line-through;
}

.ps-cl-diff-arrow[b-f5ppug29t8] {
    color: var(--muted);
}

.ps-cl-diff-new[b-f5ppug29t8] {
    color: var(--ink);
    font-weight: 500;
}
/* /Components/CompanyProfile/Tabs/MvsTabV2.razor.rz.scp.css */
.ps-mv[b-pril7asitr] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Action bar (breadcrumb-style) ---- */
.ps-mv-actionbar[b-pril7asitr] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    font: 500 13px/1.3 var(--font-sans);
}

.ps-mv-actionbar-h[b-pril7asitr] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--ink);
    flex: 1;
    min-width: 0;
}

.ps-mv-actionbar-co[b-pril7asitr] { color: var(--muted); font-weight: 500; }
.ps-mv-actionbar-sep[b-pril7asitr] { color: var(--border-2); }

.ps-mv-actionbar-n[b-pril7asitr] {
    margin-left: 6px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--coral-bg);
    color: var(--coral);
    font: 600 11px/1.2 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-mv-actionbar-actions[b-pril7asitr] { display: inline-flex; gap: var(--s-2); }

.ps-mv-actionbar-btn[b-pril7asitr] {
    padding: 6px 14px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    font: 500 12px/1 var(--font-sans);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-mv-actionbar-btn:hover[b-pril7asitr] {
        background: var(--surface);
        color: var(--ink);
    }

.ps-mv-actionbar-btn--primary[b-pril7asitr] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-mv-actionbar-btn--primary:hover[b-pril7asitr] {
        background: var(--indigo-800);
        border-color: var(--indigo-800);
        color: var(--white);
    }

    .ps-mv-actionbar-btn:disabled[b-pril7asitr] {
        opacity: 0.6;
        cursor: not-allowed;
    }

/* Spinner inside primary "Експорт PDF" button while QuestPDF renders. */
.ps-mv-btn-spin[b-pril7asitr] {
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: var(--white);
    border-radius: 50%;
    animation: ps-mv-spin-b-pril7asitr 0.7s linear infinite;
    display: inline-block;
    margin-right: 6px;
    vertical-align: -2px;
}

/* ---- Filter chips ---- */
.ps-mv-filters[b-pril7asitr] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
}

.ps-mv-chips[b-pril7asitr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
}

.ps-mv-chip[b-pril7asitr] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-mv-chip:hover[b-pril7asitr] {
        background: var(--surface);
        color: var(--ink);
    }

    .ps-mv-chip b[b-pril7asitr] {
        color: var(--muted);
        font: 600 12px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-mv-chip--on[b-pril7asitr] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-mv-chip--on b[b-pril7asitr] { color: rgba(255, 255, 255, 0.7); }

/* ---- Loading / empty ---- */
.ps-mv-loading[b-pril7asitr],
.ps-mv-empty[b-pril7asitr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.ps-mv-spinner[b-pril7asitr] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-mv-spin-b-pril7asitr 0.7s linear infinite;
}

@keyframes ps-mv-spin-b-pril7asitr { to { transform: rotate(360deg); } }

.ps-mv-empty h3[b-pril7asitr] {
    margin: 0;
    color: var(--ink);
    font: 600 18px/1.3 var(--font-sans);
}

.ps-mv-empty p[b-pril7asitr] {
    margin: 0;
    max-width: 56ch;
    font: 400 14px/1.5 var(--font-sans);
}

.ps-mv-empty--ok[b-pril7asitr] {
    background: var(--forest-bg);
    border-color: var(--forest-border);
    color: var(--forest);
}

    .ps-mv-empty--ok h3[b-pril7asitr] { color: var(--forest); }
    .ps-mv-empty--ok p[b-pril7asitr]  { color: var(--body); }

.ps-mv-ok-ic[b-pril7asitr] {
    /* Sized to the inline 48-px shield-check SVG. White ring + soft
       forest glow distinguish it from the rest of the empty-state card. */
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--white);
    color: var(--forest);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 2px var(--forest-border);
}

    .ps-mv-ok-ic svg[b-pril7asitr] {
        color: var(--forest);
    }

.ps-mv-empty-sub[b-pril7asitr] {
    margin-top: 4px;
    color: var(--muted);
    font: 400 11px/1.4 var(--font-mono);
    letter-spacing: 0.02em;
}

/* ---- Alert banner (records found) ---- */
.ps-mv-alert[b-pril7asitr] {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--s-4);
    padding: var(--s-4) var(--s-5);
    background: var(--coral-bg);
    border: 1px solid var(--coral-border);
    border-radius: var(--r-xl);
    color: var(--ink);
}

@media (max-width: 720px) {
    .ps-mv-alert[b-pril7asitr] { grid-template-columns: 48px 1fr; }
    .ps-mv-alert-meta[b-pril7asitr] { grid-column: 1 / -1; }
}

.ps-mv-alert-ic[b-pril7asitr] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--coral);
    color: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 700 22px/1 var(--font-sans);
}

.ps-mv-alert-body h3[b-pril7asitr] {
    margin: 0 0 4px;
    font: 600 16px/1.3 var(--font-sans);
    color: var(--ink);
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    flex-wrap: wrap;
}

    .ps-mv-alert-body h3 .mono[b-pril7asitr] {
        color: var(--coral);
        font: 600 14px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-mv-alert-body p[b-pril7asitr] {
    margin: 0;
    color: var(--body);
    font: 400 13px/1.5 var(--font-sans);
}

    .ps-mv-alert-body p[b-pril7asitr]  b {
        color: var(--ink);
        font-weight: 600;
    }

.ps-mv-alert-meta[b-pril7asitr] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--s-2) var(--s-3);
    background: var(--white);
    border: 1px solid var(--coral-border);
    border-radius: var(--r-md);
    min-width: 160px;
}

    .ps-mv-alert-meta span[b-pril7asitr] {
        color: var(--muted);
        font: 500 10px/1.4 var(--font-mono);
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .ps-mv-alert-meta b[b-pril7asitr] {
        color: var(--coral);
        font: 600 13px/1.4 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

/* ---- Cards grid ---- */
.ps-mv-grid[b-pril7asitr] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--s-4);
}

.ps-mv-card[b-pril7asitr] {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

    .ps-mv-card:hover[b-pril7asitr] {
        border-color: var(--border-2);
        box-shadow: var(--shadow-sm);
    }

.ps-mv-card--dim[b-pril7asitr] { opacity: 0.78; }

.ps-mv-photo[b-pril7asitr] {
    position: relative;
    aspect-ratio: 4 / 3;
    background: linear-gradient(135deg, #E8E6F4 0%, #DEDBF7 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

    .ps-mv-photo img[b-pril7asitr] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.ps-mv-photo-fallback[b-pril7asitr] {
    color: var(--indigo-800);
    font: 600 56px/1 var(--font-sans);
    letter-spacing: -0.02em;
}

.ps-mv-photo-tag[b-pril7asitr] {
    position: absolute;
    top: var(--s-2);
    right: var(--s-2);
    padding: 3px 8px;
    background: rgba(26, 27, 34, 0.72);
    color: var(--white);
    border-radius: var(--r-sm);
    font: 600 11px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    backdrop-filter: blur(4px);
}

.ps-mv-card-body[b-pril7asitr] {
    padding: var(--s-4);
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

/* Stack FIO on top, badges row underneath — the previous flex-row
   layout with `flex: 1; min-width: 0` on the b was shrinking the FIO
   below intrinsic word width whenever a badge consumed part of the
   row, and the overflow-wrap fallback then broke words by letters
   ("МАКСИ / М / МУЗИЧ / ЕНКО"). Column stack guarantees FIO always
   gets the card-body's full width before wrapping. */
.ps-mv-card-h[b-pril7asitr] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s-2);
}

    .ps-mv-card-h b[b-pril7asitr] {
        width: 100%;
        color: var(--ink);
        font: 600 16px/1.25 var(--font-sans);
        word-break: keep-all;
        overflow-wrap: break-word;
        hyphens: none;
    }

.ps-mv-card-h-badges[b-pril7asitr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.ps-mv-badge[b-pril7asitr] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
    flex-shrink: 0;
}

.ps-mv-badge--coral[b-pril7asitr] { background: var(--coral-bg); color: var(--coral); }
.ps-mv-badge--amber[b-pril7asitr] { background: var(--amber-bg); color: var(--amber); }

.ps-mv-badge-dot[b-pril7asitr] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

.ps-mv-cat[b-pril7asitr] {
    color: var(--muted);
    font: 500 10px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding-bottom: var(--s-2);
    border-bottom: 1px solid var(--border);
}

.ps-mv-meta[b-pril7asitr] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-3);
}

    .ps-mv-meta > div[b-pril7asitr] {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

.ps-mv-meta-k[b-pril7asitr] {
    color: var(--muted);
    font: 500 10px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ps-mv-meta-v[b-pril7asitr] {
    color: var(--ink);
    font: 500 12px/1.4 var(--font-sans);
    overflow: hidden;
    text-overflow: ellipsis;
}

    .ps-mv-meta-v.mono[b-pril7asitr] {
        font-family: var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-mv-meta-v--coral[b-pril7asitr] { color: var(--coral); }
.ps-mv-meta-v--amber[b-pril7asitr] { color: var(--amber); }

.ps-mv-org[b-pril7asitr] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--s-2) var(--s-3);
    background: var(--paper);
    border-radius: var(--r-md);
}

    .ps-mv-org b[b-pril7asitr] {
        color: var(--ink);
        font: 500 12px/1.4 var(--font-sans);
    }

/* /Components/CompanyProfile/Tabs/PepTabV2.razor.rz.scp.css */
.ps-pep[b-a40mh1t0y5] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Loading / empty ---- */
.ps-pep-loading[b-a40mh1t0y5],
.ps-pep-empty[b-a40mh1t0y5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.ps-pep-spinner[b-a40mh1t0y5] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-pep-spin-b-a40mh1t0y5 0.7s linear infinite;
}

@keyframes ps-pep-spin-b-a40mh1t0y5 { to { transform: rotate(360deg); } }

.ps-pep-empty h3[b-a40mh1t0y5] { margin: 0; color: var(--ink); font: 600 18px/1.3 var(--font-sans); }
.ps-pep-empty p[b-a40mh1t0y5]  { margin: 0; max-width: 56ch; font: 400 14px/1.5 var(--font-sans); }

.ps-pep-empty--ok[b-a40mh1t0y5] {
    background: var(--forest-bg);
    border-color: var(--forest-border);
}
    .ps-pep-empty--ok h3[b-a40mh1t0y5] { color: var(--forest); }
    .ps-pep-empty--ok p[b-a40mh1t0y5]  { color: var(--body); }

.ps-pep-ok-ic[b-a40mh1t0y5] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--white);
    color: var(--forest);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 700 22px/1 var(--font-sans);
    box-shadow: 0 0 0 2px var(--forest-border);
}

/* ---- 4 screening checks ---- */
.ps-pep-checks[b-a40mh1t0y5] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-3);
}

@media (max-width: 1100px) { .ps-pep-checks[b-a40mh1t0y5] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .ps-pep-checks[b-a40mh1t0y5] { grid-template-columns: 1fr; } }

.ps-pep-check[b-a40mh1t0y5] {
    display: grid;
    grid-template-columns: 36px 1fr auto auto;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: border-color 0.12s, box-shadow 0.12s, transform 0.05s;
}

    .ps-pep-check:hover:not(:disabled)[b-a40mh1t0y5] {
        border-color: var(--indigo-400);
        box-shadow: 0 4px 12px -8px rgba(91, 87, 219, 0.25);
    }

    .ps-pep-check:disabled[b-a40mh1t0y5] {
        cursor: default;
    }

    .ps-pep-check--open[b-a40mh1t0y5] {
        border-color: var(--indigo-600);
        box-shadow: 0 0 0 3px rgba(91, 87, 219, 0.12);
    }

.ps-pep-check--ok[b-a40mh1t0y5]   { background: var(--forest-bg); border-color: var(--forest-border); }
.ps-pep-check--warn[b-a40mh1t0y5] { background: var(--amber-bg);  border-color: var(--amber-border); }
.ps-pep-check--hit[b-a40mh1t0y5]  { background: var(--coral-bg);  border-color: var(--coral-border); }

.ps-pep-check-toggle[b-a40mh1t0y5] {
    font-size: 14px;
    color: var(--muted);
    width: 18px;
    text-align: center;
}

.ps-pep-check-ic[b-a40mh1t0y5] {
    width: 36px;
    height: 36px;
    border-radius: var(--r-md);
    background: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
    font: 700 18px/1 var(--font-sans);
}

.ps-pep-check--ok   .ps-pep-check-ic[b-a40mh1t0y5] { color: var(--forest); }
.ps-pep-check--warn .ps-pep-check-ic[b-a40mh1t0y5] { color: var(--amber); }
.ps-pep-check--hit  .ps-pep-check-ic[b-a40mh1t0y5] { color: var(--coral); }

.ps-pep-check-body[b-a40mh1t0y5] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.ps-pep-check-h[b-a40mh1t0y5] {
    color: var(--ink);
    font: 600 13px/1.3 var(--font-sans);
    overflow: hidden;
    text-overflow: ellipsis;
}

.ps-pep-check-sub[b-a40mh1t0y5] {
    color: var(--muted);
    font: 400 12px/1.4 var(--font-sans);
}

.ps-pep-badge[b-a40mh1t0y5] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
    white-space: nowrap;
}

.ps-pep-badge--forest[b-a40mh1t0y5] { background: var(--white); color: var(--forest); border: 1px solid var(--forest-border); }
.ps-pep-badge--amber[b-a40mh1t0y5]  { background: var(--white); color: var(--amber);  border: 1px solid var(--amber-border); }
.ps-pep-badge--coral[b-a40mh1t0y5]  { background: var(--white); color: var(--coral);  border: 1px solid var(--coral-border); }

.ps-pep-badge-dot[b-a40mh1t0y5] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

/* ---- Persons body ---- */
.ps-pep-body[b-a40mh1t0y5] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-pep-list-h[b-a40mh1t0y5] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-4) var(--s-5);
    border-bottom: 1px solid var(--border);
}

    .ps-pep-list-h h3[b-a40mh1t0y5] {
        margin: 0;
        color: var(--ink);
        font: 600 16px/1.3 var(--font-sans);
        display: inline-flex;
        align-items: baseline;
        gap: 4px;
    }

    .ps-pep-list-h h3 .mono[b-a40mh1t0y5] {
        color: var(--muted);
        font: 500 14px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-pep-filter[b-a40mh1t0y5] {
    display: flex;
    gap: 2px;
    background: var(--surface);
    padding: 3px;
    border-radius: var(--r-md);
    align-self: flex-start;
}

.ps-pep-seg[b-a40mh1t0y5] {
    padding: 5px 10px;
    border: none;
    background: transparent;
    border-radius: 5px;
    color: var(--muted);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

    .ps-pep-seg b[b-a40mh1t0y5] {
        color: var(--muted);
        font: 600 11px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

    .ps-pep-seg:hover[b-a40mh1t0y5] { color: var(--ink); }

.ps-pep-seg--on[b-a40mh1t0y5] {
    background: var(--white);
    color: var(--ink);
    box-shadow: var(--shadow-sm);
}

    .ps-pep-seg--on b[b-a40mh1t0y5] { color: var(--indigo-600); }

.ps-pep-list[b-a40mh1t0y5] {
    display: flex;
    flex-direction: column;
}

.ps-pep-card[b-a40mh1t0y5] {
    padding: var(--s-4) var(--s-5);
    border-bottom: 1px solid var(--border);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--s-3);
}

    .ps-pep-card:last-child[b-a40mh1t0y5] { border-bottom: none; }
    .ps-pep-card:hover[b-a40mh1t0y5] { background: var(--paper); }

.ps-pep-card--compact[b-a40mh1t0y5] { padding: var(--s-3) var(--s-5); }

.ps-pep-card-l[b-a40mh1t0y5] {
    display: grid;
    grid-template-columns: 44px 1fr;
    align-items: flex-start;
    gap: var(--s-3);
}

.ps-pep-avatar[b-a40mh1t0y5] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--amber-bg);
    color: var(--amber);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 600 13px/1 var(--font-sans);
    flex-shrink: 0;
}

/* Real portrait (deputy / official) in place of the initials avatar. */
.ps-pep-avatar--photo[b-a40mh1t0y5] {
    object-fit: cover;
    background: var(--surface);
    cursor: zoom-in;
}

/* Click-to-enlarge portrait overlay (legacy parity). */
.ps-pep-zoom[b-a40mh1t0y5] {
    position: fixed;
    inset: 0;
    z-index: 600;
    background: rgba(16, 16, 43, 0.72);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    cursor: zoom-out;
}

    .ps-pep-zoom img[b-a40mh1t0y5] {
        max-width: min(420px, 90vw);
        max-height: 86vh;
        border-radius: 12px;
        box-shadow: 0 24px 64px -12px rgba(0, 0, 0, 0.5);
        background: #fff;
    }

.ps-pep-zoom-x[b-a40mh1t0y5] {
    position: absolute;
    top: 18px;
    right: 22px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.ps-pep-card-meta[b-a40mh1t0y5] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-pep-card-name[b-a40mh1t0y5] {
    color: var(--ink);
    font: 600 14px/1.3 var(--font-sans);
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    flex-wrap: wrap;
}

.ps-pep-card-role[b-a40mh1t0y5] {
    color: var(--muted);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ps-pep-card-stats[b-a40mh1t0y5] {
    color: var(--body);
    font: 400 12px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
}

    .ps-pep-card-stats b[b-a40mh1t0y5] {
        color: var(--ink);
        font-weight: 600;
    }

.ps-pep-card-stats .dot-divider[b-a40mh1t0y5],
.ps-pep-card-stats .ps-pep-divider[b-a40mh1t0y5] {
    color: var(--border-2);
    padding: 0 2px;
}

/* ---- Position timeline ---- */
.ps-pep-timeline[b-a40mh1t0y5] {
    grid-column: 1 / -1;
    margin-top: var(--s-3);
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-pep-period[b-a40mh1t0y5] {
    display: grid;
    grid-template-columns: 90px 184px 1fr auto;
    align-items: baseline;
    gap: var(--s-3);
    padding: var(--s-2) var(--s-3);
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
}

@media (max-width: 720px) {
    .ps-pep-period[b-a40mh1t0y5] { grid-template-columns: 1fr; gap: 4px; }
}

/* Clickable declaration rows → full НАЗК declarations page (fix #2/#3).
   These are links, so they must read as interactive — not the dimmed,
   greyed-out «disabled» look the inactive --dim style gave them. */
.ps-pep-period--link[b-a40mh1t0y5] {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    opacity: 1;
    transition: border-color 0.12s, background 0.12s, box-shadow 0.12s;
}

    /* Body-weight (not muted) text so the row looks live, not disabled. */
    .ps-pep-period--link .ps-pep-period-yr[b-a40mh1t0y5],
    .ps-pep-period--link .ps-pep-period-meta small[b-a40mh1t0y5] {
        color: var(--body);
    }

    .ps-pep-period--link:hover[b-a40mh1t0y5] {
        background: var(--paper);
        border-color: var(--indigo-200);
        box-shadow: 0 2px 8px -6px rgba(91, 87, 219, 0.35);
    }

    .ps-pep-period--link:hover .ps-pep-period-yr[b-a40mh1t0y5] {
        color: var(--indigo-600);
    }

.ps-pep-period-go[b-a40mh1t0y5] {
    align-self: center;
    color: var(--body);
    font: 600 14px/1 var(--font-mono);
    transition: color 0.12s, transform 0.12s;
}

    .ps-pep-period--link:hover .ps-pep-period-go[b-a40mh1t0y5] {
        color: var(--indigo-600);
        transform: translateX(2px);
    }

/* «N декларацій →» counter, top-right of the person card (fix #4) */
.ps-pep-decl-link[b-a40mh1t0y5] {
    align-self: start;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border: 1px solid var(--border);
    border-radius: var(--r-pill);
    background: var(--white);
    color: var(--muted);
    font: 500 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 0.12s, color 0.12s, background 0.12s;
}

    .ps-pep-decl-link:hover[b-a40mh1t0y5] {
        border-color: var(--indigo-200);
        color: var(--indigo-600);
        background: var(--indigo-50);
    }

    .ps-pep-decl-link .ps-pep-decl-arrow[b-a40mh1t0y5] {
        font-weight: 600;
        transition: transform 0.12s;
    }

    .ps-pep-decl-link:hover .ps-pep-decl-arrow[b-a40mh1t0y5] { transform: translateX(2px); }

.ps-pep-period--active[b-a40mh1t0y5] {
    background: var(--amber-bg);
    border-color: var(--amber-border);
}

.ps-pep-period--dim[b-a40mh1t0y5] { opacity: 0.72; }

.ps-pep-period-yr[b-a40mh1t0y5] {
    color: var(--muted);
    font: 500 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-pep-period-tag[b-a40mh1t0y5] {
    padding: 2px 6px;
    background: var(--surface);
    color: var(--body);
    border-radius: var(--r-sm);
    font: 500 10px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-align: center;
    white-space: nowrap;
    justify-self: start;
}

.ps-pep-period-meta b[b-a40mh1t0y5] {
    color: var(--ink);
    font: 500 13px/1.4 var(--font-sans);
}

.ps-pep-period-meta small[b-a40mh1t0y5] {
    display: block;
    color: var(--muted);
    font: 400 11px/1.4 var(--font-sans);
}


/* ============================================================
   Public-figures detail panel (Phase 3 #5)
   ============================================================ */
.ps-pep-detail[b-a40mh1t0y5] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: var(--s-4) var(--s-5) var(--s-5);
    margin-top: calc(var(--s-2) * -1);
    animation: ps-pep-fade-b-a40mh1t0y5 0.16s ease-out;
}

@keyframes ps-pep-fade-b-a40mh1t0y5 { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }

.ps-pep-detail-h[b-a40mh1t0y5] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-2);
    margin-bottom: var(--s-3);
    padding-bottom: var(--s-2);
    border-bottom: 1px solid var(--border);
}

.ps-pep-detail-h h4[b-a40mh1t0y5] {
    margin: 0;
    font: 600 16px/1.3 var(--font-sans);
    color: var(--ink);
}

.ps-pep-detail-h .mono[b-a40mh1t0y5] {
    color: var(--indigo-600);
    font-weight: 600;
}

.ps-pep-detail-close[b-a40mh1t0y5] {
    width: 28px;
    height: 28px;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 18px;
    line-height: 1;
    border-radius: var(--r-md);
    cursor: pointer;
}

    .ps-pep-detail-close:hover[b-a40mh1t0y5] { background: var(--surface); color: var(--ink); }

.ps-pep-pf-grid[b-a40mh1t0y5] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--s-3);
    /* Cards size to their own content — a 1-post card no longer stretches
       to match a 5-post neighbour, so no big empty gap under short cards. */
    align-items: start;
}

.ps-pep-pf-card[b-a40mh1t0y5] {
    padding: var(--s-3);
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ps-pep-pf-h[b-a40mh1t0y5] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    padding-bottom: 6px;
    border-bottom: 1px dashed var(--border);
    margin-bottom: 4px;
}

.ps-pep-pf-h b[b-a40mh1t0y5] {
    font: 600 14px/1.3 var(--font-sans);
    color: var(--ink);
}

.ps-pep-pf-h a[b-a40mh1t0y5] {
    color: var(--indigo-600);
    text-decoration: none;
}

.ps-pep-pf-h a:hover[b-a40mh1t0y5] { text-decoration: underline; }

.ps-pep-pf-h-text[b-a40mh1t0y5] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-pep-pf-photo[b-a40mh1t0y5] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--white);
    box-shadow: 0 1px 3px rgba(17, 18, 30, 0.16);
    flex-shrink: 0;
    cursor: zoom-in;
}

.ps-pep-pf-line[b-a40mh1t0y5] {
    font: 400 12px/1.4 var(--font-sans);
    color: var(--body);
}

.ps-pep-pf-k[b-a40mh1t0y5] {
    color: var(--muted);
    margin-right: 4px;
}

.ps-pep-pf-line .mono[b-a40mh1t0y5] {
    color: var(--ink);
}

.ps-pep-pf-posts[b-a40mh1t0y5] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 4px;
}

.ps-pep-pf-post[b-a40mh1t0y5] {
    padding: 6px 10px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 12px;
    color: var(--body);
}

.ps-pep-pf-post b[b-a40mh1t0y5] {
    color: var(--ink);
    font-weight: 600;
    line-height: 1.3;
}

.ps-pep-pf-post small[b-a40mh1t0y5] {
    color: var(--muted);
    font-size: 11px;
}

.ps-pep-pf-unit[b-a40mh1t0y5] {
    color: var(--indigo-600);
}

.ps-pep-pf-post-more[b-a40mh1t0y5] {
    color: var(--muted);
    font-size: 11px;
    text-align: center;
    padding: 4px;
}
/* /Components/CompanyProfile/Tabs/PropertyTabV2.razor.rz.scp.css */
.ps-pr[b-g53c16ckqu] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Loading / empty ---- */
.ps-pr-loading[b-g53c16ckqu],
.ps-pr-empty[b-g53c16ckqu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.ps-pr-spinner[b-g53c16ckqu] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-pr-spin-b-g53c16ckqu 0.7s linear infinite;
}

@keyframes ps-pr-spin-b-g53c16ckqu { to { transform: rotate(360deg); } }

.ps-pr-empty h3[b-g53c16ckqu] { margin: 0; color: var(--ink); font: 600 18px/1.3 var(--font-sans); }
.ps-pr-empty p[b-g53c16ckqu]  { margin: 0; max-width: 56ch; font: 400 14px/1.5 var(--font-sans); }

.ps-pr-cta[b-g53c16ckqu] {
    margin-top: var(--s-2);
    padding: 10px 18px;
    background: var(--indigo-600);
    color: var(--white);
    text-decoration: none;
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
    border: 0;
    cursor: pointer;
    transition: background 0.15s ease, opacity 0.15s ease;
}

    .ps-pr-cta:hover[b-g53c16ckqu] { background: var(--indigo-800); }
    .ps-pr-cta:disabled[b-g53c16ckqu] { opacity: 0.55; cursor: wait; }

.ps-pr-cta--secondary[b-g53c16ckqu] {
    background: var(--white);
    color: var(--indigo-600);
    border: 1px solid var(--indigo-200);
}

    .ps-pr-cta--secondary:hover[b-g53c16ckqu] { background: var(--indigo-50); color: var(--indigo-800); }

.ps-pr-cta-row[b-g53c16ckqu] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    margin-top: var(--s-2);
}

/* Request bar in the populated view — pull the not-yet-fetched type. */
.ps-pr-reqbar[b-g53c16ckqu] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
    margin-bottom: var(--s-4);
    padding: 10px 14px;
    background: var(--indigo-50);
    border: 1px solid var(--indigo-200);
    border-radius: var(--r-md);
}
.ps-pr-cta--small[b-g53c16ckqu] {
    margin-top: 0;
    padding: 7px 13px;
    font-size: 12px;
}

/* ---- Inline progress strip (Phase 2 #5) ---- */
.ps-pr-progress[b-g53c16ckqu] {
    width: 100%;
    max-width: 320px;
    height: 4px;
    border-radius: var(--r-pill);
    background: var(--surface);
    overflow: hidden;
    margin-top: var(--s-3);
}

.ps-pr-progress-bar[b-g53c16ckqu] {
    display: block;
    height: 100%;
    width: 40%;
    background: linear-gradient(90deg, var(--indigo-400), var(--indigo-600));
    border-radius: var(--r-pill);
    animation: ps-pr-progress-slide-b-g53c16ckqu 1.4s ease-in-out infinite;
}

@keyframes ps-pr-progress-slide-b-g53c16ckqu {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(280%); }
}

.ps-pr-progress-meta[b-g53c16ckqu] {
    margin-top: var(--s-2);
    font-size: 11px;
    color: var(--muted);
    letter-spacing: 0.02em;
}

/* ---- KPI strip ---- */
.ps-pr-summary[b-g53c16ckqu] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-3);
}

@media (max-width: 1100px) { .ps-pr-summary[b-g53c16ckqu] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .ps-pr-summary[b-g53c16ckqu] { grid-template-columns: 1fr; } }

.ps-pr-tile[b-g53c16ckqu] {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.ps-pr-tile--warn[b-g53c16ckqu] {
    background: var(--amber-bg);
    border-color: var(--amber-border);
}

.ps-pr-tile-ic[b-g53c16ckqu] {
    width: 40px;
    height: 40px;
    border-radius: var(--r-md);
    background: var(--indigo-50);
    color: var(--indigo-800);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 500 20px/1 var(--font-sans);
}

.ps-pr-tile--warn .ps-pr-tile-ic[b-g53c16ckqu] { background: var(--amber); color: var(--white); }

.ps-pr-tile > div[b-g53c16ckqu] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.ps-pr-tile-h[b-g53c16ckqu] {
    color: var(--muted);
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ps-pr-tile--warn .ps-pr-tile-h[b-g53c16ckqu] { color: var(--amber); }

.ps-pr-tile-val[b-g53c16ckqu] {
    color: var(--ink);
    font: 600 28px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-pr-tile--warn .ps-pr-tile-val[b-g53c16ckqu] { color: var(--amber); }

.ps-pr-tile-sub[b-g53c16ckqu] {
    color: var(--muted);
    font: 400 12px/1.3 var(--font-sans);
}

/* ---- Filter chips ---- */
.ps-pr-filters[b-g53c16ckqu] { display: flex; align-items: center; gap: var(--s-3); }
.ps-pr-chips[b-g53c16ckqu] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }

.ps-pr-chip[b-g53c16ckqu] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-pr-chip:hover[b-g53c16ckqu] { background: var(--surface); color: var(--ink); }

    .ps-pr-chip b[b-g53c16ckqu] {
        color: var(--muted);
        font: 600 12px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-pr-chip--on[b-g53c16ckqu] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-pr-chip--on b[b-g53c16ckqu] { color: rgba(255, 255, 255, 0.7); }

.ps-pr-chip-sep[b-g53c16ckqu] { width: 1px; height: 22px; background: var(--border-2); margin: 0 var(--s-2); }

.ps-pr-chip-reset[b-g53c16ckqu] {
    margin-left: var(--s-2);
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: transparent;
    border: 1px dashed var(--border-2);
    color: var(--muted);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
}

    .ps-pr-chip-reset:hover[b-g53c16ckqu] { background: var(--coral-bg); color: var(--coral); border-color: var(--coral-border); }

/* ---- Cards grid ---- */
.ps-pr-grid[b-g53c16ckqu] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--s-4);
}

.ps-pr-card[b-g53c16ckqu] {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

    .ps-pr-card:hover[b-g53c16ckqu] { border-color: var(--border-2); box-shadow: var(--shadow-sm); }

.ps-pr-card--warn[b-g53c16ckqu] { border-color: var(--amber-border); }

.ps-pr-card-img[b-g53c16ckqu] {
    aspect-ratio: 16 / 9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 56px;
    color: rgba(255, 255, 255, 0.8);
}

.ps-pr-card-img--realestate[b-g53c16ckqu] {
    background: linear-gradient(135deg, #C9C5F4 0%, #8B82EA 100%);
}

.ps-pr-card-img--vehicle[b-g53c16ckqu] {
    background: linear-gradient(135deg, #F2D9A1 0%, #B86E0F 100%);
}

.ps-pr-card-img--land[b-g53c16ckqu] {
    background: linear-gradient(135deg, #C7DFC0 0%, #3A7A2E 100%);
}

.ps-pr-card-body[b-g53c16ckqu] {
    padding: var(--s-4);
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-pr-badge[b-g53c16ckqu] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
}

.ps-pr-badge--amber[b-g53c16ckqu]   { background: var(--amber-bg);  color: var(--amber); }
.ps-pr-badge--neutral[b-g53c16ckqu] { background: var(--surface);   color: var(--body); }
.ps-pr-badge--ok[b-g53c16ckqu]      { background: var(--forest-bg); color: var(--forest); }

/* Manual code entry for ФОП / фізособа without a card ЄДРПОУ */
.ps-pr-manual[b-g53c16ckqu] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    margin-top: var(--s-3);
    align-items: center;
}
.ps-pr-manual-input[b-g53c16ckqu] {
    padding: 9px 13px;
    min-width: 240px;
    border: 1px solid var(--border-2);
    border-radius: var(--r-md);
    font: 500 14px/1 var(--font-mono);
    color: var(--ink);
    background: var(--white);
}
.ps-pr-manual-input:focus[b-g53c16ckqu] { outline: 0; border-color: var(--indigo-400); }

.ps-pr-badge-dot[b-g53c16ckqu] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

.ps-pr-card-title[b-g53c16ckqu] {
    margin: 0;
    color: var(--ink);
    font: 600 15px/1.3 var(--font-sans);
    word-break: break-word;
}

.ps-pr-card-meta[b-g53c16ckqu] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px var(--s-2);
    color: var(--muted);
    font: 400 12px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-pr-card-sep[b-g53c16ckqu] { color: var(--border-2); }

.ps-pr-card-foot[b-g53c16ckqu] {
    margin-top: var(--s-2);
    padding-top: var(--s-2);
    border-top: 1px solid var(--border);
    color: var(--muted);
    font: 400 11px/1.4 var(--font-sans);
}

    .ps-pr-card-foot .mono b[b-g53c16ckqu] {
        color: var(--ink);
        font-weight: 600;
    }

.ps-pr-tx-amber[b-g53c16ckqu] { color: var(--amber); }

    .ps-pr-tx-amber .mono b[b-g53c16ckqu] { color: var(--amber); }
/* /Components/CompanyProfile/Tabs/TaxTabV2.razor.rz.scp.css */
/* TaxTabV2 — tax-enforcement (vidomosti) registry tab */

.ps-tx[b-5xsab89ss8] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
}

.ps-tx-loading[b-5xsab89ss8],
.ps-tx-empty[b-5xsab89ss8] {
    padding: var(--s-8) var(--s-6);
    text-align: center;
    color: var(--muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-2);
}

.ps-tx-spinner[b-5xsab89ss8] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-tx-spin-b-5xsab89ss8 0.7s linear infinite;
}

@keyframes ps-tx-spin-b-5xsab89ss8 { to { transform: rotate(360deg); } }

.ps-tx-empty h3[b-5xsab89ss8] { color: var(--ink); font: 600 18px/1.3 var(--font-sans); margin: 0; }
.ps-tx-empty p[b-5xsab89ss8]  { margin: 0; max-width: 60ch; font: 400 14px/1.5 var(--font-sans); }

.ps-tx-empty--ok .ps-tx-ok-ic[b-5xsab89ss8] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--forest-bg);
    color: var(--forest);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 700 24px/1 var(--font-sans);
}

/* ---- KPI strip ---- */
.ps-tx-summary[b-5xsab89ss8] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-3);
}

.ps-tx-tile[b-5xsab89ss8] {
    padding: var(--s-4) var(--s-5);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-tx-tile--coral[b-5xsab89ss8] { border-color: var(--coral-border); background: var(--coral-bg); }
.ps-tx-tile--amber[b-5xsab89ss8] { border-color: var(--amber-border); background: var(--amber-bg); }

.ps-tx-tile-h[b-5xsab89ss8] {
    font-size: 11px;
    color: var(--muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ps-tx-tile-val[b-5xsab89ss8] {
    font: 700 28px/1 var(--font-mono);
    color: var(--ink);
}

.ps-tx-tile-sub[b-5xsab89ss8] {
    font-size: 12px;
    color: var(--body);
}

.ps-tx-tx-amber[b-5xsab89ss8] { color: var(--amber); }

/* ---- Table ---- */
.ps-tx-table-wrap[b-5xsab89ss8] {
    overflow-x: auto;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
}

.ps-tx-table[b-5xsab89ss8] {
    width: 100%;
    border-collapse: collapse;
    font: 400 13px/1.4 var(--font-sans);
}

.ps-tx-table th[b-5xsab89ss8],
.ps-tx-table td[b-5xsab89ss8] {
    padding: var(--s-2) var(--s-3);
    text-align: left;
    border-bottom: 1px solid var(--border);
    vertical-align: top;
}

.ps-tx-table th[b-5xsab89ss8] {
    font: 500 11px/1.4 var(--font-sans);
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: var(--paper);
}

.ps-tx-table tr:last-child td[b-5xsab89ss8] { border-bottom: none; }
.ps-tx-table tr:hover td[b-5xsab89ss8] { background: var(--paper); }

/* ---- Pager ---- */
.ps-tx-pager[b-5xsab89ss8] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-2) 0;
}

.ps-tx-pager-btn[b-5xsab89ss8] {
    padding: 8px 14px;
    background: var(--white);
    border: 1px solid var(--border-2);
    border-radius: var(--r-md);
    color: var(--ink);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
}

.ps-tx-pager-btn:disabled[b-5xsab89ss8] {
    opacity: 0.4;
    cursor: not-allowed;
}

.ps-tx-pager-btn:hover:not(:disabled)[b-5xsab89ss8] {
    background: var(--surface);
}

.ps-tx-pager-info[b-5xsab89ss8] {
    font-size: 13px;
    color: var(--muted);
}

/* ---- Filter chips (handoff 3-part pattern, part a) ---- */
.ps-tx-filters[b-5xsab89ss8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
}

.ps-tx-chip[b-5xsab89ss8] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-pill);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-tx-chip:hover[b-5xsab89ss8] {
        background: var(--surface);
        color: var(--ink);
    }

    .ps-tx-chip:focus-visible[b-5xsab89ss8] {
        outline: none;
        box-shadow: var(--shadow-glow);
    }

.ps-tx-chip--on[b-5xsab89ss8] {
    background: var(--ink);
    border-color: var(--ink);
    color: var(--white);
}

    .ps-tx-chip--on:hover[b-5xsab89ss8] {
        background: var(--ink);
        color: var(--white);
    }

    .ps-tx-chip--on .ps-tx-chip-n[b-5xsab89ss8] {
        color: var(--white);
        opacity: 0.7;
    }

.ps-tx-chip-n[b-5xsab89ss8] {
    font: 500 12px/1 var(--font-mono);
    color: var(--muted);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-tx-chip-reset[b-5xsab89ss8] {
    margin-left: auto;
    padding: 6px 12px;
    border: none;
    background: transparent;
    color: var(--muted);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    border-radius: var(--r-sm);
}

    .ps-tx-chip-reset:hover[b-5xsab89ss8] {
        background: var(--surface);
        color: var(--ink);
    }

/* Summary-footer styles live in tokens.css as .ps-table-footer (shared
   across Tenders, Enforcement, Tax, Monitoring, Admin). */

/* ---- Mobile (< 768px): tables are forbidden — each record renders as a card.
   Тип is hoisted to the card title (order:-1); the rest become labelled rows
   via data-label. ---- */
@media (max-width: 768px) {
    .ps-tx-table-wrap[b-5xsab89ss8] {
        border: none;
        border-radius: 0;
        overflow: visible;
        background: transparent;
    }
    .ps-tx-table[b-5xsab89ss8] { display: block; }
    .ps-tx-table thead[b-5xsab89ss8] { display: none; }
    .ps-tx-table tbody[b-5xsab89ss8] { display: flex; flex-direction: column; gap: 10px; }

    .ps-tx-row[b-5xsab89ss8] {
        display: flex;
        flex-direction: column;
        background: var(--white);
        border: 1px solid var(--border);
        border-radius: var(--r-lg);
        padding: 12px 14px;
    }
    .ps-tx-row td[b-5xsab89ss8] { display: block; padding: 0; border: none; }

    .ps-tx-type[b-5xsab89ss8] {
        order: -1;
        font: 600 15px/1.3 var(--font-sans);
        color: var(--ink);
    }
    .ps-tx-row td[data-label][b-5xsab89ss8] { margin-top: 8px; }
    .ps-tx-row td[data-label][b-5xsab89ss8]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 1px;
        font: 500 10px/1.3 var(--font-mono);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--muted);
    }
}
/* /Components/CompanyProfile/Tabs/TenderDetailBody.razor.rz.scp.css */
/* TenderDetailBody — Prozorro dossier body shared by the TendersTabV2
   overlay panel and the standalone /tender/{id} page. ps-spc-contact*
   come from SidePanelCard (::deep); everything else is local. */

/* ---- Full-page header (ShowHeader) ---- */
.ps-tdb-head[b-8shimj0z1w] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: var(--s-2);
}

.ps-tdb-eyebrow[b-8shimj0z1w] {
    display: inline-block;
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-tdb-eyebrow--forest[b-8shimj0z1w] { color: var(--forest); }
.ps-tdb-eyebrow--coral[b-8shimj0z1w]  { color: var(--coral); }
.ps-tdb-eyebrow--amber[b-8shimj0z1w]  { color: var(--amber); }
.ps-tdb-eyebrow--mute[b-8shimj0z1w]   { color: var(--muted); }

.ps-tdb-title[b-8shimj0z1w] {
    margin: 0;
    color: var(--ink);
    font: 700 24px/1.25 var(--font-sans);
    letter-spacing: -0.01em;
    word-break: break-word;
}

.ps-tdb-subtitle[b-8shimj0z1w] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--muted);
    font: 500 12px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    text-decoration: none;
}

    .ps-tdb-subtitle:hover[b-8shimj0z1w] { color: var(--indigo-600); }

.ps-tdb-badges[b-8shimj0z1w] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    margin-top: 4px;
}

/* ---- Loading / error ---- */
.ps-tdb-detail-loading[b-8shimj0z1w] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-2) 0;
    color: var(--muted);
}

.ps-tdb-spinner[b-8shimj0z1w] {
    width: 16px;
    height: 16px;
    border: 2px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-tdb-spin-b-8shimj0z1w 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes ps-tdb-spin-b-8shimj0z1w { to { transform: rotate(360deg); } }

.ps-tdb-detail-error[b-8shimj0z1w] {
    padding: var(--s-2) var(--s-3);
    background: var(--coral-bg);
    border-radius: var(--r-md);
    color: var(--coral);
    font-size: 13px;
}

/* ---- Mini cards (bidders / awards / contracts / items) ---- */
.ps-tdb-mini[b-8shimj0z1w] {
    padding: var(--s-2) var(--s-3);
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-tdb-mini + .ps-tdb-mini[b-8shimj0z1w] { margin-top: var(--s-2); }
.ps-tdb-mini--compact[b-8shimj0z1w] { gap: 2px; padding: 8px 12px; }

.ps-tdb-mini-h[b-8shimj0z1w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-2);
}

.ps-tdb-mini-name[b-8shimj0z1w] {
    font: 500 13px/1.35 var(--font-sans);
    color: var(--ink);
    flex: 1;
    min-width: 0;
}

.ps-tdb-mini-amount[b-8shimj0z1w] {
    font: 600 14px/1.2 var(--font-mono);
    color: var(--ink);
}

.ps-tdb-mini-meta[b-8shimj0z1w] {
    font-size: 11px;
    color: var(--muted);
    letter-spacing: 0.02em;
}

.ps-tdb-mini-row[b-8shimj0z1w] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--s-3);
    margin-top: 2px;
}

.ps-tdb-mini-code[b-8shimj0z1w] {
    color: var(--muted);
    font: 500 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-tdb-link[b-8shimj0z1w] {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px dotted var(--border-2);
    transition: color 0.12s ease, border-color 0.12s ease;
}

    .ps-tdb-link:hover[b-8shimj0z1w] {
        color: var(--indigo-600);
        border-bottom-color: var(--indigo-600);
    }

/* ---- Status badge ---- */
.ps-tdb-badge[b-8shimj0z1w] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.4 var(--font-sans);
    white-space: nowrap;
}

.ps-tdb-badge-dot[b-8shimj0z1w] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.7;
}

.ps-tdb-badge--forest[b-8shimj0z1w]  { background: var(--forest-bg); color: var(--forest); }
.ps-tdb-badge--neutral[b-8shimj0z1w] { background: var(--surface);   color: var(--body); }
.ps-tdb-badge--coral[b-8shimj0z1w]   { background: var(--coral-bg);  color: var(--coral); }
.ps-tdb-badge--amber[b-8shimj0z1w]   { background: var(--amber-bg);  color: var(--amber); }

/* ---- Documentation ---- */
.ps-tdb-docs[b-8shimj0z1w] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-tdb-doc[b-8shimj0z1w] {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 6px 0;
    border-bottom: 1px dashed var(--border-2);
}

    .ps-tdb-doc:last-child[b-8shimj0z1w] { border-bottom: none; }

.ps-tdb-doc-icon[b-8shimj0z1w] {
    font-size: 14px;
    line-height: 1;
    margin-top: 2px;
    opacity: 0.7;
}

.ps-tdb-doc-link[b-8shimj0z1w] {
    color: var(--indigo-600);
    font: 500 13px/1.4 var(--font-sans);
    text-decoration: none;
    word-break: break-word;
}

    .ps-tdb-doc-link:hover[b-8shimj0z1w] { color: var(--indigo-800); text-decoration: underline; }

.ps-tdb-doc-link--mute[b-8shimj0z1w] { color: var(--body); cursor: default; }
.ps-tdb-doc-link--mute:hover[b-8shimj0z1w] { text-decoration: none; color: var(--body); }

.ps-tdb-doc-meta[b-8shimj0z1w] {
    margin-top: 2px;
    color: var(--muted);
    font: 400 11px/1.3 var(--font-mono);
}

/* ---- Timeline ---- */
.ps-tdb-timeline[b-8shimj0z1w] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    position: relative;
}

    .ps-tdb-timeline[b-8shimj0z1w]::before {
        content: "";
        position: absolute;
        left: 5px;
        top: 6px;
        bottom: 6px;
        width: 1px;
        background: var(--border-2);
        z-index: 0;
    }

.ps-tdb-tl[b-8shimj0z1w] {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: var(--s-2);
    position: relative;
    align-items: start;
}

    .ps-tdb-tl b[b-8shimj0z1w] {
        display: block;
        color: var(--ink);
        font: 600 13px/1.3 var(--font-sans);
    }

    .ps-tdb-tl small[b-8shimj0z1w] {
        display: block;
        margin-top: 2px;
        color: var(--muted);
        font: 400 12px/1.4 var(--font-sans);
    }

.ps-tdb-tl-dot[b-8shimj0z1w] {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--surface);
    border: 2px solid var(--border-2);
    margin-top: 3px;
    z-index: 1;
    position: relative;
}

.ps-tdb-tl--done .ps-tdb-tl-dot[b-8shimj0z1w] { background: var(--forest); border-color: var(--forest); }

.ps-tdb-tl--active .ps-tdb-tl-dot[b-8shimj0z1w] {
    background: var(--coral);
    border-color: var(--coral);
    box-shadow: 0 0 0 4px var(--coral-bg);
}

.ps-tdb-tl--future .ps-tdb-tl-dot[b-8shimj0z1w] {
    background: var(--white);
    border-color: var(--border-2);
    border-style: dashed;
}

.ps-tdb-tl--future b[b-8shimj0z1w] { color: var(--muted); font-weight: 500; }
.ps-tdb-dim[b-8shimj0z1w] { color: var(--muted); }
/* /Components/CompanyProfile/Tabs/TendersTabV2.razor.rz.scp.css */
.ps-td[b-acm3q6iy0g] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Loading / empty ---- */
.ps-td-loading[b-acm3q6iy0g],
.ps-td-empty[b-acm3q6iy0g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.ps-td-spinner[b-acm3q6iy0g] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-td-spin-b-acm3q6iy0g 0.7s linear infinite;
}

@keyframes ps-td-spin-b-acm3q6iy0g { to { transform: rotate(360deg); } }

.ps-td-empty h3[b-acm3q6iy0g] {
    margin: 0;
    color: var(--ink);
    font: 600 18px/1.3 var(--font-sans);
}

.ps-td-empty p[b-acm3q6iy0g] {
    margin: 0;
    max-width: 56ch;
    font: 400 14px/1.5 var(--font-sans);
}

/* ---- Action bar ---- */
.ps-td-actionbar[b-acm3q6iy0g] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    font: 500 13px/1.3 var(--font-sans);
}

.ps-td-actionbar-h[b-acm3q6iy0g] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--ink);
    flex: 1;
    min-width: 0;
}

.ps-td-actionbar-co[b-acm3q6iy0g] { color: var(--muted); font-weight: 500; }
.ps-td-actionbar-sep[b-acm3q6iy0g] { color: var(--border-2); }

.ps-td-actionbar-n[b-acm3q6iy0g] {
    margin-left: 6px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--indigo-50);
    color: var(--indigo-800);
    font: 600 11px/1.2 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-td-actionbar-actions[b-acm3q6iy0g] { display: inline-flex; gap: var(--s-2); }

.ps-td-actionbar-btn[b-acm3q6iy0g] {
    padding: 6px 14px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    font: 500 12px/1 var(--font-sans);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-td-actionbar-btn:hover[b-acm3q6iy0g] { background: var(--surface); color: var(--ink); }

.ps-td-actionbar-btn--primary[b-acm3q6iy0g] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-td-actionbar-btn--primary:hover[b-acm3q6iy0g] {
        background: var(--indigo-800);
        border-color: var(--indigo-800);
        color: var(--white);
    }

/* ---- Role KPI tiles ---- */
.ps-td-roles[b-acm3q6iy0g] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-3);
}

@media (max-width: 1100px) {
    .ps-td-roles[b-acm3q6iy0g] { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .ps-td-roles[b-acm3q6iy0g] { grid-template-columns: 1fr; }
}

.ps-td-role[b-acm3q6iy0g] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    padding: var(--s-4) var(--s-4) var(--s-3);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    min-height: 120px;
}

.ps-td-role--main[b-acm3q6iy0g] {
    background: var(--indigo-950);
    border-color: var(--indigo-950);
    color: var(--white);
}

    .ps-td-role--main .ps-td-role-h[b-acm3q6iy0g],
    .ps-td-role--main .ps-td-role-sub[b-acm3q6iy0g] {
        color: rgba(255, 255, 255, 0.7);
    }

    .ps-td-role--main .ps-td-role-val[b-acm3q6iy0g] {
        color: var(--white);
    }

.ps-td-role--forest .ps-td-role-val[b-acm3q6iy0g] { color: var(--forest); }
.ps-td-role--indigo .ps-td-role-val[b-acm3q6iy0g] { color: var(--indigo-600); }

.ps-td-role-h[b-acm3q6iy0g] {
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-td-role-val[b-acm3q6iy0g] {
    font: 600 28px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    color: var(--ink);
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
}

    .ps-td-role-val small[b-acm3q6iy0g] {
        font: 500 14px/1 var(--font-mono);
        color: var(--muted);
    }

.ps-td-role-bar[b-acm3q6iy0g] {
    height: 4px;
    background: var(--surface);
    border-radius: var(--r-pill);
    overflow: hidden;
}

    .ps-td-role-bar > span[b-acm3q6iy0g] {
        display: block;
        height: 100%;
        border-radius: var(--r-pill);
    }

.ps-td-role--main .ps-td-role-bar[b-acm3q6iy0g] {
    background: rgba(255, 255, 255, 0.15);
}

.ps-td-role-sub[b-acm3q6iy0g] {
    font: 400 12px/1.4 var(--font-sans);
    color: var(--muted);
    margin-top: auto;
}

/* ---- Filter chips + sort + bulk ---- */
.ps-td-filters[b-acm3q6iy0g] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    flex-wrap: wrap;
}

.ps-td-sort[b-acm3q6iy0g] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    margin-left: auto;
}

.ps-td-sort-h[b-acm3q6iy0g] {
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-td-sort-btn[b-acm3q6iy0g] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: var(--r-pill);
    background: transparent;
    border: 1px solid transparent;
    color: var(--body);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-td-sort-btn:hover[b-acm3q6iy0g] { background: var(--surface); color: var(--ink); }

.ps-td-sort-btn--on[b-acm3q6iy0g] {
    background: var(--white);
    border-color: var(--border);
    color: var(--ink);
    font-weight: 600;
}

.ps-td-sort-arrow[b-acm3q6iy0g] { color: var(--indigo-600); font-size: 11px; }

.ps-td-bulk[b-acm3q6iy0g] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--indigo-50);
    border: 1px solid var(--indigo-200);
    border-radius: var(--r-md);
    color: var(--ink);
    font: 500 13px/1.3 var(--font-sans);
}

    .ps-td-bulk .mono[b-acm3q6iy0g] { font-feature-settings: var(--font-feature-tnum); }

.ps-td-bulk-actions[b-acm3q6iy0g] {
    display: inline-flex;
    gap: var(--s-2);
    margin-left: auto;
}

.ps-td-bulk-btn[b-acm3q6iy0g] {
    padding: 6px 12px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-td-bulk-btn:hover[b-acm3q6iy0g] {
        background: var(--indigo-50);
        border-color: var(--indigo-200);
        color: var(--indigo-800);
    }

.ps-td-bulk-clear[b-acm3q6iy0g] {
    width: 24px;
    height: 24px;
    border: none;
    background: transparent;
    color: var(--muted);
    border-radius: var(--r-sm);
    cursor: pointer;
    font: 400 14px/1 var(--font-sans);
}

    .ps-td-bulk-clear:hover[b-acm3q6iy0g] { background: var(--white); color: var(--ink); }

.ps-td-th-cb[b-acm3q6iy0g] { width: 32px; }

.ps-td-cb[b-acm3q6iy0g] {
    width: 14px;
    height: 14px;
    accent-color: var(--indigo-600);
    cursor: pointer;
}

.ps-td-chips[b-acm3q6iy0g] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
}

.ps-td-chip[b-acm3q6iy0g] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-td-chip:hover[b-acm3q6iy0g] {
        background: var(--surface);
        color: var(--ink);
    }

    .ps-td-chip b[b-acm3q6iy0g] {
        color: var(--muted);
        font: 600 12px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.ps-td-chip--on[b-acm3q6iy0g] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-td-chip--on b[b-acm3q6iy0g] { color: rgba(255, 255, 255, 0.7); }

.ps-td-chip-sep[b-acm3q6iy0g] {
    width: 1px;
    height: 22px;
    background: var(--border-2);
    margin: 0 var(--s-2);
}

.ps-td-chip-reset[b-acm3q6iy0g] {
    margin-left: var(--s-2);
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: transparent;
    border: 1px dashed var(--border-2);
    color: var(--muted);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-td-chip-reset:hover[b-acm3q6iy0g] {
        background: var(--coral-bg);
        color: var(--coral);
        border-color: var(--coral-border);
    }

/* ---- Split layout ---- */
.ps-td-layout[b-acm3q6iy0g] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--s-4);
}

.ps-td-layout--with-panel[b-acm3q6iy0g] {
    grid-template-columns: minmax(0, 1fr) 460px;
}

@media (max-width: 1280px) {
    .ps-td-layout--with-panel[b-acm3q6iy0g] { grid-template-columns: 1fr; }
}

/* ---- Table ---- */
.ps-td-table-wrap[b-acm3q6iy0g] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-td-table[b-acm3q6iy0g] {
    width: 100%;
    border-collapse: collapse;
}

    .ps-td-table thead th[b-acm3q6iy0g] {
        position: sticky;
        top: 0;
        background: var(--paper);
        padding: var(--s-3);
        text-align: left;
        font: 500 11px/1.3 var(--font-sans);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--muted);
        border-bottom: 1px solid var(--border);
        z-index: 1;
    }

    .ps-td-table thead th.mono[b-acm3q6iy0g] {
        font-family: var(--font-mono);
        letter-spacing: 0;
        text-transform: none;
    }

.ps-td-num[b-acm3q6iy0g] {
    text-align: right;
    white-space: nowrap;
}

.ps-td-th-action[b-acm3q6iy0g] { width: 32px; }

.ps-td-row[b-acm3q6iy0g] {
    cursor: pointer;
    transition: background 0.12s ease;
    border-bottom: 1px solid var(--border);
}

    .ps-td-row:last-child[b-acm3q6iy0g] { border-bottom: none; }
    .ps-td-row:hover[b-acm3q6iy0g] { background: var(--paper); }

.ps-td-row--active[b-acm3q6iy0g] { background: var(--indigo-50); }
.ps-td-row--active:hover[b-acm3q6iy0g] { background: var(--indigo-50); }

.ps-td-row td[b-acm3q6iy0g] {
    padding: var(--s-3);
    color: var(--ink);
    font: 400 13px/1.4 var(--font-sans);
    vertical-align: top;
}

.ps-td-title-cell[b-acm3q6iy0g] { max-width: 380px; }

.ps-td-title[b-acm3q6iy0g] {
    color: var(--ink);
    font: 500 13px/1.4 var(--font-sans);
}

.ps-td-title-cell small[b-acm3q6iy0g] {
    color: var(--muted);
    font: 400 11px/1.3 var(--font-mono);
}

.ps-td-buyer[b-acm3q6iy0g] {
    color: var(--body);
    max-width: 220px;
}

.ps-td-roles-cell[b-acm3q6iy0g] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    max-width: 180px;
}

/* ---- Multi-role pill ---- */
.ps-td-pill[b-acm3q6iy0g] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    border: 1px solid transparent;
    font: 500 10px/1.4 var(--font-sans);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ps-td-pill--forest[b-acm3q6iy0g] {
    background: var(--forest-bg);
    border-color: var(--forest-border);
    color: var(--forest);
}

.ps-td-pill--indigo[b-acm3q6iy0g] {
    background: var(--indigo-50);
    border-color: var(--indigo-200);
    color: var(--indigo-800);
}

.ps-td-pill--indigo-soft[b-acm3q6iy0g] {
    background: var(--white);
    border-color: var(--indigo-200);
    color: var(--indigo-600);
}

.ps-td-pill--amber[b-acm3q6iy0g] {
    background: var(--amber-bg);
    border-color: var(--amber-border);
    color: var(--amber);
}

.ps-td-pill--mute[b-acm3q6iy0g] {
    background: var(--surface);
    border-color: var(--border-2);
    color: var(--muted);
}

/* ---- Status badge ---- */
.ps-td-badge[b-acm3q6iy0g] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
    white-space: nowrap;
}

.ps-td-badge--forest[b-acm3q6iy0g]  { background: var(--forest-bg); color: var(--forest); }
.ps-td-badge--amber[b-acm3q6iy0g]   { background: var(--amber-bg);  color: var(--amber); }
.ps-td-badge--coral[b-acm3q6iy0g]   { background: var(--coral-bg);  color: var(--coral); }
.ps-td-badge--neutral[b-acm3q6iy0g] { background: var(--surface);   color: var(--body); }

.ps-td-badge-dot[b-acm3q6iy0g] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

/* ---- "→" go button ---- */
.ps-td-go[b-acm3q6iy0g] {
    width: 24px;
    height: 24px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--muted);
    border-radius: var(--r-sm);
    font: 600 14px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .ps-td-row:hover .ps-td-go[b-acm3q6iy0g] {
        background: var(--white);
        color: var(--indigo-600);
        border-color: var(--indigo-200);
    }

/* ---- Footer action ---- */
.ps-td-action[b-acm3q6iy0g] {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 14px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    font: 500 12px/1 var(--font-sans);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-td-action:hover[b-acm3q6iy0g] {
        background: var(--indigo-50);
        border-color: var(--indigo-200);
        color: var(--indigo-800);
    }

.ps-td-action--primary[b-acm3q6iy0g] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .ps-td-action--primary:hover[b-acm3q6iy0g] {
        background: var(--indigo-800);
        border-color: var(--indigo-800);
        color: var(--white);
    }


/* ---- Side-panel detail sub-cards (Phase 2 #6) ---- */
.ps-td-spinner--sm[b-acm3q6iy0g] {
    width: 16px;
    height: 16px;
    border-width: 2px;
}

.ps-td-detail-loading[b-acm3q6iy0g] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-2) 0;
    color: var(--muted);
}

.ps-td-detail-error[b-acm3q6iy0g] {
    padding: var(--s-2) var(--s-3);
    background: var(--coral-bg);
    border-radius: var(--r-md);
    color: var(--coral);
    font-size: 13px;
}

.ps-td-mini[b-acm3q6iy0g] {
    padding: var(--s-2) var(--s-3);
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-td-mini + .ps-td-mini[b-acm3q6iy0g] { margin-top: var(--s-2); }

.ps-td-mini--compact[b-acm3q6iy0g] { gap: 2px; padding: 8px 12px; }

.ps-td-mini-h[b-acm3q6iy0g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-2);
}

.ps-td-mini-name[b-acm3q6iy0g] {
    font: 500 13px/1.35 var(--font-sans);
    color: var(--ink);
    flex: 1;
    min-width: 0;
}

.ps-td-mini-sub[b-acm3q6iy0g] {
    font: 400 12px/1.4 var(--font-sans);
    color: var(--body);
}

.ps-td-mini-amount[b-acm3q6iy0g] {
    font: 600 14px/1.2 var(--font-mono);
    color: var(--ink);
}

.ps-td-mini-meta[b-acm3q6iy0g] {
    font-size: 11px;
    color: var(--muted);
    letter-spacing: 0.02em;
}

/* Clickable tel:/mailto: anchors inside side-panel cards */
.ps-td-link[b-acm3q6iy0g] {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px dotted var(--border-2);
    transition: color 0.12s ease, border-color 0.12s ease;
}

    .ps-td-link:hover[b-acm3q6iy0g] {
        color: var(--indigo-600);
        border-bottom-color: var(--indigo-600);
    }

/* ---- Bidder row (Учасники картка) ---- */
.ps-td-mini-row[b-acm3q6iy0g] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--s-3);
    margin-top: 2px;
}

.ps-td-mini-code[b-acm3q6iy0g] {
    color: var(--muted);
    font: 500 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

/* ---- Documentation list ---- */
.ps-td-docs[b-acm3q6iy0g] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-td-doc[b-acm3q6iy0g] {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 6px 0;
    border-bottom: 1px dashed var(--border-2);
}

    .ps-td-doc:last-child[b-acm3q6iy0g] { border-bottom: none; }

.ps-td-doc-icon[b-acm3q6iy0g] {
    font-size: 14px;
    line-height: 1;
    margin-top: 2px;
    opacity: 0.7;
}

.ps-td-doc-link[b-acm3q6iy0g] {
    color: var(--indigo-600);
    font: 500 13px/1.4 var(--font-sans);
    text-decoration: none;
    word-break: break-word;
    transition: color 0.12s ease;
}

    .ps-td-doc-link:hover[b-acm3q6iy0g] {
        color: var(--indigo-800);
        text-decoration: underline;
    }

.ps-td-doc-link--mute[b-acm3q6iy0g] {
    color: var(--body);
    cursor: default;
}

    .ps-td-doc-link--mute:hover[b-acm3q6iy0g] {
        text-decoration: none;
        color: var(--body);
    }

.ps-td-doc-arrow[b-acm3q6iy0g] {
    font-size: 11px;
    margin-left: 2px;
    opacity: 0.7;
}

.ps-td-doc-meta[b-acm3q6iy0g] {
    display: flex;
    gap: var(--s-2);
    margin-top: 2px;
    color: var(--muted);
    font: 400 11px/1.3 var(--font-mono);
}

.ps-td-doc-format[b-acm3q6iy0g] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px;
    border-radius: var(--r-sm);
    background: var(--surface);
    color: var(--body);
    font-weight: 600;
    font-size: 10px;
    letter-spacing: 0.04em;
}

.ps-td-doc-format-icon[b-acm3q6iy0g] {
    flex-shrink: 0;
    color: var(--muted);
}

/* ---- Sticky summary footer (slide 07 — 4 KPI columns) ---- */
.ps-td-summary[b-acm3q6iy0g] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-4) var(--s-5);
    border-top: 1px solid var(--border);
    background: var(--paper);
    position: sticky;
    bottom: 0;
    z-index: 2;
}

.ps-td-summary-h[b-acm3q6iy0g] {
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-td-summary-cols[b-acm3q6iy0g] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-4);
}

@media (max-width: 900px) {
    .ps-td-summary-cols[b-acm3q6iy0g] { grid-template-columns: repeat(2, 1fr); }
}

.ps-td-summary-cols > div[b-acm3q6iy0g] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .ps-td-summary-cols b[b-acm3q6iy0g] {
        color: var(--ink);
        font: 600 18px/1.1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

    .ps-td-summary-cols small[b-acm3q6iy0g] {
        color: var(--muted);
        font: 400 12px/1.4 var(--font-sans);
    }

/* ---- Side-panel header overrides ---- *
   Tender title is a name (not a number), so swap the mono / 28px
   default for Onest 24/700; UA-code goes underneath as a mono link. */
.ps-td-sp-title[b-acm3q6iy0g] {
    font: 700 22px/1.25 var(--font-sans) !important;
    font-feature-settings: normal !important;
    letter-spacing: -0.005em;
    /* 3-line clamp; long tender titles wrap instead of mid-word ellipsis */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    white-space: normal;
    word-break: break-word;
}

.ps-td-sp-subtitle[b-acm3q6iy0g] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 6px;
    color: var(--muted);
    font: 500 12px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    text-decoration: none;
    transition: color 0.12s ease;
}

    .ps-td-sp-subtitle:hover[b-acm3q6iy0g] {
        color: var(--indigo-600);
    }

.ps-td-sp-arrow[b-acm3q6iy0g] {
    color: var(--indigo-600);
    font-size: 11px;
}

/* Status-coloured eyebrow caption above the title */
.ps-sp-eyebrow--forest[b-acm3q6iy0g] { color: var(--forest); }
.ps-sp-eyebrow--coral[b-acm3q6iy0g]  { color: var(--coral); }
.ps-sp-eyebrow--amber[b-acm3q6iy0g]  { color: var(--amber); }
.ps-sp-eyebrow--mute[b-acm3q6iy0g]   { color: var(--muted); }

/* ---- Side-panel timeline ---- */
.ps-td-timeline[b-acm3q6iy0g] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    position: relative;
}

    .ps-td-timeline[b-acm3q6iy0g]::before {
        content: "";
        position: absolute;
        left: 5px;
        top: 6px;
        bottom: 6px;
        width: 1px;
        background: var(--border-2);
        z-index: 0;
    }

.ps-td-tl[b-acm3q6iy0g] {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: var(--s-2);
    position: relative;
    align-items: start;
}

    .ps-td-tl b[b-acm3q6iy0g] {
        display: block;
        color: var(--ink);
        font: 600 13px/1.3 var(--font-sans);
    }

    .ps-td-tl small[b-acm3q6iy0g] {
        display: block;
        margin-top: 2px;
        color: var(--muted);
        font: 400 12px/1.4 var(--font-sans);
    }

.ps-td-tl-dot[b-acm3q6iy0g] {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--surface);
    border: 2px solid var(--border-2);
    margin-top: 3px;
    z-index: 1;
    position: relative;
}

.ps-td-tl--done .ps-td-tl-dot[b-acm3q6iy0g] {
    background: var(--forest);
    border-color: var(--forest);
}

.ps-td-tl--active .ps-td-tl-dot[b-acm3q6iy0g] {
    background: var(--coral);
    border-color: var(--coral);
    box-shadow: 0 0 0 4px var(--coral-bg);
    animation: ps-td-tl-pulse-b-acm3q6iy0g 1.6s ease-in-out infinite;
}

@keyframes ps-td-tl-pulse-b-acm3q6iy0g {
    50% { box-shadow: 0 0 0 6px var(--coral-bg); }
}

.ps-td-tl--future .ps-td-tl-dot[b-acm3q6iy0g] {
    background: var(--white);
    border-color: var(--border-2);
    border-style: dashed;
}

.ps-td-tl--future b[b-acm3q6iy0g] { color: var(--muted); font-weight: 500; }
.ps-td-dim[b-acm3q6iy0g] { color: var(--muted); }

/* ---- Mobile (< 768px): no tables — each tender renders as a card. Title is
   the header, status badge sits top-right, role pills sit under the title,
   and the remaining cells become labelled rows via their data-label. ---- */
@media (max-width: 768px) {
    .ps-td-table-wrap[b-acm3q6iy0g] {
        border: none;
        border-radius: 0;
        overflow: visible;
        background: transparent;
    }
    .ps-td-table[b-acm3q6iy0g] { display: block; }
    .ps-td-table thead[b-acm3q6iy0g] { display: none; }
    .ps-td-table tbody[b-acm3q6iy0g] { display: flex; flex-direction: column; gap: 10px; }

    .ps-td-row[b-acm3q6iy0g] {
        display: grid;
        grid-template-columns: 1fr auto;
        column-gap: 10px;
        align-items: start;
        background: var(--white);
        border: 1px solid var(--border);
        border-radius: var(--r-lg);
        padding: 12px 14px;
    }
    .ps-td-row:hover[b-acm3q6iy0g] { background: var(--white); }
    .ps-td-row--active[b-acm3q6iy0g],
    .ps-td-row--active:hover[b-acm3q6iy0g] { background: var(--indigo-50); }

    .ps-td-row td[b-acm3q6iy0g] { display: block; padding: 0; border: none; }

    /* Drop bulk-select checkbox (first) + row arrow (last). */
    .ps-td-row td:first-child[b-acm3q6iy0g],
    .ps-td-row td:last-child[b-acm3q6iy0g] { display: none; }

    /* Title = card header (left, row 1). */
    .ps-td-title-cell[b-acm3q6iy0g] { grid-column: 1; grid-row: 1; }
    .ps-td-title[b-acm3q6iy0g] { white-space: normal; }

    /* Status badge top-right next to the title. */
    .ps-td-row td[data-label="Статус"][b-acm3q6iy0g] {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }
    .ps-td-row td[data-label="Статус"][b-acm3q6iy0g]::before { display: none; }

    /* Role pills directly under the title (full width, no label). */
    .ps-td-roles-cell[b-acm3q6iy0g] {
        grid-column: 1 / -1;
        grid-row: 2;
        margin-top: 8px;
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }

    /* Remaining cells = labelled rows. */
    .ps-td-row td[data-label]:not([data-label="Статус"])[b-acm3q6iy0g] {
        grid-column: 1 / -1;
        margin-top: 8px;
    }
    .ps-td-row td[data-label]:not([data-label="Статус"])[b-acm3q6iy0g]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 1px;
        font: 500 10px/1.3 var(--font-mono);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--muted);
    }

    .ps-td-buyer[b-acm3q6iy0g] { max-width: none; }
    .ps-td-num[b-acm3q6iy0g] { text-align: left; }
}

/* ---- Pager (bounds the rendered rows so a big company doesn't fault the circuit) ---- */
.ps-td-pager[b-acm3q6iy0g] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    flex-wrap: wrap;
    padding: var(--s-3) var(--s-2);
}

.ps-td-pager-btn[b-acm3q6iy0g] {
    padding: 8px 14px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md, 8px);
    font: 600 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-td-pager-btn:hover:not(:disabled)[b-acm3q6iy0g] {
        background: var(--indigo-50);
        border-color: var(--indigo-200);
        color: var(--indigo-800);
    }

    .ps-td-pager-btn:disabled[b-acm3q6iy0g] {
        opacity: 0.45;
        cursor: default;
    }

.ps-td-pager-info[b-acm3q6iy0g] {
    font-size: 12px;
    color: var(--muted);
    white-space: nowrap;
}

/* /Components/Dashboard/KpiTile.razor.rz.scp.css */
.ps-kpi[b-rrqq75a08x] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-5) var(--s-5) var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    min-height: 120px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

    .ps-kpi:hover[b-rrqq75a08x] {
        border-color: var(--border-2);
        box-shadow: var(--shadow-sm);
    }

.ps-kpi-label[b-rrqq75a08x] {
    font: 500 11px/1.3 var(--font-sans);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-kpi-row[b-rrqq75a08x] {
    display: flex;
    align-items: baseline;
    gap: var(--s-3);
}

.ps-kpi-val[b-rrqq75a08x] {
    font: 600 36px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    color: var(--ink);
}

.ps-kpi-val--amber[b-rrqq75a08x]  { color: var(--amber); }
.ps-kpi-val--coral[b-rrqq75a08x]  { color: var(--coral); }
.ps-kpi-val--forest[b-rrqq75a08x] { color: var(--forest); }
.ps-kpi-val--indigo[b-rrqq75a08x] { color: var(--indigo-600); }

.ps-kpi-of[b-rrqq75a08x] {
    font: 500 16px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    color: var(--muted);
}

.ps-kpi-delta[b-rrqq75a08x] {
    margin-left: auto;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 12px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    background: var(--surface);
    color: var(--muted);
}

.ps-kpi-delta--up[b-rrqq75a08x]    { background: var(--forest-bg); color: var(--forest); }
.ps-kpi-delta--down[b-rrqq75a08x]  { background: var(--coral-bg);  color: var(--coral); }
.ps-kpi-delta--flat[b-rrqq75a08x]  { background: var(--surface);   color: var(--muted); }

.ps-kpi-delta--amber[b-rrqq75a08x] { background: var(--amber-bg);  color: var(--amber); }
.ps-kpi-delta--forest[b-rrqq75a08x]{ background: var(--forest-bg); color: var(--forest); }
.ps-kpi-delta--coral[b-rrqq75a08x] { background: var(--coral-bg);  color: var(--coral); }

.ps-kpi-footer[b-rrqq75a08x] {
    margin-top: auto;
    color: var(--muted);
    font: 400 12px/1.4 var(--font-sans);
}
/* /Components/Dashboard/RecentCompaniesPanel.razor.rz.scp.css */
.ps-rc[b-37e4uljrj6] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-rc-head[b-37e4uljrj6] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-5);
    border-bottom: 1px solid var(--border);
}

.ps-rc-title[b-37e4uljrj6] {
    margin: 0;
    font: 600 16px/1.3 var(--font-sans);
    color: var(--ink);
}

.ps-rc-all[b-37e4uljrj6] {
    margin-left: auto;
    color: var(--indigo-600);
    text-decoration: none;
    font: 500 13px/1 var(--font-sans);
}

    .ps-rc-all:hover[b-37e4uljrj6] {
        color: var(--indigo-800);
        text-decoration: underline;
    }

.ps-rc-empty[b-37e4uljrj6] {
    padding: var(--s-6) var(--s-5);
    text-align: center;
    color: var(--muted);
    font: 400 13px/1.5 var(--font-sans);
}

.ps-rc-list[b-37e4uljrj6] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ps-rc-item[b-37e4uljrj6] {
    display: grid;
    grid-template-columns: 32px 90px 1fr auto;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-5);
    border-bottom: 1px solid var(--border);
    cursor: pointer;
    transition: background 0.12s ease;
}

    .ps-rc-item:last-child[b-37e4uljrj6] {
        border-bottom: none;
    }

    .ps-rc-item:hover[b-37e4uljrj6] {
        background: var(--paper);
    }

.ps-rc-key[b-37e4uljrj6] {
    color: var(--muted);
    font: 500 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-rc-meta[b-37e4uljrj6] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ps-rc-name[b-37e4uljrj6] {
    color: var(--ink);
    font: 500 14px/1.3 var(--font-sans);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-rc-time[b-37e4uljrj6] {
    color: var(--muted);
    font: 400 11px/1 var(--font-sans);
}

.ps-rc-score[b-37e4uljrj6] {
    justify-self: end;
    min-width: 32px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    text-align: center;
    font: 600 13px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-rc-score--coral[b-37e4uljrj6]  { background: var(--coral-bg);  color: var(--coral); }
.ps-rc-score--amber[b-37e4uljrj6]  { background: var(--amber-bg);  color: var(--amber); }
.ps-rc-score--forest[b-37e4uljrj6] { background: var(--forest-bg); color: var(--forest); }

.ps-rc-score--none[b-37e4uljrj6] {
    background: var(--surface);
    color: var(--muted);
    font-weight: 500;
}
/* /Components/Dashboard/RiskDonut.razor.rz.scp.css */
.ps-risk[b-8wu7iypbsc] {
    display: grid;
    grid-template-columns: 160px 1fr;
    align-items: center;
    gap: var(--s-6);
}

/* List-view fallback (fewer than MinForDonut companies): no donut, the
   legend takes the full width and the rows breathe a little more. */
.ps-risk--list[b-8wu7iypbsc] {
    grid-template-columns: 1fr;
    gap: var(--s-3);
}

    .ps-risk--list .ps-risk-legend[b-8wu7iypbsc] {
        gap: var(--s-2);
    }

    .ps-risk--list .ps-risk-legend li[b-8wu7iypbsc] {
        padding: var(--s-2) 0;
        border-bottom: 1px solid var(--border);
    }

    .ps-risk--list .ps-risk-legend li:last-child[b-8wu7iypbsc] {
        border-bottom: none;
    }

.ps-risk-note[b-8wu7iypbsc] {
    margin: 0;
    color: var(--muted);
    font: 400 12px/1.5 var(--font-sans);
}

.ps-risk-cta[b-8wu7iypbsc] {
    display: inline-block;
    margin-left: 4px;
    color: var(--indigo-600);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

    .ps-risk-cta:hover[b-8wu7iypbsc] {
        color: var(--indigo-800);
        text-decoration: underline;
    }

.ps-risk-svg[b-8wu7iypbsc],
.ps-risk-empty[b-8wu7iypbsc] {
    width: 160px;
    height: 160px;
    flex-shrink: 0;
}

.ps-risk-legend[b-8wu7iypbsc] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

    .ps-risk-legend li[b-8wu7iypbsc] {
        display: grid;
        grid-template-columns: 12px 1fr auto auto;
        align-items: baseline;
        gap: var(--s-3);
        color: var(--body);
        font: 400 14px/1.3 var(--font-sans);
    }

.ps-risk-dot[b-8wu7iypbsc] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.ps-risk-dot--coral[b-8wu7iypbsc]  { background: var(--coral); }
.ps-risk-dot--amber[b-8wu7iypbsc]  { background: var(--amber); }
.ps-risk-dot--forest[b-8wu7iypbsc] { background: var(--forest); }

.ps-risk-name[b-8wu7iypbsc] {
    color: var(--body);
}

.ps-risk-legend b[b-8wu7iypbsc] {
    color: var(--ink);
    font: 600 16px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    justify-self: end;
}

.ps-risk-legend small[b-8wu7iypbsc] {
    color: var(--muted);
    font: 400 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    justify-self: end;
    min-width: 36px;
    text-align: right;
}
/* /Components/Dashboard/SignalFeed.razor.rz.scp.css */
.ps-feed[b-htn3391b15] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-feed-head[b-htn3391b15] {
    display: flex;
    align-items: center;
    gap: var(--s-4);
    padding: var(--s-5);
    border-bottom: 1px solid var(--border);
}

.ps-feed-title[b-htn3391b15] {
    margin: 0;
    font: 600 18px/1.3 var(--font-sans);
    color: var(--ink);
}

.ps-feed-tabs[b-htn3391b15] {
    /* Per handoff slide 02 the chips render as standalone pills, not as
       a segmented control (no gray container behind them). Active = ink
       pill with white text; inactive = muted text, subtle hover bg. */
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    margin-left: auto;
}

.ps-feed-tab[b-htn3391b15] {
    padding: 6px 14px;
    border: none;
    background: transparent;
    border-radius: var(--r-pill);
    font: 500 13px/1 var(--font-sans);
    color: var(--muted);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-feed-tab:hover[b-htn3391b15] {
        background: var(--surface);
        color: var(--ink);
    }

    .ps-feed-tab:focus-visible[b-htn3391b15] {
        outline: none;
        box-shadow: var(--shadow-glow);
    }

.ps-feed-tab--active[b-htn3391b15],
.ps-feed-tab--active:hover[b-htn3391b15] {
    background: var(--ink);
    color: var(--white);
}

.ps-feed-empty[b-htn3391b15] {
    /* Compact empty state — a feed with nothing in it shouldn't tower
       over the quick-actions block that follows it for new users. */
    min-height: 160px;
    max-height: 300px;
    padding: var(--s-6) var(--s-5);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--muted);
    font: 400 14px/1.5 var(--font-sans);
}

    .ps-feed-empty p[b-htn3391b15] {
        margin: 0;
        max-width: 38ch;
    }

.ps-feed-list[b-htn3391b15] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ps-feed-item[b-htn3391b15] {
    position: relative;
    display: grid;
    grid-template-columns: 4px 56px 32px 1fr 36px;
    align-items: start;
    gap: var(--s-4);
    padding: var(--s-4) var(--s-5);
    border-bottom: 1px solid var(--border);
    transition: background 0.12s ease;
}

.ps-feed-ic[b-htn3391b15] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.ps-feed-ic--coral[b-htn3391b15]  { background: var(--coral-bg);  color: var(--coral); }
.ps-feed-ic--amber[b-htn3391b15]  { background: var(--amber-bg);  color: var(--amber); }
.ps-feed-ic--forest[b-htn3391b15] { background: var(--forest-bg); color: var(--forest); }

    .ps-feed-item:last-child[b-htn3391b15] {
        border-bottom: none;
    }

    .ps-feed-item:hover[b-htn3391b15] {
        background: var(--paper);
    }

.ps-feed-rail[b-htn3391b15] {
    width: 4px;
    height: 100%;
    border-radius: 4px;
}

.ps-feed-item--coral  .ps-feed-rail[b-htn3391b15] { background: var(--coral); }
.ps-feed-item--amber  .ps-feed-rail[b-htn3391b15] { background: var(--amber); }
.ps-feed-item--forest .ps-feed-rail[b-htn3391b15] { background: var(--forest); }

.ps-feed-time[b-htn3391b15] {
    color: var(--ink);
    font: 500 14px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    padding-top: 2px;
}

    .ps-feed-time small[b-htn3391b15] {
        color: var(--muted);
        font: 400 11px/1.3 var(--font-sans);
    }

.ps-feed-body[b-htn3391b15] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-feed-row[b-htn3391b15] {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
    flex-wrap: wrap;
    font: 500 14px/1.4 var(--font-sans);
    color: var(--ink);
}

.ps-feed-event[b-htn3391b15] { color: var(--body); }
.ps-feed-sep[b-htn3391b15]   { color: var(--muted); }
.ps-feed-target[b-htn3391b15] { color: var(--ink); font-weight: 600; }

.ps-feed-sub[b-htn3391b15] {
    color: var(--body);
    font: 400 13px/1.5 var(--font-sans);
}

.ps-feed-tags[b-htn3391b15] {
    display: flex;
    gap: var(--s-2);
    flex-wrap: wrap;
    margin-top: 2px;
}

/* Tiny inline badge system specific to this feed.
   The full handoff badge palette lives in the global stylesheet (next
   step); these are scoped fallbacks so the dashboard renders correctly
   before that lands. */
.ps-badge[b-htn3391b15] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: var(--r-pill);
    font: 500 12px/1.3 var(--font-sans);
}

.ps-badge--sm[b-htn3391b15] { padding: 2px 8px; font-size: 11px; }

.ps-badge-dot[b-htn3391b15] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.ps-badge--coral[b-htn3391b15]  { background: var(--coral-bg);  color: var(--coral); }
.ps-badge--amber[b-htn3391b15]  { background: var(--amber-bg);  color: var(--amber); }
.ps-badge--forest[b-htn3391b15] { background: var(--forest-bg); color: var(--forest); }
.ps-badge--outline[b-htn3391b15] {
    background: transparent;
    color: var(--body);
    border: 1px solid var(--border-2);
}

.ps-badge--outline .ps-badge-dot[b-htn3391b15] { display: none; }

.ps-feed-go[b-htn3391b15] {
    width: 32px;
    height: 32px;
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    background: var(--white);
    color: var(--body);
    font: 600 16px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
    align-self: center;
}

    .ps-feed-go:hover[b-htn3391b15] {
        background: var(--indigo-50);
        color: var(--indigo-800);
        border-color: var(--indigo-200);
    }
/* /Components/Layout/AppHeaderRight.razor.rz.scp.css */
/* AppHeaderRight — search · bell cluster. (User menu lives in UserMenu.razor.css.) */

.ps-hr[b-5t9f3dw3tm] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    font-family: var(--font-sans);
}

/* ---- Search input ---- */
.ps-hr-search[b-5t9f3dw3tm] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    height: 32px;
    padding: 0 var(--s-2) 0 var(--s-3);
    background: var(--surface);
    border: 1px solid transparent;
    border-radius: var(--r-md);
    color: var(--muted);
    font: 400 13px/1 var(--font-sans);
    cursor: pointer;
    min-width: 240px;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-hr-search:hover[b-5t9f3dw3tm] {
        background: var(--white);
        border-color: var(--border-2);
        color: var(--body);
    }

    .ps-hr-search:focus-visible[b-5t9f3dw3tm] {
        outline: none;
        background: var(--white);
        border-color: var(--indigo-600);
        box-shadow: var(--shadow-glow);
        color: var(--ink);
    }

.ps-hr-search-icon[b-5t9f3dw3tm] {
    color: var(--muted);
    flex-shrink: 0;
}

.ps-hr-search-label[b-5t9f3dw3tm] {
    flex: 1;
    text-align: left;
}

.ps-hr-kbd[b-5t9f3dw3tm] {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    border-radius: var(--r-sm);
    background: var(--white);
    color: var(--muted);
    font: 500 11px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    border: 1px solid var(--border);
    white-space: nowrap;
}

/* ---- Icon buttons (bell) ---- */
.ps-hr-icon[b-5t9f3dw3tm] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r-md);
    color: var(--body);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .ps-hr-icon:hover[b-5t9f3dw3tm] {
        background: var(--surface);
        color: var(--ink);
    }

    .ps-hr-icon:focus-visible[b-5t9f3dw3tm] {
        outline: none;
        border-color: var(--indigo-600);
        box-shadow: var(--shadow-glow);
    }

.ps-hr-bell-badge[b-5t9f3dw3tm] {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    background: var(--coral);
    color: var(--white);
    border-radius: var(--r-pill);
    font: 600 10px/16px var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    text-align: center;
    box-shadow: 0 0 0 2px var(--paper);
}
/* /Components/Layout/AppShell.razor.rz.scp.css */
/* AppShell — redesigned page chrome.
   The body background is --paper so the white "active tab" merges
   visually with the page content underneath the tab strip. */

[b-gbzdr7bxlq] .ps-app {
    min-height: 100vh;
    background: var(--paper);
    color: var(--body);
    font-family: var(--font-sans);
    display: flex;
    flex-direction: column;
}

[b-gbzdr7bxlq] .ps-app-content {
    flex: 1;
    min-height: 0;
    background: var(--white);
    /* Render directly under the tab strip — no extra gap, the active
       tab's bottom-2px-of-white already bridges the seam. */
}

/* Error fallback (used when ErrorBoundary catches) */
[b-gbzdr7bxlq] .ps-app-error {
    max-width: 720px;
    margin: var(--s-10) auto;
    padding: var(--s-6);
    background: var(--coral-bg);
    border: 1px solid var(--coral-border);
    border-radius: var(--r-lg);
    color: var(--ink);
    font-family: var(--font-sans);
}

    [b-gbzdr7bxlq] .ps-app-error h3 {
        margin: 0 0 var(--s-3);
        font: 600 18px/1.3 var(--font-sans);
        color: var(--coral);
    }

    [b-gbzdr7bxlq] .ps-app-error pre {
        margin: 0 0 var(--s-4);
        padding: var(--s-3);
        background: var(--white);
        border: 1px solid var(--coral-border);
        border-radius: var(--r-md);
        font: 400 13px/1.5 var(--font-mono);
        color: var(--ink);
        white-space: pre-wrap;
        word-break: break-word;
    }

[b-gbzdr7bxlq] .ps-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: var(--r-md);
    font: 500 14px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

[b-gbzdr7bxlq] .ps-btn--primary {
    background: var(--indigo-600);
    color: var(--white);
}

    [b-gbzdr7bxlq] .ps-btn--primary:hover {
        background: var(--indigo-800);
    }

[b-gbzdr7bxlq] .ps-link {
    margin-left: var(--s-3);
    color: var(--indigo-600);
    text-decoration: none;
    font-weight: 500;
}

    [b-gbzdr7bxlq] .ps-link:hover {
        text-decoration: underline;
    }

/* Shared mobile bottom-nav — hidden on desktop; shown on phone viewports so
   the nav is present even on the desktop-layout detail tabs (Суди / ВП /
   Тендери / Податки …) reached at /company-v2?tab=…. */
[b-gbzdr7bxlq] .ps-app-mnav { display: none; }

@media (max-width: 768px) {
    [b-gbzdr7bxlq] .ps-app-mnav { display: block; }
    /* clear the fixed 76px nav so table footers / page bottoms aren't hidden */
    [b-gbzdr7bxlq] .ps-app-content { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-ralculmf8u] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-ralculmf8u] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/MobileBottomNav.razor.rz.scp.css */
/* MobileBottomNav — sticky bottom navigation (shared by MobileShell and, on
   phone viewports, AppShell). Handoff selectors: .m-nav, .m-nav-item,
   .m-nav-fab, .m-nav-dot. */

.m-nav[b-8go9qx4vtw] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    /* Solid (not rgba+blur): in landscape the bright content underneath was
       showing through the semi-transparent bar. */
    background: #fff;
    border-top: 1px solid var(--border);
    box-shadow: 0 -4px 16px -8px rgba(0, 0, 0, 0.08);
    display: grid;
    /* Five EQUAL columns so the FAB's cell (3rd) is exactly on the screen's
       logical centre. A fixed-width centre column used to leave the 58px FAB
       left-aligned inside an 88px cell → it read ~15px off-centre. The FAB
       centres itself via justify-self; nav items keep their full-cell (1fr)
       tap target. */
    grid-template-columns: repeat(5, 1fr);
    /* grow the bar + bottom padding by the home-indicator inset so the
       buttons never sit under the iPhone home indicator. */
    height: calc(76px + env(safe-area-inset-bottom));
    padding: 8px 12px calc(14px + env(safe-area-inset-bottom));
    z-index: 10;
    max-width: 480px;
    margin: 0 auto;
}

.m-nav-item[b-8go9qx4vtw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background: transparent;
    border: 0;
    color: var(--muted);
    font-family: var(--font-sans);
    cursor: pointer;
    position: relative;
    padding: 0;
}

.m-nav-ic[b-8go9qx4vtw] { font-size: 19px; line-height: 1; }
.m-nav-l[b-8go9qx4vtw] { font-size: 10px; letter-spacing: -0.005em; }

.m-nav-item.active[b-8go9qx4vtw] { color: var(--indigo-600); }
.m-nav-item.active .m-nav-ic[b-8go9qx4vtw] { font-weight: 700; }

.m-nav-dot[b-8go9qx4vtw] {
    position: absolute;
    top: 6px;
    right: 22%;
    width: 8px;
    height: 8px;
    background: var(--coral);
    border-radius: 50%;
    border: 2px solid #fff;
}

/* Count badge on «Відкриті» — number of open objects. */
.m-nav-badge[b-8go9qx4vtw] {
    position: absolute;
    top: 1px;
    right: 16%;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--indigo-600);
    color: #fff;
    border-radius: 100px;
    font: 600 9px/1 var(--font-mono);
    font-style: normal;
    border: 2px solid #fff;
}

.m-nav-fab[b-8go9qx4vtw] {
    grid-column: 3;            /* the centre cell (explicit, not just auto-flow) */
    align-self: center;
    justify-self: center;      /* dead-centre within its cell — fixes the left shift */
    /* Fixed px (never viewport units) so it can't balloon when the viewport
       height collapses in landscape. */
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--indigo-600);
    color: #fff;
    border: 0;
    cursor: pointer;
    margin: 0;
    /* Flex-centre the «+» glyph optically dead-centre in the circle (the text
       baseline used to push it up); line-height:1 + padding:0 remove residual
       vertical offset. */
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0;                 /* no stray margins that would nudge it off-centre */
    /* lift above the bar without affecting grid placement (transform, not margin) */
    transform: translateY(-18px);
    box-shadow: 0 12px 28px -8px rgba(91, 87, 219, 0.5);
}

.m-nav-fab:hover[b-8go9qx4vtw] { background: #4a47bf; }

/* Landscape on short viewports (phones on their side): the portrait 76px bar +
   58px FAB ate the limited height and the FAB stuck out over the content.
   Compress the bar and shrink the FAB so it sits neatly within the strip. */
@media (orientation: landscape) and (max-height: 500px) {
    .m-nav[b-8go9qx4vtw] {
        height: calc(54px + env(safe-area-inset-bottom));
        padding: 4px 12px calc(6px + env(safe-area-inset-bottom));
    }

    .m-nav-fab[b-8go9qx4vtw] {
        width: 44px;
        height: 44px;
        font-size: 22px;
        transform: translateY(-8px);   /* smaller lift to match the shorter bar */
        box-shadow: 0 8px 18px -8px rgba(91, 87, 219, 0.5);
    }

    .m-nav-ic[b-8go9qx4vtw] { font-size: 17px; }
    .m-nav-l[b-8go9qx4vtw]  { font-size: 9px; }
}
/* /Components/Layout/MobileShell.razor.rz.scp.css */
/* MobileShell — frame chrome for the /m/* product surface.
   Designed for 390px viewports (iPhone 14 logical width). Above
   600px the content centres in a "phone-like" column so the layout
   stays usable when previewed on desktop.

   Handoff source: design_handoff_prism_search/mobile-styles.css
   (selectors .m-nav, .m-nav-item, .m-nav-fab, .m-nav-dot). */

.m-shell[b-8ixf5kkl8v] {
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh; /* dynamic viewport — accounts for the mobile URL bar */
    background: var(--paper);
    color: var(--ink);
    font-family: var(--font-sans);
    font-size: 15px;
    display: flex;
    flex-direction: column;
    position: relative;
}

.m-shell-content[b-8ixf5kkl8v] {
    flex: 1;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    /* env(safe-area-inset-*) keeps content clear of the notch (top) and the
       home indicator / bottom nav (bottom). Needs viewport-fit=cover (set in
       App.razor). The 96px bottom base clears the 76px fixed nav. */
    padding:
        calc(16px + env(safe-area-inset-top))
        calc(18px + env(safe-area-inset-right))
        calc(96px + env(safe-area-inset-bottom))
        calc(18px + env(safe-area-inset-left));
    box-sizing: border-box;
}

/* The bottom nav (.m-nav*) now lives in MobileBottomNav.razor.css — it's
   shared with AppShell so the nav appears on the desktop detail tabs on
   phones too. */

/* ---- error boundary ---- */
.m-shell-error[b-8ixf5kkl8v] {
    padding: 32px 24px;
    text-align: center;
    color: var(--body);
}
.m-shell-error pre[b-8ixf5kkl8v] {
    white-space: pre-wrap;
    background: var(--surface);
    padding: 12px 14px;
    border-radius: 10px;
    text-align: left;
    font-size: 12px;
    margin: 16px 0;
}
.m-shell-btn[b-8ixf5kkl8v] {
    background: var(--indigo-600);
    color: #fff;
    border: 0;
    border-radius: 10px;
    padding: 10px 22px;
    cursor: pointer;
    font-family: var(--font-sans);
    font-weight: 500;
}
/* /Components/Layout/NewTabMenu.razor.rz.scp.css */
/* NewTabMenu — dropdown shown anchored under the TabBar "+" button. */

.ps-newtab-backdrop[b-78kx304qq2] {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: transparent;
}

.ps-newtab-menu[b-78kx304qq2] {
    position: fixed;
    z-index: 201;
    min-width: 320px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    padding: var(--s-2);
    font-family: var(--font-sans);
    color: var(--ink);
    outline: none;
    /* Cap the height on small screens but keep the items fully visible. */
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}

.ps-newtab-header[b-78kx304qq2] {
    padding: var(--s-2) var(--s-3) var(--s-1);
}

.ps-newtab-eyebrow[b-78kx304qq2] {
    display: inline-block;
    font: 500 11px/1.2 var(--font-sans);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-newtab-item[b-78kx304qq2] {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    align-items: center;
    gap: var(--s-3);
    width: 100%;
    padding: var(--s-3);
    border: none;
    background: transparent;
    border-radius: var(--r-md);
    cursor: pointer;
    text-align: left;
    color: inherit;
    transition: background 0.12s ease;
}

    .ps-newtab-item:hover[b-78kx304qq2],
    .ps-newtab-item:focus-visible[b-78kx304qq2] {
        background: var(--indigo-50);
        outline: none;
    }

.ps-newtab-icon[b-78kx304qq2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--r-md);
    background: var(--surface);
    color: var(--body);
}

.ps-newtab-icon--universal[b-78kx304qq2] { background: var(--indigo-50);  color: var(--indigo-800); }
.ps-newtab-icon--graph[b-78kx304qq2]     { background: #EFE6FB;            color: #6A2BBF; }
.ps-newtab-icon--property[b-78kx304qq2]  { background: var(--forest-bg);   color: var(--forest); }
.ps-newtab-icon--tender[b-78kx304qq2]    { background: var(--amber-bg);    color: var(--amber); }

.ps-newtab-body[b-78kx304qq2] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ps-newtab-title[b-78kx304qq2] {
    font: 500 14px/1.3 var(--font-sans);
    color: var(--ink);
}

.ps-newtab-desc[b-78kx304qq2] {
    font: 400 12px/1.4 var(--font-sans);
    color: var(--muted);
    /* Allow up to two lines, ellipsize past that. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ps-newtab-kbd[b-78kx304qq2] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px 6px;
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    background: var(--surface);
    color: var(--muted);
    font: 500 11px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    white-space: nowrap;
}
/* /Components/Layout/PublicShell.razor.rz.scp.css */
/* PublicShell — minimal marketing header. Uses handoff tokens
   (--indigo-600, --paper, --ink, etc.) so it looks consistent with
   redesigned product surfaces without re-introducing AppShell. */

.public-shell[b-3f13y4lsn8] {
    width: 100%;
    min-height: 100vh;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--font-sans);
}

.ph-header[b-3f13y4lsn8] {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(250, 250, 247, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border);
}

.ph-header-inner[b-3f13y4lsn8] {
    max-width: 1280px;
    margin: 0 auto;
    padding: 14px 32px;
    display: flex;
    align-items: center;
    gap: 32px;
}

.ph-brand[b-3f13y4lsn8] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--ink);
    font-weight: 700;
    font-size: 17px;
    letter-spacing: -0.02em;
}
.ph-brand-mark[b-3f13y4lsn8] {
    /* Canonical brand logomark — two-prism silhouette with indigo
       gradient, same asset used by TabBar across the rest of the
       product. Replaces the previous flat CSS-gradient rounded
       square to keep the public landing visually in sync with the
       in-app chrome. */
    width: 22px;
    height: 22px;
    background: url('/images/Prism Logomark Gradient.svg') center / contain no-repeat;
    display: inline-block;
    flex-shrink: 0;
}
.ph-brand-name em[b-3f13y4lsn8] {
    color: var(--indigo-600);
    font-style: normal;
    font-weight: 700;
}

.ph-nav[b-3f13y4lsn8] {
    display: flex;
    align-items: center;
    gap: 24px;
    flex: 1;
    justify-content: center;
}
.ph-nav a[b-3f13y4lsn8] {
    color: var(--body);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.15s;
}
.ph-nav a:hover[b-3f13y4lsn8] { color: var(--indigo-600); }

.ph-cta[b-3f13y4lsn8] {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ph-btn[b-3f13y4lsn8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    font-family: var(--font-sans);
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    cursor: pointer;
    border: 1px solid transparent;
    white-space: nowrap;
}
.ph-btn-ghost[b-3f13y4lsn8] {
    color: var(--ink);
    background: transparent;
}
.ph-btn-ghost:hover[b-3f13y4lsn8] { color: var(--indigo-600); }
.ph-btn-primary[b-3f13y4lsn8] {
    background: var(--indigo-600);
    color: #fff;
}
.ph-btn-primary:hover[b-3f13y4lsn8] { background: #4a47bf; }

.public-shell-content[b-3f13y4lsn8] {
    width: 100%;
}

@media (max-width: 880px) {
    .ph-header-inner[b-3f13y4lsn8] { padding: 12px 18px; gap: 18px; }
    .ph-nav[b-3f13y4lsn8] { display: none; }
    .ph-btn-ghost[b-3f13y4lsn8] { display: none; }
}
/* /Components/Layout/TabBar.razor.rz.scp.css */
/* TabBar — scoped styles.
   Matches design_handoff_prism_search/README.md "AppHeader / Tab bar"
   (height 52px, paper background, indigo-50 active icon chip, etc.). */

.ps-tabbar[b-7i78jeoajd] {
    display: flex;
    align-items: stretch;
    gap: var(--s-2);
    height: var(--header-h, 52px);
    padding: 0 var(--s-4);
    background: var(--paper);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 100;
    font-family: var(--font-sans);
    color: var(--body);
}

/* The horizontal browser-tab strip has no room on a phone. Below 768px it's
   hidden entirely; the mobile product (MobileShell) surfaces the same open
   tabs through the bottom-nav «Відкриті» item + the /m/open list instead. */
@media (max-width: 768px) {
    .ps-tabbar[b-7i78jeoajd] { display: none; }
}

/* ---- Brand mark ---- */
.ps-tabbar-brand[b-7i78jeoajd] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    text-decoration: none;
    color: var(--ink);
    padding: 0 var(--s-2);
    flex-shrink: 0;
}

.ps-tabbar-brand-mark[b-7i78jeoajd] {
    /* Canonical brand logomark from wwwroot/images — same two-prism
       silhouette as favicon.svg but without the inner-shadow filter
       (favicon is tuned for browser-chrome 16-px display; logomark
       is cleaner at any in-page size). flex-shrink:0 + explicit
       width keep the mark from collapsing on overflow. */
    width: 22px;
    height: 22px;
    background: url('/images/Prism Logomark Gradient.svg') center / contain no-repeat;
    flex-shrink: 0;
}

.ps-tabbar-brand-text[b-7i78jeoajd] {
    font: 600 14px/1 var(--font-sans);
    letter-spacing: -0.01em;
}

.ps-tabbar-brand-text em[b-7i78jeoajd] {
    font-style: normal;
    font-weight: 400;
    color: var(--muted);
}

/* ---- Tab list ---- */
.ps-tabbar-list[b-7i78jeoajd] {
    display: flex;
    align-items: stretch;
    gap: 2px;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    /* Thin scrollbar (fix 2): the strip scrolls horizontally once tabs hit
       their min-width; keep the scrollbar subtle so it doesn't fight the
       tab chrome. */
    scrollbar-width: thin;
    scrollbar-color: var(--border) transparent;
    scroll-behavior: smooth;
    flex: 1;
    padding-top: var(--s-2);
}

    .ps-tabbar-list[b-7i78jeoajd]::-webkit-scrollbar {
        height: 5px;
    }

    .ps-tabbar-list[b-7i78jeoajd]::-webkit-scrollbar-track {
        background: transparent;
    }

    .ps-tabbar-list[b-7i78jeoajd]::-webkit-scrollbar-thumb {
        background: var(--border);
        border-radius: 3px;
    }

        .ps-tabbar-list[b-7i78jeoajd]::-webkit-scrollbar-thumb:hover {
            background: var(--muted);
        }

/* ---- Individual tab ---- */
.ps-tab[b-7i78jeoajd] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: 10px var(--s-3) 11px var(--s-3);
    height: calc(var(--header-h, 52px) - var(--s-2));
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    background: transparent;
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    white-space: nowrap;
    /* Compression (fix 1): every tab keeps a legible floor of 120px and a
       ceiling of 200px, then shrinks (flex-shrink 1) toward the floor as
       more tabs open — the icon + close stay put, the title ellipsises. */
    flex: 0 1 auto;
    min-width: 120px;
    max-width: 200px;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* Pinned Дашборд (fix 4): icon-only, narrow, never shrinks, always first. */
.ps-tab--pinned[b-7i78jeoajd] {
    flex: 0 0 auto;
    min-width: 0;
    max-width: none;
    width: auto;
    padding-left: var(--s-2);
    padding-right: var(--s-2);
    gap: 0;
}

    .ps-tab:hover[b-7i78jeoajd] {
        background: rgba(255, 255, 255, 0.5);
        color: var(--ink);
    }

    .ps-tab:focus-visible[b-7i78jeoajd] {
        outline: 2px solid var(--indigo-600);
        outline-offset: -2px;
    }

.ps-tab--active[b-7i78jeoajd] {
    /* Browser-tab look: the active tab lifts to white and punches through
       the tab-bar's bottom border so it reads as connected to the content. */
    background: var(--white);
    border-color: var(--border);
    border-bottom: 1px solid var(--white);
    color: var(--indigo-950);
    font-weight: 600;
    position: relative;
    z-index: 2;
    margin-bottom: -1px;
    /* Indigo top accent marks the active tab clearly. */
    box-shadow: inset 0 2px 0 0 var(--indigo-600);
}

/* ---- Icon chip ---- */
.ps-tab-icon[b-7i78jeoajd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: var(--surface);
    color: var(--body);
    flex-shrink: 0;
}

/* Active tab: indigo-tinted icon chip (consistent across kinds). */
.ps-tab--active .ps-tab-icon[b-7i78jeoajd] {
    background: var(--indigo-50);
    color: var(--indigo-600);
}

.ps-tab-icon svg[b-7i78jeoajd] {
    width: 14px;
    height: 14px;
}

.ps-tab-title[b-7i78jeoajd] {
    /* Shrinks first; min-width:0 lets it collapse below content width so
       the icon + close button stay visible at the 120px floor. */
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---- Loading spinner ---- */
.ps-tab-spinner[b-7i78jeoajd] {
    width: 10px;
    height: 10px;
    border: 1.5px solid var(--indigo-200);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-tab-spin-b-7i78jeoajd 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes ps-tab-spin-b-7i78jeoajd {
    to { transform: rotate(360deg); }
}

/* ---- Close button (visible on hover or for active tab) ---- */
.ps-tab-close[b-7i78jeoajd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border: none;
    background: transparent;
    color: var(--muted);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    border-radius: 4px;
    padding: 0;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.12s ease, background 0.12s ease, color 0.12s ease;
}

.ps-tab:hover .ps-tab-close[b-7i78jeoajd],
.ps-tab--active .ps-tab-close[b-7i78jeoajd],
.ps-tab-close:focus-visible[b-7i78jeoajd] {
    opacity: 1;
}

    .ps-tab-close:hover[b-7i78jeoajd] {
        background: var(--surface);
        color: var(--ink);
    }

/* ---- "+" button ---- */
.ps-tab-add[b-7i78jeoajd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: auto var(--s-1);
    border: none;
    background: transparent;
    color: var(--muted);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    border-radius: var(--r-md);
    flex-shrink: 0;
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-tab-add:hover[b-7i78jeoajd],
    .ps-tab-add--open[b-7i78jeoajd] {
        background: var(--indigo-50);
        color: var(--indigo-800);
    }

    .ps-tab-add:focus-visible[b-7i78jeoajd] {
        outline: none;
        box-shadow: var(--shadow-glow);
    }

/* ---- Overflow «ще N» button (fix 3) ---- */
.ps-tab-overflow[b-7i78jeoajd] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: auto 2px;
    padding: 0 var(--s-2);
    height: 28px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--body);
    font: 600 12px/1 var(--font-sans);
    border-radius: var(--r-md);
    cursor: pointer;
    flex-shrink: 0;
    white-space: nowrap;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .ps-tab-overflow:hover[b-7i78jeoajd],
    .ps-tab-overflow--open[b-7i78jeoajd] {
        background: var(--indigo-50);
        color: var(--indigo-800);
        border-color: var(--indigo-200);
    }

    .ps-tab-overflow:focus-visible[b-7i78jeoajd] {
        outline: none;
        box-shadow: var(--shadow-glow);
    }

.ps-tab-overflow-chev[b-7i78jeoajd] {
    font-size: 14px;
    line-height: 1;
}

/* ---- Overflow dropdown ---- */
.ps-taboverflow-backdrop[b-7i78jeoajd] {
    position: fixed;
    inset: 0;
    z-index: 400;
    background: transparent;
}

.ps-taboverflow-menu[b-7i78jeoajd] {
    position: fixed;
    z-index: 401;
    min-width: 240px;
    max-width: 320px;
    max-height: 60vh;
    overflow-y: auto;
    padding: 6px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-lg, 12px);
    box-shadow: var(--shadow-lg, 0 12px 32px rgba(16, 16, 43, 0.16));
}

.ps-taboverflow-item[b-7i78jeoajd] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    width: 100%;
    padding: 8px 10px;
    border: none;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    text-align: left;
    color: var(--body);
}

    .ps-taboverflow-item:hover[b-7i78jeoajd] {
        background: var(--surface);
    }

    .ps-taboverflow-item.is-active[b-7i78jeoajd] {
        background: var(--indigo-50);
        color: var(--indigo-800);
    }

.ps-taboverflow-icon[b-7i78jeoajd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    border-radius: 6px;
    background: var(--surface);
    color: var(--body);
}

.ps-taboverflow-item.is-active .ps-taboverflow-icon[b-7i78jeoajd] {
    background: var(--indigo-100, var(--indigo-50));
    color: var(--indigo-600);
}

.ps-taboverflow-text[b-7i78jeoajd] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
    gap: 2px;
}

.ps-taboverflow-title[b-7i78jeoajd] {
    font: 600 13px/1.2 var(--font-sans);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-taboverflow-sub[b-7i78jeoajd] {
    font: 400 11px/1.3 var(--font-sans);
    color: var(--muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-taboverflow-close[b-7i78jeoajd] {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}

    .ps-taboverflow-close:hover[b-7i78jeoajd] {
        background: var(--white);
        color: var(--ink);
    }

/* ---- Eviction toast («Вкладку X закрито») ---- */
.ps-tab-toast[b-7i78jeoajd] {
    position: fixed;
    top: calc(var(--header-h, 52px) + 8px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 500;
    max-width: 90vw;
    padding: 10px 16px;
    background: var(--indigo-950, #16162b);
    color: #fff;
    font: 500 13px/1.3 var(--font-sans);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(16, 16, 43, 0.24);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    animation: ps-tab-toast-in-b-7i78jeoajd 0.18s ease;
}

@keyframes ps-tab-toast-in-b-7i78jeoajd {
    from {
        opacity: 0;
        transform: translate(-50%, -6px);
    }

    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

/* ---- Right cluster slot ---- */
.ps-tabbar-right[b-7i78jeoajd] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-3);
    margin-left: auto;
    padding-left: var(--s-3);
    flex-shrink: 0;
}
/* /Components/Layout/UserMenu.razor.rz.scp.css */
/* UserMenu — avatar + name pill and its dropdown. Extracted from
   AppHeaderRight so the public landing header can reuse it verbatim. */

.ps-hr-user[b-4y9vvauwq3] {
    position: relative;
    font-family: var(--font-sans);
}

.ps-hr-user-btn[b-4y9vvauwq3] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    height: 32px;
    padding: 2px 8px 2px 2px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--r-md);
    color: var(--ink);
    cursor: pointer;
    font: 500 13px/1 var(--font-sans);
    transition: background 0.12s ease, border-color 0.12s ease;
}

    .ps-hr-user-btn:hover[b-4y9vvauwq3],
    .ps-hr-user--open .ps-hr-user-btn[b-4y9vvauwq3] {
        background: var(--surface);
    }

    .ps-hr-user-btn:focus-visible[b-4y9vvauwq3] {
        outline: none;
        border-color: var(--indigo-600);
        box-shadow: var(--shadow-glow);
    }

.ps-hr-avatar[b-4y9vvauwq3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--indigo-600);
    color: var(--white);
    font: 600 12px/1 var(--font-sans);
    flex-shrink: 0;
}

.ps-hr-user-name[b-4y9vvauwq3] {
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 140px;
}

.ps-hr-user-caret[b-4y9vvauwq3] {
    color: var(--muted);
    flex-shrink: 0;
}

/* ---- Dropdown ---- */
.ps-hr-user-backdrop[b-4y9vvauwq3] {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: transparent;
}

.ps-hr-user-menu[b-4y9vvauwq3] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 201;
    min-width: 240px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    padding: var(--s-2);
}

.ps-hr-user-menu-head[b-4y9vvauwq3] {
    padding: var(--s-2) var(--s-3) var(--s-3);
    border-bottom: 1px solid var(--border);
    margin-bottom: var(--s-2);
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ps-hr-user-menu-name[b-4y9vvauwq3] {
    font: 600 14px/1.3 var(--font-sans);
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-hr-user-menu-email[b-4y9vvauwq3] {
    font: 400 12px/1.3 var(--font-sans);
    color: var(--muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-hr-user-menu-role[b-4y9vvauwq3] {
    align-self: flex-start;
    margin-top: 4px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--indigo-50);
    color: var(--indigo-800);
    font: 600 10px/1.4 var(--font-sans);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ps-hr-menu-item[b-4y9vvauwq3] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    width: 100%;
    padding: var(--s-2) var(--s-3);
    border: none;
    background: transparent;
    color: var(--body);
    text-align: left;
    text-decoration: none;
    font: 500 13px/1.3 var(--font-sans);
    border-radius: var(--r-md);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

    .ps-hr-menu-item:hover[b-4y9vvauwq3],
    .ps-hr-menu-item:focus-visible[b-4y9vvauwq3] {
        background: var(--indigo-50);
        color: var(--ink);
        outline: none;
    }

.ps-hr-menu-item--danger:hover[b-4y9vvauwq3] {
    background: var(--coral-bg);
    color: var(--coral);
}

.ps-hr-menu-ic[b-4y9vvauwq3] {
    width: 18px;
    text-align: center;
    color: var(--muted);
    font: 400 14px/1 var(--font-sans);
}

.ps-hr-menu-divider[b-4y9vvauwq3] {
    border: none;
    border-top: 1px solid var(--border);
    margin: var(--s-2) 0;
}
/* /Components/Pages/AdminV2.razor.rz.scp.css */
.advv2[b-i7lhk1nm59] {
    /* width + max-width + horizontal padding come from .content-container
       on the same element — keep only vertical rhythm here. */
    padding-block: var(--s-6) var(--s-12);
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
    color: var(--body);
}

.advv2-loading[b-i7lhk1nm59],
.advv2-empty[b-i7lhk1nm59] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.advv2-spinner[b-i7lhk1nm59] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: advv2-spin-b-i7lhk1nm59 0.7s linear infinite;
}

@keyframes advv2-spin-b-i7lhk1nm59 { to { transform: rotate(360deg); } }

.advv2-empty h3[b-i7lhk1nm59] { margin: 0; color: var(--ink); font: 600 18px/1.3 var(--font-sans); }
.advv2-empty p[b-i7lhk1nm59]  { margin: 0; max-width: 56ch; font: 400 14px/1.5 var(--font-sans); }

.advv2-cta[b-i7lhk1nm59] {
    padding: 10px 18px;
    background: var(--indigo-600);
    color: var(--white);
    text-decoration: none;
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
}

    .advv2-cta:hover[b-i7lhk1nm59] { background: var(--indigo-800); }

/* ---- Top bar ---- */
.advv2-bar[b-i7lhk1nm59] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--s-4);
}

@media (max-width: 900px) {
    .advv2-bar[b-i7lhk1nm59] { grid-template-columns: 1fr; }
}

.advv2-bar-info h2[b-i7lhk1nm59] {
    margin: 0;
    color: var(--ink);
    font: 600 28px/1.2 var(--font-sans);
    letter-spacing: -0.015em;
}

.advv2-bar-info p[b-i7lhk1nm59] {
    margin: var(--s-1) 0 0;
    color: var(--body);
    font: 400 14px/1.5 var(--font-sans);
}

.advv2-bar-actions[b-i7lhk1nm59] {
    display: inline-flex;
    gap: var(--s-2);
}

.advv2-btn[b-i7lhk1nm59] {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: 1px solid transparent;
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.advv2-btn--secondary[b-i7lhk1nm59] {
    background: var(--white);
    color: var(--ink);
    border-color: var(--border-2);
}

    .advv2-btn--secondary:hover[b-i7lhk1nm59] { background: var(--surface); }

/* ---- KPI tiles ---- */
.advv2-kpi[b-i7lhk1nm59] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-3);
}

@media (max-width: 1100px) { .advv2-kpi[b-i7lhk1nm59] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .advv2-kpi[b-i7lhk1nm59] { grid-template-columns: 1fr; } }

.advv2-tile[b-i7lhk1nm59] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.advv2-tile--warn[b-i7lhk1nm59]   { background: var(--amber-bg); border-color: var(--amber-border); }
.advv2-tile--danger[b-i7lhk1nm59] { background: var(--coral-bg); border-color: var(--coral-border); }

.advv2-tile-h[b-i7lhk1nm59] {
    color: var(--muted);
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.advv2-tile--warn   .advv2-tile-h[b-i7lhk1nm59] { color: var(--amber); }
.advv2-tile--danger .advv2-tile-h[b-i7lhk1nm59] { color: var(--coral); }

.advv2-tile-val[b-i7lhk1nm59] {
    color: var(--ink);
    font: 600 28px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.advv2-tx-forest[b-i7lhk1nm59] { color: var(--forest); }
.advv2-tx-amber[b-i7lhk1nm59]  { color: var(--amber); }
.advv2-tx-coral[b-i7lhk1nm59]  { color: var(--coral); }

.advv2-tile-sub[b-i7lhk1nm59] {
    color: var(--muted);
    font: 400 12px/1.3 var(--font-sans);
}

/* ---- Filters bar ---- */
.advv2-filters[b-i7lhk1nm59] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    flex-wrap: wrap;
}

.advv2-search[b-i7lhk1nm59] {
    flex: 0 0 280px;
    padding: 8px var(--s-3);
    background: var(--white);
    border: 1px solid var(--border-2);
    border-radius: var(--r-pill);
    font: 400 13px/1.4 var(--font-sans);
    color: var(--ink);
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

    .advv2-search[b-i7lhk1nm59]::placeholder { color: var(--muted); }
    .advv2-search:focus[b-i7lhk1nm59] {
        border-color: var(--indigo-600);
        box-shadow: var(--shadow-glow);
    }

.advv2-chips[b-i7lhk1nm59] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
}

.advv2-chip[b-i7lhk1nm59] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .advv2-chip:hover[b-i7lhk1nm59] { background: var(--surface); color: var(--ink); }
    .advv2-chip b[b-i7lhk1nm59] {
        color: var(--muted);
        font: 600 12px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.advv2-chip--on[b-i7lhk1nm59] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .advv2-chip--on b[b-i7lhk1nm59] { color: rgba(255, 255, 255, 0.7); }

.advv2-chip-reset[b-i7lhk1nm59] {
    margin-left: var(--s-2);
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: transparent;
    border: 1px dashed var(--border-2);
    color: var(--muted);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
}

    .advv2-chip-reset:hover[b-i7lhk1nm59] { background: var(--coral-bg); color: var(--coral); border-color: var(--coral-border); }

/* ---- Table ---- */
.advv2-table-wrap[b-i7lhk1nm59] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
    overflow-x: auto;
}

.advv2-table[b-i7lhk1nm59] {
    width: 100%;
    border-collapse: collapse;
    min-width: 1100px;
}

.advv2-table thead th[b-i7lhk1nm59] {
    padding: var(--s-3);
    text-align: left;
    background: var(--paper);
    color: var(--muted);
    font: 500 11px/1.3 var(--font-sans);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
}

    .advv2-table thead th.mono[b-i7lhk1nm59] {
        font-family: var(--font-mono);
        letter-spacing: 0;
        text-transform: none;
    }

.advv2-num[b-i7lhk1nm59] { text-align: right; white-space: nowrap; }
.advv2-th-status[b-i7lhk1nm59] { width: 28px; }
.advv2-th-action[b-i7lhk1nm59] { width: 40px; }

.advv2-table tbody tr[b-i7lhk1nm59] {
    border-bottom: 1px solid var(--border);
    transition: background 0.12s ease;
}

    .advv2-table tbody tr:last-child[b-i7lhk1nm59] { border-bottom: none; }
    .advv2-table tbody tr:hover[b-i7lhk1nm59] { background: var(--paper); }

.advv2-row--blocked[b-i7lhk1nm59] { opacity: 0.62; }

.advv2-table tbody td[b-i7lhk1nm59] {
    padding: var(--s-3);
    color: var(--ink);
    font: 400 13px/1.4 var(--font-sans);
    vertical-align: middle;
}

/* Status dot */
.advv2-status[b-i7lhk1nm59] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--muted);
}

.advv2-status--active[b-i7lhk1nm59]  { background: var(--forest); }
.advv2-status--pending[b-i7lhk1nm59] { background: var(--amber); }
.advv2-status--blocked[b-i7lhk1nm59] { background: var(--coral); }

/* User cell */
.advv2-user-cell b[b-i7lhk1nm59] {
    color: var(--ink);
    font: 500 13px/1.3 var(--font-sans);
}

.advv2-user-cell small.mono[b-i7lhk1nm59] {
    display: block;
    color: var(--muted);
    font: 400 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    margin-top: 2px;
}

.advv2-tag[b-i7lhk1nm59] {
    display: inline-block;
    padding: 2px 6px;
    border-radius: var(--r-sm);
    background: var(--surface);
    color: var(--body);
    font: 500 11px/1.3 var(--font-sans);
    margin-top: 2px;
}

.advv2-tag--warn[b-i7lhk1nm59] {
    background: var(--amber-bg);
    color: var(--amber);
}

.advv2-dim[b-i7lhk1nm59] { color: var(--muted); }

/* Role pill */
.advv2-role-pill[b-i7lhk1nm59] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
    white-space: nowrap;
}

.advv2-role-pill--coral[b-i7lhk1nm59]   { background: var(--coral-bg);  color: var(--coral); }
.advv2-role-pill--indigo[b-i7lhk1nm59]  { background: var(--indigo-50); color: var(--indigo-800); }
.advv2-role-pill--neutral[b-i7lhk1nm59] { background: var(--surface);   color: var(--body); }

/* Quota bar */
.advv2-quota-cell[b-i7lhk1nm59] {
    min-width: 120px;
}

.advv2-quota-bar[b-i7lhk1nm59] {
    height: 4px;
    background: var(--surface);
    border-radius: var(--r-pill);
    overflow: hidden;
    margin-bottom: 2px;
}

    .advv2-quota-bar > span[b-i7lhk1nm59] {
        display: block;
        height: 100%;
        background: var(--indigo-600);
        border-radius: var(--r-pill);
    }

.advv2-quota-cell small.mono[b-i7lhk1nm59] {
    color: var(--muted);
    font: 400 11px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

/* Badge */
.advv2-badge[b-i7lhk1nm59] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
}

.advv2-badge--forest[b-i7lhk1nm59]  { background: var(--forest-bg); color: var(--forest); }
.advv2-badge--neutral[b-i7lhk1nm59] { background: var(--surface);   color: var(--body); }

.advv2-badge-dot[b-i7lhk1nm59] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

/* Icon button */
.advv2-icon-btn[b-i7lhk1nm59] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    text-decoration: none;
    font: 500 16px/1 var(--font-sans);
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .advv2-icon-btn:hover[b-i7lhk1nm59] {
        background: var(--indigo-50);
        color: var(--indigo-800);
        border-color: var(--indigo-200);
    }

/* More row */
.advv2-more td[b-i7lhk1nm59] {
    text-align: center;
    color: var(--muted);
    background: var(--paper);
}

.advv2-more .mono[b-i7lhk1nm59] {
    font-family: var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    margin-right: var(--s-2);
}

.advv2-link[b-i7lhk1nm59] {
    color: var(--indigo-600);
    text-decoration: none;
    font: 500 13px/1 var(--font-sans);
}

    .advv2-link:hover[b-i7lhk1nm59] { color: var(--indigo-800); text-decoration: underline; }


/* ============================================================
   Per-user edit drawer (Phase 2 #1)
   ============================================================ */
.advv2-drawer-backdrop[b-i7lhk1nm59] {
    position: fixed;
    inset: 0;
    background: rgba(17, 18, 30, 0.32);
    z-index: 80;
    animation: advv2-fade-b-i7lhk1nm59 0.14s ease-out;
}

.advv2-drawer[b-i7lhk1nm59] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(440px, 100vw);
    background: var(--white);
    box-shadow: -16px 0 40px -16px rgba(17, 18, 30, 0.25);
    display: flex;
    flex-direction: column;
    z-index: 81;
    animation: advv2-slide-b-i7lhk1nm59 0.18s ease-out;
}

@keyframes advv2-fade-b-i7lhk1nm59 { from { opacity: 0; } to { opacity: 1; } }
@keyframes advv2-slide-b-i7lhk1nm59 { from { transform: translateX(20px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

.advv2-drawer-h[b-i7lhk1nm59] {
    padding: var(--s-5) var(--s-5) var(--s-3);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--s-3);
}

.advv2-drawer-h h3[b-i7lhk1nm59] {
    margin: 4px 0 2px;
    font: 600 18px/1.25 var(--font-sans);
    color: var(--ink);
}

.advv2-drawer-eyebrow[b-i7lhk1nm59] {
    color: var(--muted);
    letter-spacing: 0.08em;
}

.advv2-drawer-email[b-i7lhk1nm59] {
    font-size: 12px;
    color: var(--muted);
}

.advv2-drawer-close[b-i7lhk1nm59] {
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 22px;
    line-height: 1;
    border-radius: var(--r-md);
    cursor: pointer;
}

    .advv2-drawer-close:hover[b-i7lhk1nm59] { background: var(--surface); color: var(--ink); }

.advv2-drawer-err[b-i7lhk1nm59],
.advv2-drawer-flash[b-i7lhk1nm59] {
    margin: var(--s-3) var(--s-5) 0;
    padding: var(--s-2) var(--s-3);
    border-radius: var(--r-md);
    font-size: 13px;
}

.advv2-drawer-err[b-i7lhk1nm59] {
    background: var(--coral-bg);
    color: var(--coral);
}

.advv2-drawer-flash[b-i7lhk1nm59] {
    background: var(--forest-bg);
    color: var(--forest);
}

.advv2-drawer-body[b-i7lhk1nm59] {
    flex: 1;
    overflow-y: auto;
    padding: var(--s-3) var(--s-5);
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
}

.advv2-drawer-sec[b-i7lhk1nm59] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.advv2-drawer-sec--danger[b-i7lhk1nm59] {
    margin-top: var(--s-2);
    padding-top: var(--s-3);
    border-top: 1px dashed var(--border-2);
}

.advv2-drawer-sec-h[b-i7lhk1nm59] {
    font-size: 11px;
    letter-spacing: 0.1em;
    color: var(--muted);
    text-transform: uppercase;
}

.advv2-drawer-row[b-i7lhk1nm59] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-3);
}

.advv2-drawer-row--right[b-i7lhk1nm59] {
    justify-content: flex-end;
    margin-top: 4px;
}

.advv2-drawer-row b[b-i7lhk1nm59] {
    display: block;
    font: 500 14px/1.3 var(--font-sans);
    color: var(--ink);
}

.advv2-drawer-row small[b-i7lhk1nm59] {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: var(--muted);
    max-width: 30ch;
}

.advv2-drawer-btn-row[b-i7lhk1nm59] {
    display: flex;
    gap: var(--s-2);
}

.advv2-drawer-btn[b-i7lhk1nm59] {
    padding: 8px 14px;
    border-radius: var(--r-md);
    border: 1px solid transparent;
    background: var(--surface);
    color: var(--body);
    cursor: pointer;
    font: 500 13px/1 var(--font-sans);
    transition: background 0.12s, border-color 0.12s, color 0.12s;
    white-space: nowrap;
}

    .advv2-drawer-btn:hover:not(:disabled)[b-i7lhk1nm59] { background: var(--border); }
    .advv2-drawer-btn:disabled[b-i7lhk1nm59] { opacity: 0.5; cursor: not-allowed; }

.advv2-drawer-btn--primary[b-i7lhk1nm59] {
    background: var(--indigo-600);
    color: var(--white);
    border-color: var(--indigo-600);
}

    .advv2-drawer-btn--primary:hover:not(:disabled)[b-i7lhk1nm59] { background: var(--indigo-800); border-color: var(--indigo-800); }

.advv2-drawer-btn--secondary[b-i7lhk1nm59] {
    background: var(--white);
    border: 1px solid var(--border-2);
    color: var(--body);
}

    .advv2-drawer-btn--secondary:hover:not(:disabled)[b-i7lhk1nm59] { background: var(--surface); }

.advv2-drawer-btn--coral[b-i7lhk1nm59] {
    background: var(--coral);
    border-color: var(--coral);
    color: var(--white);
}

    .advv2-drawer-btn--coral:hover:not(:disabled)[b-i7lhk1nm59] { background: var(--coral-bg); color: var(--coral); }

.advv2-drawer-btn--coral-outline[b-i7lhk1nm59] {
    background: var(--white);
    border: 1px solid var(--coral);
    color: var(--coral);
}

    .advv2-drawer-btn--coral-outline:hover:not(:disabled)[b-i7lhk1nm59] { background: var(--coral-bg); }

.advv2-drawer-btn--forest[b-i7lhk1nm59] {
    background: var(--forest);
    border-color: var(--forest);
    color: var(--white);
}

    .advv2-drawer-btn--forest:hover:not(:disabled)[b-i7lhk1nm59] { background: var(--forest-bg); color: var(--forest); }

.advv2-drawer-form[b-i7lhk1nm59] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.advv2-drawer-field[b-i7lhk1nm59] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.advv2-drawer-field > span[b-i7lhk1nm59] {
    font-size: 12px;
    font-weight: 500;
    color: var(--body);
}

.advv2-drawer-field small[b-i7lhk1nm59] {
    font-size: 11px;
    color: var(--muted);
}

.advv2-drawer-help[b-i7lhk1nm59] {
    margin: 0 0 var(--s-2);
    font-size: 12px;
    line-height: 1.45;
    color: var(--muted);
}

    .advv2-drawer-help b[b-i7lhk1nm59] { color: var(--body); font-weight: 600; }

.advv2-help-ic[b-i7lhk1nm59] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    color: var(--indigo-600);
    cursor: help;
    font-size: 11px;
    vertical-align: baseline;
}

.advv2-drawer-input-row[b-i7lhk1nm59] {
    display: flex;
    gap: var(--s-2);
}

.advv2-drawer-input[b-i7lhk1nm59] {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid var(--border-2);
    border-radius: var(--r-md);
    background: var(--white);
    font: 500 14px/1 var(--font-mono);
    color: var(--ink);
}

    .advv2-drawer-input:focus[b-i7lhk1nm59] { outline: 2px solid var(--indigo-200); border-color: var(--indigo-600); }

.advv2-drawer-textarea[b-i7lhk1nm59] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border-2);
    border-radius: var(--r-md);
    background: var(--white);
    font: 400 13px/1.4 var(--font-sans);
    color: var(--ink);
    resize: vertical;
    min-height: 70px;
}

    .advv2-drawer-textarea:focus[b-i7lhk1nm59] { outline: 2px solid var(--indigo-200); border-color: var(--indigo-600); }

.advv2-drawer-toggle-row[b-i7lhk1nm59] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
}

.advv2-drawer-toggle[b-i7lhk1nm59] {
    width: 40px;
    height: 22px;
    border-radius: 22px;
    background: var(--border-2);
    border: 0;
    position: relative;
    cursor: pointer;
    transition: background 0.15s;
}

    .advv2-drawer-toggle--on[b-i7lhk1nm59] { background: var(--indigo-600); }
    .advv2-drawer-toggle:disabled[b-i7lhk1nm59] { opacity: 0.6; cursor: wait; }

.advv2-drawer-toggle-knob[b-i7lhk1nm59] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    background: var(--white);
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
    transition: transform 0.15s;
}

.advv2-drawer-toggle--on .advv2-drawer-toggle-knob[b-i7lhk1nm59] { transform: translateX(18px); }

.advv2-drawer-toggle-label[b-i7lhk1nm59] {
    font-size: 13px;
    color: var(--body);
}

.advv2-drawer-foot[b-i7lhk1nm59] {
    padding: var(--s-3) var(--s-5);
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-3);
}

.advv2-tx-coral[b-i7lhk1nm59] { color: var(--coral); }

@media (max-width: 520px) {
    .advv2-drawer[b-i7lhk1nm59] { width: 100vw; }
    .advv2-drawer-row[b-i7lhk1nm59] { flex-direction: column; align-items: stretch; }
}


/* ---- Drawer packages list (parity additions) ---- */
.advv2-drawer-packages[b-i7lhk1nm59] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 180px;
    overflow-y: auto;
}

.advv2-drawer-packages-empty[b-i7lhk1nm59] {
    padding: 8px 10px;
    background: var(--surface);
    color: var(--muted);
    border-radius: var(--r-md);
    font-size: 12px;
    text-align: center;
}

.advv2-drawer-pkg[b-i7lhk1nm59] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: var(--s-2);
    padding: 8px 10px;
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    font-size: 13px;
}

.advv2-drawer-pkg .mono[b-i7lhk1nm59] {
    color: var(--ink);
    font-weight: 600;
}

.advv2-drawer-pkg-meta[b-i7lhk1nm59] {
    color: var(--muted);
    font-size: 11px;
    font-family: var(--font-mono);
}

.advv2-drawer-pkg-del[b-i7lhk1nm59] {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    border: 0;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
}

.advv2-drawer-pkg-del:hover:not(:disabled)[b-i7lhk1nm59] {
    background: var(--coral-bg);
    color: var(--coral);
}

/* Within-own-limit budget hint under the request / monitoring limit inputs
   (shown only to a regular admin distributing from their own pool). */
.advv2-budget[b-i7lhk1nm59] { color: var(--indigo-600); font-weight: 500; }
.advv2-budget b[b-i7lhk1nm59] { font-family: var(--font-mono); }

/* Summary-footer styles live in tokens.css as .ps-table-footer (shared
   across Tenders, Enforcement, Tax, Monitoring, Admin). */
/* /Components/Pages/BatchSearchV2.razor.rz.scp.css */
.batchv2[b-8i04616whd] {
    /* width + max-width + horizontal padding come from .content-container
       on the same element — keep only vertical rhythm here. */
    padding-block: var(--s-6) var(--s-12);
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
    font-family: var(--font-sans);
    color: var(--body);
}

.batchv2-loading[b-8i04616whd],
.batchv2-empty[b-8i04616whd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
}

.batchv2-spinner[b-8i04616whd] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: batchv2-spin-b-8i04616whd 0.7s linear infinite;
}

@keyframes batchv2-spin-b-8i04616whd { to { transform: rotate(360deg); } }

/* ---- Top bar ---- */
.batchv2-bar[b-8i04616whd] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--s-4);
}

@media (max-width: 900px) { .batchv2-bar[b-8i04616whd] { grid-template-columns: 1fr; } }

.batchv2-bar-info h2[b-8i04616whd] {
    margin: 0;
    color: var(--ink);
    font: 600 28px/1.2 var(--font-sans);
    letter-spacing: -0.015em;
}

.batchv2-bar-info p[b-8i04616whd] {
    margin: var(--s-1) 0 0;
    color: var(--body);
    font: 400 14px/1.5 var(--font-sans);
}

.batchv2-bar-actions[b-8i04616whd] {
    display: inline-flex;
    gap: var(--s-2);
}

.batchv2-btn[b-8i04616whd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border: 1px solid transparent;
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.batchv2-btn--secondary[b-8i04616whd] {
    background: var(--white);
    color: var(--ink);
    border-color: var(--border-2);
}

    .batchv2-btn--secondary:hover[b-8i04616whd] { background: var(--surface); }

.batchv2-btn--primary[b-8i04616whd] {
    background: var(--indigo-600);
    color: var(--white);
}

    .batchv2-btn--primary:hover[b-8i04616whd] { background: var(--indigo-800); color: var(--white); }

/* ---- Tool tabs (slide 18) ---- */
.batchv2-tabs[b-8i04616whd] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
}

.batchv2-tab[b-8i04616whd] {
    display: inline-flex;
    align-items: center;
    padding: 10px 16px;
    border: 1px solid var(--border-2);
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .batchv2-tab:hover[b-8i04616whd] { background: var(--surface); color: var(--ink); }

.batchv2-tab--active[b-8i04616whd] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .batchv2-tab--active:hover[b-8i04616whd] { background: var(--indigo-800); color: var(--white); }

/* ---- Grid of tools ---- */
.batchv2-grid[b-8i04616whd] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: var(--s-4);
}

.batchv2-card[b-8i04616whd] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-5);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    min-height: 260px;
}

.batchv2-card-h[b-8i04616whd] {
    display: grid;
    grid-template-columns: 44px 1fr;
    align-items: flex-start;
    gap: var(--s-3);
}

.batchv2-card-ic[b-8i04616whd] {
    width: 44px;
    height: 44px;
    border-radius: var(--r-lg);
    background: var(--surface);
    color: var(--body);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 500 20px/1 var(--font-sans);
    flex-shrink: 0;
}

.batchv2-card-ic--indigo[b-8i04616whd] { background: var(--indigo-50);  color: var(--indigo-800); }
.batchv2-card-ic--amber[b-8i04616whd]  { background: var(--amber-bg);   color: var(--amber); }
.batchv2-card-ic--coral[b-8i04616whd]  { background: var(--coral-bg);   color: var(--coral); }
.batchv2-card-ic--forest[b-8i04616whd] { background: var(--forest-bg);  color: var(--forest); }

.batchv2-card-h h3[b-8i04616whd] {
    margin: 0;
    color: var(--ink);
    font: 600 16px/1.3 var(--font-sans);
}

.batchv2-card-h p[b-8i04616whd] {
    margin: var(--s-1) 0 0;
    color: var(--muted);
    font: 400 12px/1.5 var(--font-sans);
}

.batchv2-card-empty[b-8i04616whd] {
    padding: var(--s-4) 0;
    color: var(--muted);
    font: 400 13px/1.5 var(--font-sans);
}

/* Stats */
.batchv2-stats[b-8i04616whd] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--s-2);
}

@media (max-width: 480px) {
    .batchv2-stats[b-8i04616whd] { grid-template-columns: repeat(3, 1fr); }
}

.batchv2-stats > div[b-8i04616whd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: var(--s-2);
    background: var(--paper);
    border-radius: var(--r-md);
    text-align: center;
}

.batchv2-stats-h[b-8i04616whd] {
    color: var(--muted);
    font: 500 9px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.batchv2-stats b[b-8i04616whd] {
    color: var(--ink);
    font: 600 16px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.batchv2-tx-forest[b-8i04616whd] { color: var(--forest); }
.batchv2-tx-amber[b-8i04616whd]  { color: var(--amber); }
.batchv2-tx-coral[b-8i04616whd]  { color: var(--coral); }

/* Progress bar */
.batchv2-progress-bar[b-8i04616whd] {
    height: 6px;
    background: var(--surface);
    border-radius: var(--r-pill);
    overflow: hidden;
    display: flex;
    position: relative;
}

.batchv2-bp-done[b-8i04616whd] {
    background: var(--forest);
    height: 100%;
}

.batchv2-bp-partial[b-8i04616whd] {
    background: var(--amber);
    height: 100%;
}

.batchv2-bp-error[b-8i04616whd] {
    background: var(--coral);
    height: 100%;
}

.batchv2-progress-label[b-8i04616whd] {
    color: var(--muted);
    font: 400 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

/* Footer */
.batchv2-card-foot[b-8i04616whd] {
    margin-top: auto;
    display: flex;
}

    .batchv2-card-foot .batchv2-btn[b-8i04616whd] { flex: 1; }

/* ---- Tip ---- */
.batchv2-tip[b-8i04616whd] {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: var(--s-3);
    padding: var(--s-4);
    background: var(--indigo-50);
    border: 1px solid var(--indigo-200);
    border-radius: var(--r-lg);
}

.batchv2-tip-ic[b-8i04616whd] {
    font-size: 24px;
    line-height: 1;
}

.batchv2-tip > div b[b-8i04616whd] {
    color: var(--ink);
    font: 600 13px/1.4 var(--font-sans);
}

.batchv2-tip > div p[b-8i04616whd] {
    margin: 4px 0 0;
    color: var(--body);
    font: 400 13px/1.5 var(--font-sans);
}

    .batchv2-tip > div p code[b-8i04616whd] {
        padding: 1px 6px;
        background: var(--white);
        border: 1px solid var(--indigo-200);
        border-radius: var(--r-sm);
        font: 400 12px/1.3 var(--font-mono);
        color: var(--indigo-800);
    }


/* ============================================================
   Workflow mode (Phase 2 #2) — toolbar with back arrow + embedded
   Batch*Search component
   ============================================================ */
.batchv2-bar--workflow[b-8i04616whd] {
    align-items: center;
    gap: var(--s-3);
}

.batchv2-back[b-8i04616whd] {
    width: 40px;
    height: 40px;
    border: 1px solid var(--border-2);
    background: var(--white);
    border-radius: var(--r-md);
    cursor: pointer;
    color: var(--ink);
    font-size: 20px;
    line-height: 1;
    flex-shrink: 0;
    transition: background 0.12s, border-color 0.12s;
}

    .batchv2-back:hover[b-8i04616whd] { background: var(--surface); border-color: var(--indigo-200); }

.batchv2-bar-eyebrow[b-8i04616whd] {
    color: var(--indigo-600);
    letter-spacing: 0.14em;
}

.batchv2-workflow[b-8i04616whd] {
    margin-top: var(--s-4);
}

    /* The embedded Batch*Search components use legacy --ps-* class names
       (vp-panel, batch-tabs, etc.) that already map to handoff tokens
       via tokens.css aliases. No deep-style override needed; just give
       the host a stable surface to render into. */
    .batchv2-workflow > *[b-8i04616whd] {
        display: block;
        width: 100%;
    }
/* /Components/Pages/CabinetV2.razor.rz.scp.css */
.cabv2[b-b6589pxb25] {
    /* width + max-width + horizontal padding come from .content-container
       on the same element — keep only vertical rhythm here. */
    padding-block: var(--s-6) var(--s-12);
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
    font-family: var(--font-sans);
    color: var(--body);
}

/* ---- Breadcrumb row ---- */
.cabv2-crumbs[b-b6589pxb25] {
    display: flex;
    align-items: center;
    gap: var(--s-4);
    flex-wrap: wrap;
    margin-bottom: calc(var(--s-2) * -1); /* tighten gap before .cabv2-body */
}

.cabv2-crumb-back[b-b6589pxb25] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: var(--r-md);
    background: transparent;
    color: var(--indigo-600);
    text-decoration: none;
    font: 500 12px/1 var(--font-sans);
    transition: background 0.12s ease, color 0.12s ease;
}

    .cabv2-crumb-back:hover[b-b6589pxb25] {
        background: var(--indigo-50);
        color: var(--indigo-800);
    }

.cabv2-crumb-trail[b-b6589pxb25] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    list-style: none;
    margin: 0;
    padding: 0;
    font: 500 12px/1 var(--font-sans);
    color: var(--muted);
}

    .cabv2-crumb-trail li[aria-current="page"][b-b6589pxb25] {
        color: var(--ink);
    }

.cabv2-crumb-sep[b-b6589pxb25] {
    color: var(--border-2);
}

/* ---- Loading state ---- */
.cabv2-loading[b-b6589pxb25] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    color: var(--muted);
}

.cabv2-spinner[b-b6589pxb25] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: cabv2-spin-b-b6589pxb25 0.7s linear infinite;
}

@keyframes cabv2-spin-b-b6589pxb25 { to { transform: rotate(360deg); } }

.cabv2-cta[b-b6589pxb25] {
    padding: 10px 18px;
    background: var(--indigo-600);
    color: var(--white);
    text-decoration: none;
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
    transition: background 0.15s ease;
}

    .cabv2-cta:hover[b-b6589pxb25] { background: var(--indigo-800); }

.cabv2-cta--small[b-b6589pxb25] {
    padding: 6px 12px;
    font-size: 12px;
    align-self: flex-start;
    margin-top: var(--s-2);
}

/* ---- Body grid ---- */
.cabv2-body[b-b6589pxb25] {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: var(--s-4);
    align-items: start;
}

@media (max-width: 1100px) {
    .cabv2-body[b-b6589pxb25] { grid-template-columns: 1fr; }
}

/* ---- LEFT sidebar ---- */
.cabv2-side[b-b6589pxb25] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

/* Profile block */
.cabv2-profile[b-b6589pxb25] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-5);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    text-align: center;
}

.cabv2-avatar[b-b6589pxb25] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--indigo-600);
    color: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 600 28px/1 var(--font-sans);
    margin-bottom: var(--s-2);
}

.cabv2-profile-info[b-b6589pxb25] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cabv2-profile-info h3[b-b6589pxb25] {
    margin: 0;
    color: var(--ink);
    font: 600 16px/1.3 var(--font-sans);
}

.cabv2-profile-info small.mono[b-b6589pxb25] {
    color: var(--muted);
    font: 400 12px/1.3 var(--font-mono);
    word-break: break-all;
}

.cabv2-role-badge[b-b6589pxb25] {
    align-self: center;
    display: inline-flex;
    padding: 3px 10px;
    border-radius: var(--r-pill);
    font: 600 10px/1.4 var(--font-sans);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cabv2-role-badge--coral[b-b6589pxb25]   { background: var(--coral-bg);  color: var(--coral); }
.cabv2-role-badge--indigo[b-b6589pxb25]  { background: var(--indigo-50); color: var(--indigo-800); }
.cabv2-role-badge--neutral[b-b6589pxb25] { background: var(--surface);   color: var(--body); }

/* Section block */
.cabv2-section[b-b6589pxb25] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.cabv2-h[b-b6589pxb25] {
    color: var(--muted);
    font: 500 10px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Quota */
.cabv2-quota[b-b6589pxb25] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cabv2-quota-row[b-b6589pxb25] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    color: var(--body);
    font: 400 12px/1.4 var(--font-sans);
}

    .cabv2-quota-row b[b-b6589pxb25] {
        color: var(--ink);
        font: 600 13px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.cabv2-quota-bar[b-b6589pxb25] {
    height: 6px;
    background: var(--surface);
    border-radius: var(--r-pill);
    overflow: hidden;
}

    .cabv2-quota-bar > span[b-b6589pxb25] {
        display: block;
        height: 100%;
        background: var(--indigo-600);
        border-radius: var(--r-pill);
        transition: width 0.4s ease;
    }

.cabv2-stats[b-b6589pxb25] {
    list-style: none;
    margin: var(--s-2) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--s-2);
}

.cabv2-stats li[b-b6589pxb25] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: var(--s-2);
    background: var(--paper);
    border-radius: var(--r-md);
}

.cabv2-stats b[b-b6589pxb25] {
    color: var(--ink);
    font: 600 18px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.cabv2-stats small[b-b6589pxb25] {
    color: var(--muted);
    font: 400 10px/1.3 var(--font-sans);
}

/* Module limits */
.cabv2-limits[b-b6589pxb25] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.cabv2-limits li[b-b6589pxb25] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 6px 0;
    border-bottom: 1px dashed var(--border);
    color: var(--body);
    font: 400 13px/1.4 var(--font-sans);
}

    .cabv2-limits li:last-child[b-b6589pxb25] { border-bottom: none; }

    .cabv2-limits b[b-b6589pxb25] {
        color: var(--ink);
        font: 600 13px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

/* Quick actions */
.cabv2-quick[b-b6589pxb25] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cabv2-quick li[b-b6589pxb25] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-2) var(--s-3);
    border-radius: var(--r-md);
    cursor: pointer;
    transition: background 0.12s ease;
}

    .cabv2-quick li:hover[b-b6589pxb25] {
        background: var(--indigo-50);
    }

    .cabv2-quick li:hover b[b-b6589pxb25] {
        color: var(--indigo-800);
    }

.cabv2-q-ic[b-b6589pxb25] {
    width: 24px;
    height: 24px;
    border-radius: var(--r-sm);
    background: var(--surface);
    color: var(--body);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 500 14px/1 var(--font-sans);
}

.cabv2-quick b[b-b6589pxb25] {
    color: var(--ink);
    font: 500 13px/1.3 var(--font-sans);
}

/* ---- RIGHT main ---- */
.cabv2-main[b-b6589pxb25] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    min-width: 0;
}

/* Hello */
.cabv2-hello h2[b-b6589pxb25] {
    margin: 0;
    color: var(--ink);
    font: 600 28px/1.2 var(--font-sans);
    letter-spacing: -0.015em;
}

    .cabv2-hello h2 em[b-b6589pxb25] {
        font-style: normal;
        color: var(--indigo-600);
    }

.cabv2-hello p[b-b6589pxb25] {
    margin: var(--s-2) 0 0;
    color: var(--body);
    font: 400 14px/1.5 var(--font-sans);
}

/* Card */
.cabv2-card[b-b6589pxb25] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.cabv2-card-h[b-b6589pxb25] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-4) var(--s-5);
    border-bottom: 1px solid var(--border);
}

.cabv2-card-h h3[b-b6589pxb25] {
    margin: 0;
    color: var(--ink);
    font: 600 15px/1.3 var(--font-sans);
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
}

.cabv2-card-h h3 .mono[b-b6589pxb25] {
    color: var(--muted);
    font: 500 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.cabv2-link[b-b6589pxb25] {
    margin-left: auto;
    color: var(--indigo-600);
    text-decoration: none;
    font: 500 13px/1 var(--font-sans);
}

    .cabv2-link:hover[b-b6589pxb25] { color: var(--indigo-800); text-decoration: underline; }

.cabv2-card-empty[b-b6589pxb25] {
    padding: var(--s-6) var(--s-5);
    color: var(--muted);
    font: 400 13px/1.5 var(--font-sans);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-2);
}

/* Table */
.cabv2-table[b-b6589pxb25] {
    width: 100%;
    border-collapse: collapse;
}

.cabv2-table thead th[b-b6589pxb25] {
    padding: var(--s-3);
    text-align: left;
    background: var(--paper);
    color: var(--muted);
    font: 500 11px/1.3 var(--font-sans);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--border);
}

.cabv2-table tbody td[b-b6589pxb25] {
    padding: var(--s-3);
    color: var(--ink);
    font: 400 13px/1.4 var(--font-sans);
    border-bottom: 1px solid var(--border);
    vertical-align: top;
}

.cabv2-table tbody tr:last-child td[b-b6589pxb25] { border-bottom: none; }

.cabv2-table tbody td b[b-b6589pxb25] {
    color: var(--ink);
    font: 500 13px/1.3 var(--font-sans);
}

.cabv2-table tbody td small.mono[b-b6589pxb25] {
    color: var(--muted);
    font: 400 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.cabv2-num[b-b6589pxb25] {
    text-align: right;
    white-space: nowrap;
}

/* Inline badges */
.cabv2-badge[b-b6589pxb25] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
}

.cabv2-badge--coral[b-b6589pxb25]   { background: var(--coral-bg);  color: var(--coral); }
.cabv2-badge--amber[b-b6589pxb25]   { background: var(--amber-bg);  color: var(--amber); }
.cabv2-badge--forest[b-b6589pxb25]  { background: var(--forest-bg); color: var(--forest); }
.cabv2-badge--neutral[b-b6589pxb25] { background: var(--surface);   color: var(--body); }

.cabv2-badge-dot[b-b6589pxb25] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}

/* History */
.cabv2-hist[b-b6589pxb25] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cabv2-hist li[b-b6589pxb25] {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-5);
    border-bottom: 1px solid var(--border);
    cursor: pointer;
    transition: background 0.12s ease;
}

    .cabv2-hist li:last-child[b-b6589pxb25] { border-bottom: none; }
    .cabv2-hist li:hover[b-b6589pxb25] { background: var(--paper); }

.cabv2-hist-ic[b-b6589pxb25] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--indigo-50);
    color: var(--indigo-800);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 500 14px/1 var(--font-sans);
}

.cabv2-hist li > div[b-b6589pxb25] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

    .cabv2-hist li > div b[b-b6589pxb25] {
        color: var(--ink);
        font: 500 13px/1.3 var(--font-sans);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .cabv2-hist li > div small[b-b6589pxb25] {
        color: var(--muted);
        font: 400 11px/1.3 var(--font-sans);
    }

.cabv2-hist-time[b-b6589pxb25] {
    color: var(--muted);
    font: 400 11px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}


/* ---- Cabinet parity additions ---- */
.cabv2-card-h-actions[b-b6589pxb25] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
}

.cabv2-icon-btn[b-b6589pxb25] {
    width: 32px;
    height: 32px;
    border-radius: var(--r-md);
    border: 1px solid var(--border-2);
    background: var(--white);
    cursor: pointer;
    color: var(--body);
    font-size: 16px;
    line-height: 1;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.cabv2-icon-btn:hover:not(:disabled)[b-b6589pxb25] {
    background: var(--surface);
    border-color: var(--indigo-200);
    color: var(--indigo-600);
}

.cabv2-icon-btn:disabled[b-b6589pxb25] {
    opacity: 0.45;
    cursor: wait;
}

.cabv2-chips[b-b6589pxb25] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    padding: 0 var(--s-3) var(--s-3);
    border-bottom: 1px dashed var(--border);
    margin-bottom: var(--s-2);
}

.cabv2-chip[b-b6589pxb25] {
    padding: 5px 11px;
    background: var(--white);
    border: 1px solid var(--border-2);
    border-radius: var(--r-pill);
    color: var(--body);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.cabv2-chip:hover[b-b6589pxb25] { background: var(--surface); border-color: var(--indigo-200); }

.cabv2-chip b[b-b6589pxb25] {
    font-weight: 600;
    color: var(--ink);
    font-size: 11px;
}

.cabv2-chip--on[b-b6589pxb25] {
    background: var(--ink);
    color: var(--white);
    border-color: var(--ink);
}

.cabv2-chip--on b[b-b6589pxb25] { color: var(--white); }

.cabv2-row-action[b-b6589pxb25] {
    text-align: right;
    white-space: nowrap;
}

.cabv2-link--small[b-b6589pxb25] {
    font-size: 12px;
    font-weight: 500;
}

/* ── Property requests: buttons / pager / result modal (ported from legacy) ── */
button.cabv2-link[b-b6589pxb25] { border: 0; background: none; padding: 0; font-family: inherit; cursor: pointer; }
.cabv2-row-action[b-b6589pxb25] { white-space: nowrap; text-align: right; }
.cabv2-row-action .cabv2-link[b-b6589pxb25] { margin-left: 0; }
.cabv2-row-action .cabv2-link + .cabv2-link[b-b6589pxb25] { margin-left: 12px; }
.cabv2-link--mute[b-b6589pxb25] { color: var(--muted); }
.cabv2-link--mute:hover[b-b6589pxb25] { color: var(--indigo-600); }
.cabv2-link:disabled[b-b6589pxb25] { opacity: .5; cursor: default; text-decoration: none; }
.cabv2-mute[b-b6589pxb25] { color: var(--muted); }

.cabv2-pager[b-b6589pxb25] { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 12px; }
.cabv2-pager-btn[b-b6589pxb25] { border: 1px solid var(--border-2); background: var(--white); border-radius: var(--r-md); padding: 6px 12px; font: 500 12px/1 var(--font-sans); color: var(--body); cursor: pointer; }
.cabv2-pager-btn:hover:not(:disabled)[b-b6589pxb25] { border-color: var(--indigo-200); color: var(--indigo-600); }
.cabv2-pager-btn:disabled[b-b6589pxb25] { opacity: .45; cursor: default; }
.cabv2-pager-info[b-b6589pxb25] { font-size: 12px; color: var(--muted); }

.cabv2-modal-backdrop[b-b6589pxb25] { position: fixed; inset: 0; z-index: 1000; background: rgba(20, 18, 50, .42); backdrop-filter: blur(2px); }
.cabv2-modal[b-b6589pxb25] {
    position: fixed; z-index: 1001; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: min(960px, calc(100vw - 32px)); max-height: 88vh; display: flex; flex-direction: column;
    background: var(--white); border-radius: var(--r-xl); box-shadow: 0 30px 80px -24px rgba(27, 23, 80, .5); overflow: hidden;
}
.cabv2-modal-h[b-b6589pxb25] { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--border); }
.cabv2-modal-h h3[b-b6589pxb25] { margin: 0 0 3px; font: 700 17px/1.2 var(--font-sans); color: var(--ink); }
.cabv2-modal-sub[b-b6589pxb25] { font-size: 12px; color: var(--muted); }
.cabv2-modal-x[b-b6589pxb25] { border: 0; background: none; font-size: 26px; line-height: 1; color: var(--muted); cursor: pointer; padding: 0 2px; }
.cabv2-modal-x:hover[b-b6589pxb25] { color: var(--ink); }
.cabv2-modal-body[b-b6589pxb25] { overflow: auto; padding: 4px 0; }
.cabv2-table--modal[b-b6589pxb25] { font-size: 12px; }
.cabv2-table--modal thead th[b-b6589pxb25] { position: sticky; top: 0; z-index: 1; }
.cabv2-modal-f[b-b6589pxb25] { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 22px; border-top: 1px solid var(--border); }
.cabv2-btn[b-b6589pxb25] { padding: 9px 16px; border-radius: var(--r-md); border: 1px solid var(--border-2); background: var(--white); color: var(--ink); font: 600 13px/1 var(--font-sans); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.cabv2-btn--primary[b-b6589pxb25] { background: var(--indigo-600); border-color: var(--indigo-600); color: #fff; }
.cabv2-btn--primary:hover[b-b6589pxb25] { background: var(--indigo-800); }
.cabv2-btn--secondary:hover[b-b6589pxb25] { border-color: var(--indigo-200); color: var(--indigo-600); }

@media (max-width: 640px) {
    .cabv2-modal[b-b6589pxb25] { width: 100%; max-width: 100%; top: auto; bottom: 0; left: 0; transform: none; border-radius: var(--r-xl) var(--r-xl) 0 0; max-height: 90vh; }
}
/* /Components/Pages/CompanyGraph.razor.rz.scp.css */
/* CompanyGraph — full-page graph at /graph/{Edrpou}.
   52 px TabBar (AppShell) + 56 px page-header + canvas (calc rest).
   The ConnectionsTabV2 shell already handles its own internal layout
   when Embedded=false; this stylesheet is just for the page-header
   and the error/loading states above it. */

.cg-header[b-ppd4dkij9t] {
    position: sticky;
    top: 52px; /* AppShell TabBar height */
    z-index: 5;
    height: 56px;
    display: flex;
    align-items: center;
    gap: var(--s-4);
    padding: 0 var(--s-6);
    background: var(--white);
    border-bottom: 1px solid var(--border);
}

.cg-back[b-ppd4dkij9t] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px 0 8px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    color: var(--body);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
    flex-shrink: 0;
}

    .cg-back:hover[b-ppd4dkij9t] {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--indigo-200);
    }

.cg-title[b-ppd4dkij9t] {
    display: flex;
    align-items: baseline;
    gap: var(--s-3);
    min-width: 0;
    flex: 1;
}

.cg-title-eyebrow[b-ppd4dkij9t] {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    flex-shrink: 0;
}

.cg-title-name[b-ppd4dkij9t] {
    margin: 0;
    color: var(--ink);
    font: 600 16px/1.2 var(--font-sans);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.cg-title-skel[b-ppd4dkij9t] {
    display: inline-block;
    width: 220px;
    height: 14px;
    background: linear-gradient(90deg, var(--surface) 0%, var(--border) 50%, var(--surface) 100%);
    background-size: 200% 100%;
    border-radius: var(--r-sm);
    animation: cg-skel-b-ppd4dkij9t 1.2s ease-in-out infinite;
    vertical-align: middle;
}

@keyframes cg-skel-b-ppd4dkij9t {
    0%   { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.cg-title-edrpou[b-ppd4dkij9t] {
    color: var(--muted);
    font: 400 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    flex-shrink: 0;
}

.cg-actions[b-ppd4dkij9t] {
    display: inline-flex;
    gap: var(--s-2);
    flex-shrink: 0;
}

.cg-actbtn[b-ppd4dkij9t] {
    height: 32px;
    padding: 0 12px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    color: var(--body);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .cg-actbtn:hover:not(:disabled)[b-ppd4dkij9t] {
        background: var(--paper);
        color: var(--ink);
        border-color: var(--indigo-200);
    }

    .cg-actbtn:disabled[b-ppd4dkij9t] {
        opacity: 0.55;
        cursor: not-allowed;
    }

.cg-actbtn--share[b-ppd4dkij9t] { color: var(--indigo-800); border-color: var(--indigo-200); }
.cg-actbtn--share:hover[b-ppd4dkij9t] { background: var(--indigo-50); }

/* ---- Error + loading states ---- */
.cg-loading[b-ppd4dkij9t],
.cg-error[b-ppd4dkij9t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    height: calc(100vh - 52px - 56px);
    color: var(--muted);
    background: var(--paper);
    text-align: center;
    padding: var(--s-6);
}

.cg-error h3[b-ppd4dkij9t] { margin: 0; color: var(--ink); font: 600 16px/1.3 var(--font-sans); }
.cg-error p[b-ppd4dkij9t]  { margin: 0; max-width: 48ch; font: 400 13px/1.5 var(--font-sans); }
.cg-error-cta[b-ppd4dkij9t] {
    margin-top: var(--s-2);
    padding: 10px 18px;
    background: var(--indigo-600);
    color: var(--white);
    text-decoration: none;
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
}
.cg-error-cta:hover[b-ppd4dkij9t] { background: var(--indigo-800); }

.cg-spinner[b-ppd4dkij9t] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: cg-spin-b-ppd4dkij9t 0.7s linear infinite;
}

@keyframes cg-spin-b-ppd4dkij9t { to { transform: rotate(360deg); } }
/* /Components/Pages/CompanyProfileV2.razor.rz.scp.css */
.cpv2[b-layicfifym] {
    /* width + max-width + horizontal padding come from .content-container
       on the same element — keep only vertical rhythm here.
       Side-panel split mode inside tabs (Courts/Tenders/Enforcement)
       splits the inner 1440-px reading column into ~860 px data column +
       ~480 px panel column. If a future surface needs the data column
       alone at 980 px when a panel is open, swap to
       .content-container--narrow on the open-panel state. */
    padding-block: var(--s-6) var(--s-12);
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
    font-family: var(--font-sans);
    color: var(--body);
}

/* ---- Loading / error states ---- */
.cpv2-loading[b-layicfifym],
.cpv2-error[b-layicfifym] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    min-height: 60vh;
    text-align: center;
    color: var(--muted);
    font: 400 14px/1.5 var(--font-sans);
}

.cpv2-spinner[b-layicfifym] {
    width: 36px;
    height: 36px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: cpv2-spin-b-layicfifym 0.7s linear infinite;
}

@keyframes cpv2-spin-b-layicfifym {
    to { transform: rotate(360deg); }
}

.cpv2-error h3[b-layicfifym] {
    margin: 0;
    color: var(--ink);
    font: 600 20px/1.3 var(--font-sans);
}

.cpv2-error p[b-layicfifym] {
    margin: 0;
    max-width: 52ch;
}

/* ---- Breadcrumb + actions ---- */
.cpv2-bc[b-layicfifym] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
}

.cpv2-crumbs[b-layicfifym] {
    display: inline-flex;
    align-items: baseline;
    gap: var(--s-2);
    color: var(--muted);
    font: 400 12px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

    .cpv2-crumbs a[b-layicfifym] {
        color: var(--muted);
        text-decoration: none;
    }

    .cpv2-crumbs a:hover[b-layicfifym] {
        color: var(--indigo-600);
    }

.cpv2-bc-sep[b-layicfifym] { color: var(--border-2); }

.cpv2-bc-cur[b-layicfifym] { color: var(--ink); font-weight: 500; }

.cpv2-link[b-layicfifym] {
    color: var(--indigo-600);
    text-decoration: none;
    font: 500 13px/1 var(--font-sans);
}

    .cpv2-link:hover[b-layicfifym] { color: var(--indigo-800); text-decoration: underline; }

/* ---- Action toolbar (labeled: monitoring · PDF · share · refresh) ---- */
.cpv2-toolbar[b-layicfifym] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
}

.cpv2-tbtn[b-layicfifym] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border: 1px solid var(--border-2);
    border-radius: var(--r-md);
    background: var(--white);
    color: var(--ink);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .cpv2-tbtn:hover:not(:disabled)[b-layicfifym] {
        background: var(--indigo-50);
        border-color: var(--indigo-200);
        color: var(--indigo-800);
    }

    .cpv2-tbtn:disabled[b-layicfifym] { opacity: 0.55; cursor: default; }

/* Primary CTA — "Додати в моніторинг" */
.cpv2-tbtn--primary[b-layicfifym] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .cpv2-tbtn--primary:hover:not(:disabled)[b-layicfifym] {
        background: var(--indigo-800);
        border-color: var(--indigo-800);
        color: var(--white);
    }

/* Active monitoring state */
.cpv2-tbtn--on[b-layicfifym] {
    background: var(--amber-bg);
    border-color: var(--amber-border);
    color: var(--amber);
}

    .cpv2-tbtn--on:hover:not(:disabled)[b-layicfifym] {
        background: var(--amber-bg);
        border-color: var(--amber);
        color: var(--amber);
    }

/* Just-copied confirmation */
.cpv2-tbtn--ok[b-layicfifym] {
    border-color: var(--forest-border);
    color: var(--forest);
}

.cpv2-tbtn-spin[b-layicfifym] {
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    opacity: 0.7;
    animation: cpv2-spin-b-layicfifym 0.7s linear infinite;
}

/* ---- Transient action feedback toast ---- */
.cpv2-toast[b-layicfifym] {
    align-self: flex-start;
    padding: 6px 12px;
    border-radius: var(--r-md);
    background: var(--indigo-50);
    border: 1px solid var(--indigo-100);
    color: var(--indigo-800);
    font: 500 12px/1.4 var(--font-sans);
}

    .cpv2-toast--err[b-layicfifym] {
        background: var(--coral-bg);
        border-color: var(--coral-border);
        color: var(--coral);
    }

/* ---- Hero ---- */
.cpv2-hero[b-layicfifym] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--s-6);
    align-items: center;
    padding: var(--s-6) var(--s-6);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-2xl);
}

@media (max-width: 900px) {
    .cpv2-hero[b-layicfifym] { grid-template-columns: 1fr; }
}

.cpv2-hero-risk[b-layicfifym] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* ---- Full-bleed 2-column shell (Notion / Linear style) ----
   .cpv2-shell breaks out of the parent .content-container via a
   100vw width + negative-margin trick, then lays out as:
     | CompanySidebar (240 px, sticky to viewport left) | right col |
   The right column hosts the sticky bar, breadcrumb, hero, action
   toolbar, summary and the active-tab body, all centered inside
   .cpv2-shell-inner (max 1700 px) for 4K readability.

   Sidebar stays full-width on every tab; only the viewport-driven
   media-query below collapses it. */
.cpv2-shell[b-layicfifym] {
    display: grid;
    /* Explicit 1fr in minmax so the content column claims every
       remaining pixel — without minmax(0,…) the column can balloon
       past its share when grandchildren report a large natural width
       (sidebar then appears to "take the whole row" on fullscreen). */
    grid-template-columns: 240px minmax(0, 1fr);
    align-items: start;
    /* Parent (.ps-app-content) is already full viewport width via
       AppShell's flex layout — no 100vw/margin-trick needed. width:
       100% avoids the scrollbar-gutter discrepancy that 100vw causes
       on some browsers (vertical scrollbar shifts content right by
       its width). */
    width: 100%;
    background: var(--white);
    min-height: calc(100vh - var(--header-h, 52px));
}

.cpv2-shell-side[b-layicfifym] {
    position: sticky;
    top: var(--header-h, 52px);
    height: calc(100vh - var(--header-h, 52px));
    /* Critical — sidebar must never expand past its grid column.
       Without flex-shrink:0 on the wrapper, some browsers were
       letting CompanySidebar's intrinsic min-content width push
       the column wider in F11 fullscreen, swallowing the content. */
    flex-shrink: 0;
    width: 240px;
    background: var(--paper);
    border-right: 1px solid var(--border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

    /* Defeat the internal sticky/max-height/width on CompanySidebar
       so it occupies the full sticky column the shell gives it.
       (The .cs scoped styles target standalone use — inside the shell
       they fight the new positioning.) */
    .cpv2-shell-side[b-layicfifym]  .cs {
        position: static;
        width: 100%;
        max-width: 100%;
        max-height: none;
        height: 100%;
        border-right: none;
        flex: 1;
        flex-shrink: 0;
        min-height: 0;
        transition: none;
    }

.cpv2-shell-main[b-layicfifym] {
    /* min-width:0 is critical — without it a flex/grid item refuses
       to shrink below its content's intrinsic width, which on dense
       tables (Tenders / Courts / ВП) made the content column collapse
       to 0 and the sidebar stretch to fill the row. */
    min-width: 0;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}

.cpv2-shell-pad[b-layicfifym] {
    /* Roomy content gutter per spec (40 px sides + 40 px bottom). */
    padding: 0 var(--s-10, 40px) var(--s-10, 40px);
}

.cpv2-shell-inner[b-layicfifym] {
    /* Readability cap on 4K displays — content stays comfortable to
       scan even when the viewport is 2560 px wide. */
    max-width: 1700px;
    margin: 0 auto;
}

/* Loading / error states still use the centered .cpv2.content-container
   container (1440 px max) so they look balanced when the shell isn't
   rendered. */
.cpv2.content-container[b-layicfifym] {
    max-width: 1440px;
}

/* ---- Responsive ----
   Three consistent breakpoints (per spec):
     ≥ 1280 px   sidebar full 240 px (user can manually collapse to
                 64 px via the toggle inside CompanySidebar)
     1024-1279   forced 64 px icon-only column — no manual toggle
                 effect, no drawer (CompanySidebar's own drawer-mode
                 breakpoint moved to 1023 px to avoid overlap)
     < 1024 px   drawer mode — CompanySidebar's own fixed positioning
                 + ☰ fab + backdrop take over via display: contents
                 unwrap on the shell-side wrapper. */
@media (max-width: 1279px) and (min-width: 1024px) {
    .cpv2-shell[b-layicfifym] {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .cpv2-shell-side[b-layicfifym] {
        width: 64px;
    }

    .cpv2-shell-side[b-layicfifym]  .cs-tab-label,
    .cpv2-shell-side[b-layicfifym]  .cs-group-label,
    .cpv2-shell-side[b-layicfifym]  .cs-collapse span {
        display: none;
    }

    .cpv2-shell-side[b-layicfifym]  .cs-tab {
        justify-content: center;
        padding: 8px;
        gap: 0;
    }

    .cpv2-shell-side[b-layicfifym]  .cs-tab-count {
        position: absolute;
        top: 4px;
        right: 6px;
        min-width: 0;
        width: 8px;
        height: 8px;
        padding: 0;
        font-size: 0;
        border-radius: 50%;
    }

    /* Group separator when shell forces icon-only — labels are
       hidden by media query (not by .cs--collapsed class), so we
       re-add the hairline rule from CompanySidebar.razor.css. */
    .cpv2-shell-side[b-layicfifym]  .cs-group + .cs-group {
        margin-top: var(--s-2, 8px);
        padding-top: var(--s-2, 8px);
        border-top: 1px solid var(--border);
    }

    /* Floating tooltip on hover (matches the user-driven .cs--collapsed
       tooltip rule inside CompanySidebar.razor.css). */
    .cpv2-shell-side[b-layicfifym]  .cs-tab {
        position: relative;
    }

    .cpv2-shell-side[b-layicfifym]  .cs-tab::after {
        content: attr(data-tooltip);
        position: absolute;
        left: calc(100% + 12px);
        top: 50%;
        transform: translateY(-50%);
        padding: 6px 10px;
        border-radius: var(--r-md);
        background: var(--ink);
        color: var(--white);
        font: 500 12px/1.4 var(--font-sans);
        white-space: nowrap;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.12s ease;
        z-index: 100;
        box-shadow: var(--shadow-md);
    }

    .cpv2-shell-side[b-layicfifym]  .cs-tab:hover::after {
        opacity: 1;
        transition-delay: 300ms;
    }
}

/* Phone / small tablet < 1024 px: drawer mode.
   The CompanySidebar's own @media (max-width: 1023px) styles take
   over (position: fixed, ☰ fab, backdrop). The shell-side wrapper
   becomes display: contents so its CSS positioning doesn't trap
   the fixed-positioned .cs inside a grid column. */
@media (max-width: 1023px) {
    .cpv2-shell[b-layicfifym] {
        grid-template-columns: minmax(0, 1fr);
    }

    .cpv2-shell-side[b-layicfifym] {
        display: contents;
        position: static;
        width: auto;
        height: auto;
        background: none;
        border-right: none;
        overflow: visible;
        flex-shrink: initial;
    }

    /* Defeat the desktop-only ::deep .cs override so CompanySidebar's
       drawer rules win again (position: fixed; transform off-screen). */
    .cpv2-shell-side[b-layicfifym]  .cs {
        position: fixed;
        width: 280px;
        height: 100vh;
        max-height: none;
        flex: none;
        min-height: 0;
        border-right: 1px solid var(--border);
    }

    .cpv2-shell-pad[b-layicfifym] {
        padding: 0 var(--s-4, 16px) var(--s-6, 24px);
    }
}

/* Phone < 768 px — same drawer mode, slimmer content padding. */
/* Mobile back-bar — hidden on desktop, a sticky «← {company}» row on a phone
   so the detail tabs reached from /m/company/{id} have a way back to the card. */
.cpv2-mback[b-layicfifym] { display: none; }

@media (max-width: 767px) {
    .cpv2-shell-pad[b-layicfifym] {
        padding: 0 var(--s-3, 12px) var(--s-5, 20px);
    }

    /* The breadcrumb «Дашборд / Пошук / {company}» duplicates the ← back-bar +
       the company name on a phone — drop it; the back-bar carries both. */
    .cpv2-bc[b-layicfifym] { display: none; }

    .cpv2-mback[b-layicfifym] {
        position: sticky;
        top: 0;
        z-index: 30;
        display: flex;
        align-items: center;
        gap: 8px;
        /* Full-bleed: the bottom border must reach BOTH edges. Explicit
           width + box-sizing + button reset so the <button> UA styling can't
           shrink-to-fit or add stray side borders. */
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: calc(10px + env(safe-area-inset-top, 0px)) 12px 10px;
        border: 0;
        border-bottom: 1px solid var(--border, #e7e3da);
        background: var(--paper, #faf8f3);
        text-align: left;
        text-decoration: none;
        color: var(--ink, #1a1830);
        font: 600 14px/1.2 var(--font-sans, inherit);
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
    }
    .cpv2-mback:active[b-layicfifym] { background: var(--surface, #f0ece4); }

    .cpv2-mback-ic[b-layicfifym] {
        flex: 0 0 auto;
        font-size: 18px;
        line-height: 1;
        color: var(--indigo-600, #5B57DB);
    }
    .cpv2-mback-txt[b-layicfifym] {
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* Legacy class kept so any stray reference doesn't break — the new
   layout uses the shell grid above instead of this flex row. */
.cpv2-main[b-layicfifym] {
    display: contents;
}

/* ---- Content ---- */
.cpv2-content[b-layicfifym] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
}

/* ---- Tab stub (non-redesigned sections) ---- */
.cpv2-stub[b-layicfifym] {
    background: var(--white);
    border: 1px dashed var(--border-2);
    border-radius: var(--r-xl);
    padding: var(--s-12);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-3);
}

    .cpv2-stub h3[b-layicfifym] {
        margin: 0;
        font: 600 18px/1.3 var(--font-sans);
        color: var(--ink);
    }

    .cpv2-stub p[b-layicfifym] {
        margin: 0;
        max-width: 56ch;
        color: var(--body);
        font: 400 14px/1.5 var(--font-sans);
    }

/* ---- Inline button ---- */
.cpv2-btn[b-layicfifym] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: 10px 18px;
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.cpv2-btn--primary[b-layicfifym] {
    background: var(--indigo-600);
    color: var(--white);
}

    .cpv2-btn--primary:hover[b-layicfifym] { background: var(--indigo-800); color: var(--white); }

.cpv2-btn--secondary[b-layicfifym] {
    background: var(--white);
    color: var(--ink);
    border: 1px solid var(--border-2);
}

    .cpv2-btn--secondary:hover[b-layicfifym] { background: var(--surface); border-color: var(--indigo-200); }

.cpv2-error-actions[b-layicfifym] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    align-items: center;
    justify-content: center;
    margin-top: var(--s-4);
}

/* ---- Sticky compact bar ----
   Styles moved to the GLOBAL wwwroot/css/company-sticky.css. The bar is
   rendered through AppShell's SectionOutlet, where this component's scoped
   CSS does not reliably reach it — so its styles must be global. */
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.dash[b-0itkcr8q6s] {
    /* width + max-width + horizontal padding come from .content-container
       on the same element — keep only vertical rhythm here. */
    padding-block: var(--s-6) var(--s-10);
    display: flex;
    flex-direction: column;
    gap: var(--s-6);
    font-family: var(--font-sans);
    color: var(--body);
}

/* ---- Hello strip ---- */
.dash-hello[b-0itkcr8q6s] {
    display: flex;
    align-items: flex-start;
    gap: var(--s-6);
    justify-content: space-between;
}

.dash-hello-h[b-0itkcr8q6s] {
    margin: 0;
    font: 600 32px/1.1 var(--font-sans);
    letter-spacing: -0.015em;
    color: var(--ink);
}

    .dash-hello-h em[b-0itkcr8q6s] {
        font-style: normal;
        color: var(--indigo-600);
    }

.dash-hello-sub[b-0itkcr8q6s] {
    margin: var(--s-2) 0 0;
    color: var(--body);
    font: 400 14px/1.5 var(--font-sans);
    max-width: 64ch;
}

.dash-hello-actions[b-0itkcr8q6s] {
    display: inline-flex;
    gap: var(--s-2);
    flex-shrink: 0;
}

.dash-btn[b-0itkcr8q6s] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: 10px 16px;
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.dash-btn--primary[b-0itkcr8q6s] {
    background: var(--indigo-600);
    color: var(--white);
}

    .dash-btn--primary:hover[b-0itkcr8q6s] {
        background: var(--indigo-800);
    }

.dash-btn--secondary[b-0itkcr8q6s] {
    background: var(--white);
    color: var(--ink);
    border-color: var(--border-2);
}

    .dash-btn--secondary:hover[b-0itkcr8q6s] {
        background: var(--surface);
    }

.dash-btn--ghost[b-0itkcr8q6s] {
    background: transparent;
    color: var(--indigo-600);
    border-color: transparent;
    padding-inline: 8px;
}

    .dash-btn--ghost:hover[b-0itkcr8q6s] {
        background: var(--indigo-50);
        color: var(--indigo-800);
    }

/* ---- KPI row ---- */
.dash-kpi[b-0itkcr8q6s] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--s-4);
}

@media (max-width: 1400px) {
    .dash-kpi[b-0itkcr8q6s] { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1100px) {
    .dash-kpi[b-0itkcr8q6s] { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .dash-kpi[b-0itkcr8q6s] { grid-template-columns: 1fr; }
}

.dash-kpi-coral-note[b-0itkcr8q6s] {
    color: var(--coral);
    font: 600 11px/1.3 var(--font-sans);
}

/* Inline KPI footer pieces (sparkline / legend / progress bar). */
.dash-legend[b-0itkcr8q6s] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: var(--s-3);
    color: var(--muted);
    font: 400 12px/1.4 var(--font-sans);
}

.dash-legend-dot[b-0itkcr8q6s] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.dash-legend-dot--coral[b-0itkcr8q6s]  { background: var(--coral); }
.dash-legend-dot--amber[b-0itkcr8q6s]  { background: var(--amber); }
.dash-legend-dot--forest[b-0itkcr8q6s] { background: var(--forest); }

.dash-bar[b-0itkcr8q6s] {
    height: 6px;
    background: var(--surface);
    border-radius: var(--r-pill);
    overflow: hidden;
}

    .dash-bar span[b-0itkcr8q6s] {
        display: block;
        height: 100%;
        background: var(--indigo-600);
        border-radius: var(--r-pill);
        transition: width 0.4s ease;
    }

/* KPI footer row with caption + inline CTA (e.g. "Підняти ліміт"). */
.dash-kpi-footrow[b-0itkcr8q6s] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-2);
    margin-top: 6px;
}

.dash-kpi-cta[b-0itkcr8q6s] {
    color: var(--coral);
    font: 600 12px/1 var(--font-sans);
    text-decoration: none;
    white-space: nowrap;
}

    .dash-kpi-cta:hover[b-0itkcr8q6s] {
        text-decoration: underline;
    }

/* ---- Two columns ---- */
.dash-cols[b-0itkcr8q6s] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: var(--s-4);
    align-items: start;
}

@media (max-width: 1100px) {
    .dash-cols[b-0itkcr8q6s] { grid-template-columns: 1fr; }
}

.dash-cols-side[b-0itkcr8q6s] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
}

.dash-card[b-0itkcr8q6s] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.dash-card-head[b-0itkcr8q6s] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-5);
    border-bottom: 1px solid var(--border);
}

.dash-card-title[b-0itkcr8q6s] {
    margin: 0;
    font: 600 16px/1.3 var(--font-sans);
    color: var(--ink);
}

.dash-card-meta[b-0itkcr8q6s] {
    margin-left: auto;
    color: var(--muted);
    font: 500 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.dash-card-body[b-0itkcr8q6s] {
    padding: var(--s-5);
}

/* ---- Quick actions (shown when the signal feed is empty) ---- */
.dash-quick[b-0itkcr8q6s] {
    margin-top: var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    padding: var(--s-5);
}

.dash-quick-title[b-0itkcr8q6s] {
    margin: 0 0 var(--s-4);
    font: 600 16px/1.3 var(--font-sans);
    color: var(--ink);
}

.dash-quick-grid[b-0itkcr8q6s] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--s-3);
}

@media (max-width: 600px) {
    .dash-quick-grid[b-0itkcr8q6s] { grid-template-columns: 1fr; }
}

.dash-quick-item[b-0itkcr8q6s] {
    display: flex;
    align-items: flex-start;
    gap: var(--s-3);
    padding: var(--s-4);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    background: var(--white);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    font-family: var(--font-sans);
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

    .dash-quick-item:hover[b-0itkcr8q6s] {
        border-color: var(--indigo-200);
        background: var(--paper);
        box-shadow: var(--shadow-sm);
    }

    .dash-quick-item:focus-visible[b-0itkcr8q6s] {
        outline: none;
        box-shadow: var(--shadow-glow);
    }

.dash-quick-ic[b-0itkcr8q6s] {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: var(--r-md);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--indigo-50);
    color: var(--indigo-800);
    font: 600 18px/1 var(--font-sans);
}

.dash-quick-text[b-0itkcr8q6s] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

    .dash-quick-text b[b-0itkcr8q6s] {
        color: var(--ink);
        font: 600 14px/1.3 var(--font-sans);
    }

    .dash-quick-text small[b-0itkcr8q6s] {
        color: var(--muted);
        font: 400 12px/1.4 var(--font-sans);
    }

/* "Скоро" actions — present in the grid but not yet wired to a page. */
.dash-quick-item--soon[b-0itkcr8q6s] {
    cursor: default;
}

    .dash-quick-item--soon:hover[b-0itkcr8q6s] {
        border-color: var(--border);
        background: var(--white);
        box-shadow: none;
    }

    .dash-quick-item--soon .dash-quick-ic[b-0itkcr8q6s] {
        background: var(--surface);
        color: var(--muted);
        font-size: 13px;
    }

.dash-quick-soon[b-0itkcr8q6s] {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: var(--r-pill);
    background: var(--surface);
    color: var(--muted);
    font: 600 9px/1.7 var(--font-sans);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: middle;
}

/* ---- Skeleton loaders ----
   Visible during the initial 6-parallel-repo-fetch on the dashboard
   so a fresh login doesn't look like "you have nothing" while the
   KPIs and feed are still resolving. Each skeleton block uses a
   shimmer animation cycling indigo-tinted neutrals. */

@keyframes dash-shimmer-b-0itkcr8q6s {
    0%   { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.skeleton[b-0itkcr8q6s] {
    display: block;
    background: linear-gradient(
        90deg,
        var(--surface) 0%,
        var(--white) 50%,
        var(--surface) 100%);
    background-size: 200% 100%;
    animation: dash-shimmer-b-0itkcr8q6s 1.6s ease-in-out infinite;
    border-radius: 6px;
    /* Subtle anti-flicker — the shimmer's "light" stop should sit on
       top of a stable surface tint, not transparent white that bleeds
       through cards. */
    opacity: 0.85;
}

.skeleton--label[b-0itkcr8q6s]  { width: 60%;  height: 11px; margin-bottom: 12px; border-radius: 4px; }
.skeleton--value[b-0itkcr8q6s]  { width: 80px; height: 36px; margin-bottom: 14px; }
.skeleton--footer[b-0itkcr8q6s] { width: 70%;  height: 12px; border-radius: 4px; }
.skeleton--title[b-0itkcr8q6s]  { width: 140px; height: 14px; }
.skeleton--meta[b-0itkcr8q6s]   { width: 60px;  height: 10px; border-radius: 4px; }
.skeleton--line[b-0itkcr8q6s]   { width: 100%; height: 11px; border-radius: 4px; }
.skeleton--line-wide[b-0itkcr8q6s]   { width: 70%; }
.skeleton--line-narrow[b-0itkcr8q6s] { width: 40%; }
.skeleton--dot[b-0itkcr8q6s]    { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 6px; }
.skeleton--avatar[b-0itkcr8q6s] { width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; }
.skeleton--donut[b-0itkcr8q6s] {
    width: 168px;
    height: 168px;
    border-radius: 50%;
    margin: 12px auto;
}

/* KPI tile skeleton — matches .ps-kpi dimensions so the page doesn't
   re-flow when the actual tiles render. */
.dash-skel--kpi[b-0itkcr8q6s] {
    display: flex;
    flex-direction: column;
    padding: var(--s-4) var(--s-5);
    background: var(--white);
    border: 1px solid var(--border-2);
    border-radius: var(--r-lg);
    min-height: 132px;
}

/* Feed skeleton — vertical column of rows mimicking SignalFeed. */
.dash-skel-feed[b-0itkcr8q6s] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-4);
    background: var(--white);
    border: 1px solid var(--border-2);
    border-radius: var(--r-lg);
}

.dash-skel-row[b-0itkcr8q6s] {
    display: grid;
    grid-template-columns: 12px 1fr 60px;
    gap: var(--s-3);
    align-items: start;
    padding-block: var(--s-2);
    border-bottom: 1px solid var(--border);
}

    .dash-skel-row:last-child[b-0itkcr8q6s] { border-bottom: none; }

.dash-skel-row-text[b-0itkcr8q6s] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Side-column skeleton card — same chrome as .dash-card. */
.dash-skel-card[b-0itkcr8q6s] { padding: var(--s-4); }

.dash-skel-donut[b-0itkcr8q6s] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.dash-skel-recents[b-0itkcr8q6s] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.dash-skel-recent-row[b-0itkcr8q6s] {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: var(--s-3);
    align-items: center;
}

.dash-skel-recent-text[b-0itkcr8q6s] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Hello-line "Підвантажуємо ваш огляд…" — slightly muted vs the
   resolved summary so it reads as «status» not «punchline». */
.dash-hello-sub--loading[b-0itkcr8q6s] {
    color: var(--muted);
    font-style: italic;
}

/* Error state surfaced when the parallel repo reads fault. */
.dash-state[b-0itkcr8q6s] {
    padding: var(--s-8);
    background: var(--white);
    border: 1px solid var(--border-2);
    border-radius: var(--r-lg);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-2);
    text-align: center;
}

.dash-state-ic[b-0itkcr8q6s] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--coral-bg);
    color: var(--coral);
    font: 700 16px/1 var(--font-sans);
    border: 1px solid var(--coral-border);
}

.dash-state h3[b-0itkcr8q6s] {
    margin: var(--s-2) 0 0;
    font: 600 16px/1.3 var(--font-sans);
    color: var(--ink);
}

.dash-state p[b-0itkcr8q6s] {
    margin: 0;
    font: 400 13px/1.5 var(--font-sans);
    color: var(--muted);
    max-width: 360px;
}
/* /Components/Pages/DeclarationsProfileV2.razor.rz.scp.css */
/* DeclarationsProfileV2 — page-only styles.
   The bulk of .ps-dc-* classes now live in wwwroot/css/declarations.css
   (global) so DeclarationsTabV2 inside CompanyProfileV2 can reuse them. */

.ps-dc[b-9gf9bfkd14] {
    /* width + max-width + horizontal padding come from .content-container
       on the same element — keep only vertical rhythm here. */
    padding-block: var(--s-6) var(--s-12);
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
    font-family: var(--font-sans);
    color: var(--body);
}

/* ---- Start screen (only the standalone page renders this) ---- */
.ps-dc-start[b-9gf9bfkd14] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-8);
    padding: var(--s-8) 0;
}

.ps-dc-start-h[b-9gf9bfkd14] {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    align-items: center;
    max-width: 60ch;
}

.ps-dc-start-title[b-9gf9bfkd14] {
    margin: var(--s-2) 0 0;
    font: 700 36px/1.1 var(--font-sans);
    letter-spacing: -0.02em;
    color: var(--ink);
}

    .ps-dc-start-title em[b-9gf9bfkd14] {
        font-style: normal;
        color: var(--indigo-600);
    }

.ps-dc-start-lede[b-9gf9bfkd14] {
    margin: 0;
    color: var(--body);
    font: 400 16px/1.6 var(--font-sans);
    max-width: 56ch;
}
/* /Components/Pages/LandingV2.razor.rz.scp.css */
/* LandingV2 — slide 01. Uses handoff tokens directly; no
   intermediate redesign.css (this is a full-bleed marketing
   surface, not a product screen). */

.lv2[b-np41q149ip] {
    width: 100%;
    color: var(--ink);
    font-family: var(--font-sans);
}

/* ============================================================
   HERO
   ============================================================ */
.lv2-hero[b-np41q149ip] {
    background: var(--paper);
    padding: 72px 32px 80px;
    position: relative;
    overflow: hidden;
}
.lv2-hero[b-np41q149ip]::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -120px;
    width: 480px;
    height: 480px;
    background: radial-gradient(circle, rgba(91, 87, 219, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

.lv2-hero-inner[b-np41q149ip] {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 72px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.lv2-kicker[b-np41q149ip] {
    display: inline-block;
    font-size: 12px;
    letter-spacing: 0.14em;
    color: var(--indigo-600);
    margin-bottom: 18px;
}

.lv2-h1[b-np41q149ip] {
    font-size: 64px;
    line-height: 1.02;
    letter-spacing: -0.03em;
    font-weight: 700;
    margin: 0 0 22px;
    color: var(--ink);
}
.lv2-h1 em[b-np41q149ip] {
    color: var(--indigo-600);
    font-style: italic;
    font-weight: 700;
}

.lv2-sub[b-np41q149ip] {
    font-size: 20px;
    line-height: 1.5;
    color: var(--body);
    margin: 0 0 36px;
    max-width: 560px;
}

.lv2-search[b-np41q149ip] {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 8px 8px 8px 18px;
    background: #fff;
    border: 1.5px solid var(--ink);
    border-radius: 14px;
    box-shadow: 0 12px 32px -16px rgba(27, 23, 80, 0.25);
    margin-bottom: 18px;
}
.lv2-search-icon[b-np41q149ip] { font-size: 22px; color: var(--muted); }
.lv2-search-input[b-np41q149ip] {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    font-family: var(--font-sans);
    font-size: 16px;
    color: var(--ink);
    padding: 12px 0;
}
.lv2-search-input[b-np41q149ip]::placeholder { color: var(--muted); }
.lv2-search-btn[b-np41q149ip] {
    background: var(--indigo-600);
    color: #fff;
    border: 0;
    border-radius: 10px;
    padding: 11px 22px;
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}
.lv2-search-btn:hover[b-np41q149ip] { background: #4a47bf; }

.lv2-hints[b-np41q149ip] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 36px;
}
.lv2-hints .mono[b-np41q149ip] { color: var(--muted); margin-right: 6px; }
.lv2-chip[b-np41q149ip] {
    background: transparent;
    border: 1px solid var(--border-2);
    color: var(--body);
    padding: 5px 12px;
    border-radius: 100px;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.lv2-chip:hover[b-np41q149ip] {
    border-color: var(--indigo-600);
    color: var(--indigo-600);
}

.lv2-proof[b-np41q149ip] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding-top: 28px;
    border-top: 1px solid var(--border);
}
.lv2-proof-item[b-np41q149ip] { display: flex; flex-direction: column; gap: 4px; }
.lv2-proof-num[b-np41q149ip] {
    font-size: 28px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -0.02em;
    font-family: var(--font-mono);
}
.lv2-proof-label[b-np41q149ip] {
    font-size: 12px;
    color: var(--muted);
    line-height: 1.4;
}

/* ---- right-side card + ticker ---- */
.lv2-hero-right[b-np41q149ip] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.lv2-card[b-np41q149ip] {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 30px 60px -30px rgba(27, 23, 80, 0.18);
}
.lv2-card-head[b-np41q149ip] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
    background: var(--paper);
}
.lv2-card-head .mono[b-np41q149ip] { color: var(--muted); letter-spacing: 0.1em; font-size: 11px; }
.lv2-card-body[b-np41q149ip] { padding: 20px; }
.lv2-card-row[b-np41q149ip] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
}
.lv2-card-name[b-np41q149ip] {
    font-size: 19px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -0.012em;
    margin-bottom: 4px;
}
.lv2-card-edr[b-np41q149ip] {
    font-size: 12px;
    color: var(--muted);
    font-family: var(--font-mono);
}
.lv2-card-meter[b-np41q149ip] { position: relative; width: 80px; height: 80px; flex-shrink: 0; }
.lv2-card-meter-val[b-np41q149ip] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    color: var(--amber);
    font-family: var(--font-mono);
}

.lv2-card-flags[b-np41q149ip] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}
.lv2-badge[b-np41q149ip] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 500;
}
.lv2-badge--green[b-np41q149ip]   { background: var(--forest-bg); color: var(--forest); }
.lv2-badge--amber[b-np41q149ip]   { background: var(--amber-bg);  color: var(--amber); }
.lv2-badge--neutral[b-np41q149ip] { background: var(--surface);   color: var(--muted); }
.lv2-dot[b-np41q149ip] { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

.lv2-card-divider[b-np41q149ip] {
    height: 1px;
    background: var(--border);
    margin: 8px -4px 14px;
}

.lv2-card-mini[b-np41q149ip] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 0;
}
.lv2-card-mini div[b-np41q149ip] { display: flex; flex-direction: column; gap: 2px; }
.lv2-card-mini dt[b-np41q149ip] {
    font-size: 10px;
    letter-spacing: 0.12em;
    color: var(--muted);
    font-family: var(--font-mono);
    margin: 0;
}
.lv2-card-mini dd[b-np41q149ip] {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}
.lv2-card-mini dd.mono[b-np41q149ip] { font-family: var(--font-mono); font-weight: 500; }

.lv2-ticker[b-np41q149ip] {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 14px 18px;
}
.lv2-ticker-h[b-np41q149ip] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    letter-spacing: 0.1em;
    color: var(--muted);
    padding-bottom: 10px;
    border-bottom: 1px dashed var(--border);
    margin-bottom: 10px;
    text-transform: uppercase;
}
.lv2-ticker-pulse[b-np41q149ip] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--forest);
    box-shadow: 0 0 0 3px rgba(58, 122, 46, 0.18);
    animation: lv2-pulse-b-np41q149ip 2s infinite;
}
@keyframes lv2-pulse-b-np41q149ip {
    0%, 100% { box-shadow: 0 0 0 3px rgba(58, 122, 46, 0.18); }
    50%      { box-shadow: 0 0 0 6px rgba(58, 122, 46, 0.04); }
}
.lv2-ticker-row[b-np41q149ip] {
    display: grid;
    grid-template-columns: 50px 1fr auto;
    gap: 10px;
    padding: 6px 0;
    font-size: 13px;
    color: var(--body);
    line-height: 1.4;
    align-items: baseline;
}
.lv2-ticker-row.dim[b-np41q149ip] { opacity: 0.55; }
.lv2-ticker-row .mono[b-np41q149ip] { font-size: 11px; color: var(--muted); }
.lv2-ticker-text[b-np41q149ip] { color: var(--ink); font-weight: 500; }
.lv2-ticker-meta[b-np41q149ip] { font-size: 11px; color: var(--muted); text-align: right; }

/* ============================================================
   DATA SOURCES + SECURITY  (honest trust block — no client logos)
   ============================================================ */
.lv2-trusted[b-np41q149ip] {
    padding: 56px 32px;
    background: var(--surface);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    text-align: center;
}
.lv2-trusted-label[b-np41q149ip] {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 0.14em;
    color: var(--muted);
    margin-bottom: 28px;
}
.lv2-reg-chips[b-np41q149ip] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    max-width: 760px;
    margin: 0 auto;
}
.lv2-reg-chip[b-np41q149ip] {
    font-size: 13px;
    padding: 8px 16px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 100px;
    color: var(--body);
}
.lv2-trust-divider[b-np41q149ip] {
    width: 100%;
    max-width: 480px;
    height: 1px;
    background: var(--border);
    margin: 28px auto 0;
}
.lv2-trust-security[b-np41q149ip] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    color: var(--muted);
}
.lv2-trust-security span:not(:last-child)[b-np41q149ip]::after {
    content: "·";
    margin: 0 12px;
    opacity: 0.5;
}

/* ============================================================
   "HOW IT WORKS"
   ============================================================ */
.lv2-how[b-np41q149ip] {
    padding: 96px 32px;
    background: var(--paper);
}
.lv2-section-h[b-np41q149ip] {
    max-width: 720px;
    margin: 0 auto 48px;
    text-align: center;
}
.lv2-eyebrow[b-np41q149ip] {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 0.14em;
    color: var(--indigo-600);
    margin-bottom: 12px;
}
.lv2-section-h h2[b-np41q149ip] {
    font-size: 44px;
    line-height: 1.08;
    letter-spacing: -0.02em;
    font-weight: 700;
    margin: 0;
    color: var(--ink);
}

.lv2-how-grid[b-np41q149ip] {
    max-width: 1080px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.lv2-how-step[b-np41q149ip] {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
}
.lv2-how-step[b-np41q149ip]::before {
    content: '';
    position: absolute;
    left: 28px;
    right: 28px;
    top: 0;
    height: 3px;
    background: var(--indigo-600);
    border-radius: 0 0 2px 2px;
}
.lv2-how-num[b-np41q149ip] {
    font-size: 13px;
    color: var(--indigo-600);
    letter-spacing: 0.14em;
    font-family: var(--font-mono);
}
.lv2-how-step h3[b-np41q149ip] {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.012em;
    margin: 0;
    color: var(--ink);
}
.lv2-how-step p[b-np41q149ip] {
    font-size: 15px;
    line-height: 1.55;
    color: var(--body);
    margin: 0;
}

/* ============================================================
   FEATURE GRID
   ============================================================ */
.lv2-features[b-np41q149ip] {
    padding: 96px 32px;
    background: var(--surface);
    border-top: 1px solid var(--border);
}
.lv2-feature-grid[b-np41q149ip] {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.lv2-feature[b-np41q149ip] {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 26px 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: border-color 0.15s, transform 0.2s;
}
.lv2-feature:hover[b-np41q149ip] {
    border-color: var(--indigo-200);
    transform: translateY(-2px);
}
.lv2-feature--wide[b-np41q149ip] { grid-column: span 2; }
.lv2-feature-ic[b-np41q149ip] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--indigo-50);
    color: var(--indigo-600);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.lv2-feature h3[b-np41q149ip] {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    color: var(--ink);
}
.lv2-feature p[b-np41q149ip] {
    font-size: 14px;
    color: var(--body);
    line-height: 1.55;
    margin: 0;
}

/* ============================================================
   CTA
   ============================================================ */
.lv2-cta[b-np41q149ip] {
    padding: 96px 32px;
    background: var(--ink);
    color: #fff;
}
.lv2-cta-inner[b-np41q149ip] {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}
.lv2-cta h2[b-np41q149ip] {
    font-size: 44px;
    line-height: 1.08;
    letter-spacing: -0.02em;
    font-weight: 700;
    margin: 0 0 14px;
    color: #fff;
}
.lv2-cta p[b-np41q149ip] {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.6;
    margin: 0 0 32px;
}
.lv2-cta-row[b-np41q149ip] {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}
.lv2-cta-row .ph-btn-ghost[b-np41q149ip] {
    color: rgba(255, 255, 255, 0.85);
}
.lv2-cta-row .ph-btn-ghost:hover[b-np41q149ip] {
    color: #fff;
}

/* ============================================================
   FOOTER
   ============================================================ */
.lv2-footer[b-np41q149ip] {
    padding: 32px;
    background: var(--paper);
    border-top: 1px solid var(--border);
}
.lv2-footer-inner[b-np41q149ip] {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}
.lv2-footer-nav[b-np41q149ip] {
    display: flex;
    gap: 22px;
}
.lv2-footer-nav a[b-np41q149ip] {
    color: var(--body);
    font-size: 14px;
    text-decoration: none;
}
.lv2-footer-nav a:hover[b-np41q149ip] { color: var(--indigo-600); }
.lv2-footer-copy[b-np41q149ip] { color: var(--muted); }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1024px) {
    .lv2-hero-inner[b-np41q149ip] { grid-template-columns: 1fr; gap: 56px; }
    .lv2-h1[b-np41q149ip] { font-size: 52px; }
    .lv2-how-grid[b-np41q149ip],
    .lv2-feature-grid[b-np41q149ip] { grid-template-columns: repeat(2, 1fr); }
    .lv2-feature--wide[b-np41q149ip] { grid-column: span 2; }
}

@media (max-width: 720px) {
    .lv2-hero[b-np41q149ip] { padding: 48px 20px 56px; }
    .lv2-h1[b-np41q149ip] { font-size: 38px; }
    .lv2-sub[b-np41q149ip] { font-size: 17px; }
    .lv2-search[b-np41q149ip] { grid-template-columns: 24px 1fr; padding: 8px 14px; }
    .lv2-search-btn[b-np41q149ip] {
        grid-column: 1 / -1;
        width: 100%;
        padding: 12px 0;
    }
    .lv2-proof[b-np41q149ip] { grid-template-columns: 1fr; gap: 14px; }
    .lv2-how[b-np41q149ip], .lv2-features[b-np41q149ip] { padding: 64px 20px; }
    .lv2-section-h h2[b-np41q149ip] { font-size: 32px; }
    .lv2-how-grid[b-np41q149ip],
    .lv2-feature-grid[b-np41q149ip] { grid-template-columns: 1fr; }
    .lv2-feature--wide[b-np41q149ip] { grid-column: span 1; }
    .lv2-cta[b-np41q149ip] { padding: 64px 20px; }
    .lv2-cta h2[b-np41q149ip] { font-size: 32px; }
}

/* ---- Brand mark (mirrors PublicShell.razor.css) ----
   Blazor scoped CSS doesn't cascade across the layout/page
   boundary, so the .ph-brand-mark / .ph-brand-name rules
   need to be duplicated here for the mock-card head and the
   footer logo to actually render with the canonical logomark. */
.ph-brand-mark[b-np41q149ip] {
    width: 22px;
    height: 22px;
    background: url('/images/Prism Logomark Gradient.svg') center / contain no-repeat;
    display: inline-block;
    flex-shrink: 0;
}

.ph-brand-name em[b-np41q149ip] {
    color: var(--indigo-600);
    font-style: normal;
    font-weight: 700;
}
/* /Components/Pages/MonitoringV2.razor.rz.scp.css */
.monv2[b-ckkyann3mk] {
    /* width + max-width + horizontal padding come from .content-container
       on the same element — keep only vertical rhythm here. */
    padding-block: var(--s-6) var(--s-12);
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
    color: var(--body);
}

/* ---- Loading / empty ---- */
.monv2-loading[b-ckkyann3mk],
.monv2-empty[b-ckkyann3mk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--s-3);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.monv2-spinner[b-ckkyann3mk] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: monv2-spin-b-ckkyann3mk 0.7s linear infinite;
}

@keyframes monv2-spin-b-ckkyann3mk { to { transform: rotate(360deg); } }

.monv2-empty h3[b-ckkyann3mk] { margin: 0; color: var(--ink); font: 600 18px/1.3 var(--font-sans); }
.monv2-empty p[b-ckkyann3mk]  { margin: 0; max-width: 56ch; font: 400 14px/1.5 var(--font-sans); }

/* ---- Top bar ---- */
.monv2-bar[b-ckkyann3mk] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--s-4);
}

@media (max-width: 900px) {
    .monv2-bar[b-ckkyann3mk] { grid-template-columns: 1fr; }
    .monv2-add[b-ckkyann3mk] { width: 100%; }
}

.monv2-bar-info h2[b-ckkyann3mk] {
    margin: 0;
    color: var(--ink);
    font: 600 28px/1.2 var(--font-sans);
    letter-spacing: -0.015em;
}

.monv2-bar-info p[b-ckkyann3mk] {
    margin: var(--s-1) 0 0;
    color: var(--body);
    font: 400 14px/1.5 var(--font-sans);
}

.monv2-add[b-ckkyann3mk] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: 4px;
    background: var(--white);
    border: 1px solid var(--border-2);
    border-radius: var(--r-pill);
    min-width: 360px;
}

.monv2-add:focus-within[b-ckkyann3mk] {
    border-color: var(--indigo-600);
    box-shadow: var(--shadow-glow);
}

.monv2-add-input[b-ckkyann3mk] {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    padding: 8px var(--s-3);
    font: 400 14px/1 var(--font-sans);
    color: var(--ink);
    outline: none;
}

    .monv2-add-input[b-ckkyann3mk]::placeholder { color: var(--muted); }

.monv2-btn[b-ckkyann3mk] {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: 1px solid transparent;
    background: var(--white);
    color: var(--body);
    border-radius: var(--r-pill);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

    .monv2-btn:disabled[b-ckkyann3mk] { opacity: 0.6; cursor: not-allowed; }
    .monv2-btn:hover:not(:disabled)[b-ckkyann3mk] { background: var(--surface); }

.monv2-btn--primary[b-ckkyann3mk] {
    background: var(--indigo-600);
    color: var(--white);
}

    .monv2-btn--primary:hover:not(:disabled)[b-ckkyann3mk] { background: var(--indigo-800); }

/* Inline banners (add error / success) */
.monv2-banner[b-ckkyann3mk] {
    padding: var(--s-3) var(--s-4);
    border: 1px solid;
    border-radius: var(--r-md);
    font: 500 13px/1.4 var(--font-sans);
}

.monv2-banner--coral[b-ckkyann3mk]  { background: var(--coral-bg);  border-color: var(--coral-border);  color: var(--coral); }
.monv2-banner--forest[b-ckkyann3mk] { background: var(--forest-bg); border-color: var(--forest-border); color: var(--forest); }

/* ---- KPI tiles ---- */
.monv2-kpi[b-ckkyann3mk] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-3);
}

@media (max-width: 1100px) { .monv2-kpi[b-ckkyann3mk] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .monv2-kpi[b-ckkyann3mk] { grid-template-columns: 1fr; } }

.monv2-tile[b-ckkyann3mk] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--s-4);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.monv2-tile--warn[b-ckkyann3mk] {
    background: var(--amber-bg);
    border-color: var(--amber-border);
}

.monv2-tile-h[b-ckkyann3mk] {
    color: var(--muted);
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.monv2-tile--warn .monv2-tile-h[b-ckkyann3mk] { color: var(--amber); }

.monv2-tile-val[b-ckkyann3mk] {
    color: var(--ink);
    font: 600 28px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.monv2-tile--warn .monv2-tile-val[b-ckkyann3mk] { color: var(--amber); }

.monv2-tile-sub[b-ckkyann3mk] {
    color: var(--muted);
    font: 400 12px/1.3 var(--font-sans);
}

/* ---- Filter chips ---- */
.monv2-filters[b-ckkyann3mk] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    flex-wrap: wrap;
}

.monv2-chips[b-ckkyann3mk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
}

.monv2-chip[b-ckkyann3mk] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .monv2-chip:hover[b-ckkyann3mk] { background: var(--surface); color: var(--ink); }
    .monv2-chip b[b-ckkyann3mk] {
        color: var(--muted);
        font: 600 12px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.monv2-chip--on[b-ckkyann3mk] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .monv2-chip--on b[b-ckkyann3mk] { color: rgba(255, 255, 255, 0.7); }

.monv2-chip-reset[b-ckkyann3mk] {
    margin-left: var(--s-2);
    padding: 6px 12px;
    border-radius: var(--r-pill);
    background: transparent;
    border: 1px dashed var(--border-2);
    color: var(--muted);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
}

    .monv2-chip-reset:hover[b-ckkyann3mk] { background: var(--coral-bg); color: var(--coral); border-color: var(--coral-border); }

.monv2-sort[b-ckkyann3mk] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--muted);
    font: 400 11px/1 var(--font-mono);
    margin-left: auto;
}

.monv2-sort-pill[b-ckkyann3mk] {
    padding: 4px 10px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--muted);
    border-radius: var(--r-sm);
    font: 500 11px/1 var(--font-mono);
    cursor: pointer;
}

.monv2-sort-pill--on[b-ckkyann3mk] {
    background: var(--indigo-50);
    color: var(--indigo-800);
    border-color: var(--indigo-200);
}

/* ---- Table ---- */
.monv2-table-wrap[b-ckkyann3mk] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.monv2-table[b-ckkyann3mk] {
    width: 100%;
    border-collapse: collapse;
}

.monv2-table thead th[b-ckkyann3mk] {
    padding: var(--s-3);
    text-align: left;
    background: var(--paper);
    color: var(--muted);
    font: 500 11px/1.3 var(--font-sans);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--border);
}

.monv2-table thead th.mono[b-ckkyann3mk] {
    font-family: var(--font-mono);
    letter-spacing: 0;
    text-transform: none;
}

.monv2-num[b-ckkyann3mk] { text-align: right; white-space: nowrap; }
.monv2-th-action[b-ckkyann3mk] { width: 68px; }
.monv2-th-check[b-ckkyann3mk] { width: 36px; }

/* Row selection checkbox */
.monv2-check[b-ckkyann3mk] {
    width: 15px;
    height: 15px;
    cursor: pointer;
    accent-color: var(--indigo-600);
    vertical-align: middle;
}

/* Two action icons in the last column */
.monv2-actions[b-ckkyann3mk] {
    display: flex;
    align-items: center;
    gap: 2px;
    white-space: nowrap;
}

.monv2-row[b-ckkyann3mk] {
    cursor: pointer;
    transition: background 0.12s ease;
    border-bottom: 1px solid var(--border);
}

    .monv2-row:last-child[b-ckkyann3mk] { border-bottom: none; }
    .monv2-row:hover[b-ckkyann3mk] { background: var(--paper); }

/* Active row = has unread changes — subtle indigo tint per slide 16. */
.monv2-row--active[b-ckkyann3mk] { background: rgba(91, 87, 219, 0.05); }
.monv2-row--active:hover[b-ckkyann3mk] { background: rgba(91, 87, 219, 0.09); }

.monv2-row--dim[b-ckkyann3mk] { opacity: 0.62; }

.monv2-table tbody td[b-ckkyann3mk] {
    padding: var(--s-3);
    color: var(--ink);
    font: 400 13px/1.4 var(--font-sans);
    vertical-align: middle;
}

.monv2-name-cell b[b-ckkyann3mk] {
    color: var(--ink);
    font: 500 13px/1.3 var(--font-sans);
}

.monv2-name-cell small[b-ckkyann3mk] {
    display: block;
    color: var(--muted);
    font: 400 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    margin-top: 2px;
}

/* Registry pills */
.monv2-regs[b-ckkyann3mk] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.monv2-reg-pill[b-ckkyann3mk] {
    padding: 2px 6px;
    border-radius: var(--r-sm);
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--muted);
    font: 500 10px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
}

.monv2-reg-pill--on[b-ckkyann3mk] {
    background: var(--indigo-50);
    border-color: var(--indigo-200);
    color: var(--indigo-800);
}

/* Type badge */
.monv2-badge[b-ckkyann3mk] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
}

.monv2-badge--indigo[b-ckkyann3mk]  { background: var(--indigo-50);  color: var(--indigo-800); }
.monv2-badge--amber[b-ckkyann3mk]   { background: var(--amber-bg);   color: var(--amber); }
.monv2-badge--neutral[b-ckkyann3mk] { background: var(--surface);    color: var(--body); }

/* Changes badge */
.monv2-changes[b-ckkyann3mk] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 20px;
    padding: 0 6px;
    border-radius: var(--r-pill);
    background: var(--surface);
    color: var(--muted);
    font: 600 11px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

/* Severity-graded change badge: red >= 2 changes, amber == 1, muted 0. */
.monv2-changes--coral[b-ckkyann3mk] { background: var(--coral); color: var(--white); }
.monv2-changes--amber[b-ckkyann3mk] { background: var(--amber); color: var(--white); }

/* Email toggle */
.monv2-toggle[b-ckkyann3mk] {
    width: 32px;
    height: 18px;
    border-radius: 9px;
    background: var(--border-2);
    border: none;
    cursor: pointer;
    position: relative;
    transition: background 0.18s ease;
}

.monv2-toggle i[b-ckkyann3mk] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--white);
    transition: transform 0.18s ease;
}

.monv2-toggle--on[b-ckkyann3mk] {
    background: var(--forest);
}

    .monv2-toggle--on i[b-ckkyann3mk] { transform: translateX(14px); }

/* Action buttons */
.monv2-icon-btn[b-ckkyann3mk] {
    width: 26px;
    height: 26px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--muted);
    border-radius: var(--r-sm);
    cursor: pointer;
    font: 500 14px/1 var(--font-sans);
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .monv2-icon-btn:hover[b-ckkyann3mk] {
        background: var(--surface);
        color: var(--ink);
        border-color: var(--border);
    }

.monv2-icon-btn--danger:hover[b-ckkyann3mk] {
    background: var(--coral-bg);
    color: var(--coral);
    border-color: var(--coral-border);
}

/* Summary-footer styles live in tokens.css as .ps-table-footer (shared
   across Tenders, Enforcement, Tax, Monitoring, Admin). */

.monv2-btn--danger[b-ckkyann3mk] {
    border-color: var(--coral-border);
    color: var(--coral);
}

    .monv2-btn--danger:hover:not(:disabled)[b-ckkyann3mk] {
        background: var(--coral-bg);
        color: var(--coral);
    }

/* ---- Bulk action bar ---- */
.monv2-bulkbar[b-ckkyann3mk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--indigo-50);
    border: 1px solid var(--indigo-200);
    border-radius: var(--r-lg);
}

.monv2-bulkbar-count[b-ckkyann3mk] {
    color: var(--indigo-800);
    font: 600 13px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.monv2-bulkbar-actions[b-ckkyann3mk] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
}

.monv2-bulkbar-clear[b-ckkyann3mk] {
    border: none;
    background: transparent;
    color: var(--indigo-800);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

    .monv2-bulkbar-clear:hover[b-ckkyann3mk] { color: var(--indigo-600); }

/* Small inline spinner (side-panel events loading) */
.monv2-spinner--sm[b-ckkyann3mk] {
    width: 16px;
    height: 16px;
    border-width: 2px;
    display: inline-block;
    vertical-align: middle;
}

/* ---- Side panel content (rendered inside SidePanel slots) ---- */
.monv2-sp-name[b-ckkyann3mk] {
    margin: 0;
    color: var(--ink);
    font: 600 19px/1.25 var(--font-sans);
    word-break: break-word;
}

.monv2-sp-sub[b-ckkyann3mk] {
    color: var(--muted);
    font: 400 12px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.monv2-sp-badge[b-ckkyann3mk] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.4 var(--font-sans);
}

.monv2-sp-badge--forest[b-ckkyann3mk] { background: var(--forest-bg); color: var(--forest); }
.monv2-sp-badge--muted[b-ckkyann3mk]  { background: var(--surface);   color: var(--muted); }
.monv2-sp-badge--indigo[b-ckkyann3mk] { background: var(--indigo-50); color: var(--indigo-800); }

.monv2-sp-facts[b-ckkyann3mk] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.monv2-sp-fact[b-ckkyann3mk] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-3);
    font: 400 13px/1.4 var(--font-sans);
}

    .monv2-sp-fact span[b-ckkyann3mk] { color: var(--muted); }
    .monv2-sp-fact b[b-ckkyann3mk] { color: var(--ink); font-weight: 600; }

.monv2-sp-fact--row[b-ckkyann3mk] { align-items: center; }

/* Events list */
.monv2-ev-list[b-ckkyann3mk] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.monv2-ev[b-ckkyann3mk] {
    display: flex;
    gap: var(--s-2);
}

.monv2-ev-dot[b-ckkyann3mk] {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    margin-top: 5px;
    border-radius: 50%;
    background: var(--muted);
}

.monv2-ev-dot--coral[b-ckkyann3mk] { background: var(--coral); }
.monv2-ev-dot--amber[b-ckkyann3mk] { background: var(--amber); }
.monv2-ev-dot--info[b-ckkyann3mk]  { background: var(--indigo-600); }

.monv2-ev-body[b-ckkyann3mk] { flex: 1; min-width: 0; }

.monv2-ev-top[b-ckkyann3mk] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--s-2);
}

    .monv2-ev-top b[b-ckkyann3mk] { color: var(--ink); font: 600 13px/1.3 var(--font-sans); }

.monv2-ev-time[b-ckkyann3mk] {
    color: var(--muted);
    font: 400 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    white-space: nowrap;
}

.monv2-ev-desc[b-ckkyann3mk] {
    margin: 2px 0 0;
    color: var(--body);
    font: 400 12px/1.45 var(--font-sans);
}

/* Registry toggles */
.monv2-sp-regs[b-ckkyann3mk] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
}

.monv2-sp-reg[b-ckkyann3mk] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--muted);
    border-radius: var(--r-pill);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .monv2-sp-reg:hover:not(:disabled)[b-ckkyann3mk] { border-color: var(--indigo-200); color: var(--ink); }
    .monv2-sp-reg:disabled[b-ckkyann3mk] { opacity: 0.6; cursor: not-allowed; }

.monv2-sp-reg--on[b-ckkyann3mk] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

.monv2-sp-reg-check[b-ckkyann3mk] {
    font: 600 11px/1 var(--font-mono);
    width: 10px;
    text-align: center;
}

.monv2-sp-loading[b-ckkyann3mk] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    color: var(--muted);
    font: 400 13px/1.4 var(--font-sans);
}

.monv2-sp-empty[b-ckkyann3mk] {
    margin: 0;
    color: var(--muted);
    font: 400 13px/1.4 var(--font-sans);
}
/* /Components/Pages/PropertyPage.razor.rz.scp.css */
.pp[b-g8bn1w0tu2] {
    width: 100%;
    padding: var(--s-6) var(--s-8) var(--s-12);
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Loading / error ---- */
.pp-loading[b-g8bn1w0tu2],
.pp-error[b-g8bn1w0tu2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-12);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    color: var(--muted);
    text-align: center;
}

.pp-spinner[b-g8bn1w0tu2] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: pp-spin-b-g8bn1w0tu2 0.7s linear infinite;
}

@keyframes pp-spin-b-g8bn1w0tu2 { to { transform: rotate(360deg); } }

.pp-error h3[b-g8bn1w0tu2] {
    margin: 0;
    color: var(--ink);
    font: 600 18px/1.3 var(--font-sans);
}

.pp-error p[b-g8bn1w0tu2] {
    margin: 0;
    max-width: 56ch;
    font: 400 14px/1.5 var(--font-sans);
}

.pp-error-actions[b-g8bn1w0tu2] { display: flex; gap: var(--s-2); }

/* ---- Top bar: breadcrumb + meta ---- */
.pp-bar[b-g8bn1w0tu2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-4);
    flex-wrap: wrap;
}

.pp-bc[b-g8bn1w0tu2] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    flex-wrap: wrap;
    color: var(--muted);
    font: 500 12px/1.4 var(--font-mono);
    letter-spacing: 0.02em;
}

.pp-bc a[b-g8bn1w0tu2] {
    color: var(--muted);
    text-decoration: none;
    transition: color 0.12s ease;
}

    .pp-bc a:hover[b-g8bn1w0tu2] { color: var(--indigo-600); }

.pp-bc-sep[b-g8bn1w0tu2] { color: var(--border-2); }
.pp-bc-cur[b-g8bn1w0tu2] { color: var(--ink); font-weight: 600; }
.pp-bc-count[b-g8bn1w0tu2] {
    color: var(--indigo-600);
    font: 600 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    margin-left: 4px;
}

.pp-bar-meta[b-g8bn1w0tu2] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    color: var(--muted);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.02em;
}

/* ---- Buttons ---- */
.pp-btn[b-g8bn1w0tu2] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    color: var(--ink);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s, border-color 0.12s;
}

    .pp-btn:hover:not(:disabled)[b-g8bn1w0tu2] {
        background: var(--paper);
        border-color: var(--border-2);
    }

    .pp-btn:disabled[b-g8bn1w0tu2] { opacity: 0.5; cursor: not-allowed; }

.pp-btn--primary[b-g8bn1w0tu2] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .pp-btn--primary:hover:not(:disabled)[b-g8bn1w0tu2] {
        background: var(--indigo-800);
        border-color: var(--indigo-800);
    }

.pp-icon-btn[b-g8bn1w0tu2] {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-sm);
    color: var(--muted);
    cursor: pointer;
    font-size: 14px;
    transition: color 0.12s, background 0.12s;
}

    .pp-icon-btn:hover:not(:disabled)[b-g8bn1w0tu2] {
        background: var(--paper);
        color: var(--indigo-600);
    }

.pp-btn-spin[b-g8bn1w0tu2] {
    width: 12px;
    height: 12px;
    border: 2px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: pp-spin-b-g8bn1w0tu2 0.7s linear infinite;
    display: inline-block;
}

.pp-btn--primary .pp-btn-spin[b-g8bn1w0tu2] {
    border-color: rgba(255, 255, 255, 0.4);
    border-top-color: var(--white);
}

/* ---- Empty state ---- */
.pp-empty[b-g8bn1w0tu2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-12) var(--s-8);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    text-align: center;
    color: var(--muted);
}

.pp-empty-ic[b-g8bn1w0tu2] {
    width: 80px;
    height: 80px;
    background: var(--paper);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
}

.pp-empty h3[b-g8bn1w0tu2] {
    margin: 0;
    color: var(--ink);
    font: 600 20px/1.3 var(--font-sans);
}

.pp-empty p[b-g8bn1w0tu2] {
    margin: 0;
    max-width: 58ch;
    color: var(--body);
    font: 400 14px/1.55 var(--font-sans);
}

.pp-empty small[b-g8bn1w0tu2] {
    color: var(--muted);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pp-empty-cta[b-g8bn1w0tu2] {
    margin-top: var(--s-2);
    color: var(--indigo-600);
    font: 500 13px/1.3 var(--font-sans);
    text-decoration: none;
}

    .pp-empty-cta:hover[b-g8bn1w0tu2] { text-decoration: underline; }

.pp-empty-cta-row[b-g8bn1w0tu2] {
    display: flex;
    gap: var(--s-2);
    flex-wrap: wrap;
    justify-content: center;
    margin-top: var(--s-3);
}

.pp-empty-error[b-g8bn1w0tu2] {
    align-self: center;
    padding: 8px 14px;
    background: var(--amber-bg);
    border: 1px solid var(--amber-border);
    color: var(--amber);
    border-radius: var(--r-md);
    font: 500 12px/1.4 var(--font-mono);
    letter-spacing: 0.02em;
    margin-bottom: var(--s-2);
}

.pp-empty-ic--processing[b-g8bn1w0tu2] {
    background: var(--indigo-50);
    color: var(--indigo-600);
}

.pp-spinner-lg[b-g8bn1w0tu2] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: pp-spin-b-g8bn1w0tu2 0.7s linear infinite;
    display: inline-block;
}

.pp-progress[b-g8bn1w0tu2] {
    width: 100%;
    max-width: 320px;
    height: 4px;
    background: var(--surface);
    border-radius: 2px;
    overflow: hidden;
    margin-top: var(--s-2);
}

.pp-progress-bar[b-g8bn1w0tu2] {
    display: block;
    height: 100%;
    width: 40%;
    background: var(--indigo-600);
    border-radius: 2px;
    animation: pp-progress-slide-b-g8bn1w0tu2 1.6s ease-in-out infinite;
}

@keyframes pp-progress-slide-b-g8bn1w0tu2 {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(250%); }
}

/* ---- KPI 2-tile row ---- */
.pp-kpi[b-g8bn1w0tu2] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--s-3);
}

@media (max-width: 600px) { .pp-kpi[b-g8bn1w0tu2] { grid-template-columns: 1fr; } }

.pp-kpi-tile[b-g8bn1w0tu2] {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: var(--s-3);
    align-items: center;
    padding: var(--s-4) var(--s-5);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.pp-kpi-ic[b-g8bn1w0tu2] {
    width: 48px;
    height: 48px;
    background: var(--indigo-50);
    color: var(--indigo-600);
    border-radius: var(--r-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: 700 22px/1 var(--font-sans);
}

.pp-kpi-tile > div[b-g8bn1w0tu2] { display: flex; flex-direction: column; gap: 2px; }

.pp-kpi-h[b-g8bn1w0tu2] {
    color: var(--muted);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pp-kpi-val[b-g8bn1w0tu2] {
    color: var(--ink);
    font: 700 28px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.pp-kpi-tile small[b-g8bn1w0tu2] {
    color: var(--muted);
    font: 400 12px/1.3 var(--font-sans);
}

/* ---- Filters + sort ---- */
.pp-filters[b-g8bn1w0tu2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--s-3);
}

.pp-chips[b-g8bn1w0tu2] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.pp-chip[b-g8bn1w0tu2] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: var(--white);
    border: 1px solid var(--border-2);
    border-radius: var(--r-pill);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
}

    .pp-chip:hover[b-g8bn1w0tu2] { background: var(--surface); border-color: var(--indigo-200); }
    .pp-chip b[b-g8bn1w0tu2] { font-weight: 600; font-size: 11px; color: var(--ink); }

.pp-chip--on[b-g8bn1w0tu2] {
    background: var(--ink);
    color: var(--white);
    border-color: var(--ink);
}

    .pp-chip--on b[b-g8bn1w0tu2] { color: var(--white); }

.pp-sort[b-g8bn1w0tu2] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    color: var(--muted);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pp-sort-btn[b-g8bn1w0tu2] {
    padding: 4px 10px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--r-pill);
    color: var(--muted);
    font: 500 11px/1.3 var(--font-mono);
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0;
    transition: color 0.12s, background 0.12s;
}

    .pp-sort-btn:hover[b-g8bn1w0tu2] { color: var(--indigo-600); }
    .pp-sort-btn--on[b-g8bn1w0tu2] { background: var(--ink); color: var(--white); border-color: var(--ink); }

/* ---- Gallery 3-col cards ---- */
.pp-grid[b-g8bn1w0tu2] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--s-4);
}

@media (max-width: 1100px) { .pp-grid[b-g8bn1w0tu2] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px)  { .pp-grid[b-g8bn1w0tu2] { grid-template-columns: 1fr; } }

.pp-card[b-g8bn1w0tu2] {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
    cursor: pointer;
    transition: box-shadow 0.12s, transform 0.06s, border-color 0.12s;
}

    .pp-card:hover[b-g8bn1w0tu2] {
        box-shadow: var(--shadow-md);
        border-color: var(--indigo-200);
    }

    .pp-card:active[b-g8bn1w0tu2] { transform: translateY(1px); }

/* ---- Card image — CSS patterns (no external images) ---- */
.pp-card-img[b-g8bn1w0tu2] {
    height: 96px;
    position: relative;
}

.pp-card-img--realestate[b-g8bn1w0tu2] {
    background:
        repeating-linear-gradient(90deg, #d4d4d0 0px, #d4d4d0 6px, #c8c8c4 6px, #c8c8c4 8px),
        linear-gradient(180deg, #e8e8e4 0%, #d0d0cc 100%);
}

.pp-card-img--realestate[b-g8bn1w0tu2]::before {
    content: '';
    position: absolute;
    bottom: 0; left: 10%; right: 10%; height: 68%;
    background: linear-gradient(180deg, #b8b8b4 0%, #9a9a96 100%);
    border-radius: 4px 4px 0 0;
}

.pp-card-img--realestate[b-g8bn1w0tu2]::after {
    content: '';
    position: absolute;
    bottom: 6px; left: 50%; transform: translateX(-50%);
    width: 16px; height: 22px;
    background: #6b7280;
    border-radius: 2px 2px 0 0;
}

.pp-card-img--vehicle[b-g8bn1w0tu2] {
    background: linear-gradient(180deg, #6B7280 0%, #374151 100%);
}

.pp-card-img--vehicle[b-g8bn1w0tu2]::before {
    content: '';
    position: absolute;
    bottom: 22%; left: 14%; right: 14%; height: 38%;
    background: var(--ink);
    border-radius: 30% 30% 8% 8% / 80% 80% 20% 20%;
}

.pp-card-img--vehicle[b-g8bn1w0tu2]::after {
    content: '';
    position: absolute;
    bottom: 14%; left: 30%; right: 30%; height: 14%;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 2px;
}

.pp-card-color-dot[b-g8bn1w0tu2] {
    position: absolute;
    top: 8px; right: 8px;
    width: 18px; height: 18px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    z-index: 1;
}

/* ---- Card body ---- */
.pp-card-body[b-g8bn1w0tu2] {
    padding: var(--s-3) var(--s-4) var(--s-4);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pp-card-badge[b-g8bn1w0tu2] {
    align-self: flex-start;
    padding: 2px 8px;
    background: var(--paper);
    color: var(--muted);
    border-radius: var(--r-pill);
    font: 500 10px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pp-card-title[b-g8bn1w0tu2] {
    margin: 0;
    color: var(--ink);
    font: 600 14px/1.35 var(--font-sans);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.pp-card-meta[b-g8bn1w0tu2] {
    color: var(--muted);
    font: 500 11px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.pp-card-foot[b-g8bn1w0tu2] {
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px dashed var(--border);
    display: flex;
    align-items: baseline;
    gap: 6px;
    color: var(--muted);
    font: 500 11px/1.3 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.pp-card-foot-l[b-g8bn1w0tu2] {
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.pp-card-foot b[b-g8bn1w0tu2] {
    color: var(--ink);
    font-weight: 600;
}

/* ---- Side panel detail rows ---- */
.pp-detail[b-g8bn1w0tu2] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pp-detail-row[b-g8bn1w0tu2] {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: var(--s-3);
    align-items: baseline;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

    .pp-detail-row:last-child[b-g8bn1w0tu2] { border-bottom: none; }

.pp-detail-k[b-g8bn1w0tu2] {
    color: var(--muted);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pp-detail-v[b-g8bn1w0tu2] {
    color: var(--ink);
    font: 500 14px/1.4 var(--font-sans);
    word-break: break-word;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .pp-detail-v.mono[b-g8bn1w0tu2] {
        font-family: var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.pp-detail-v--link[b-g8bn1w0tu2] {
    color: var(--indigo-600);
    text-decoration: none;
}

    .pp-detail-v--link:hover[b-g8bn1w0tu2] { text-decoration: underline; }

.pp-detail-color-dot[b-g8bn1w0tu2] {
    width: 14px; height: 14px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--border-2);
    display: inline-block;
}

/* ---- Print: гасимо chrome, лишаємо тільки grid карток ---- */
@media print {
    .pp-bar[b-g8bn1w0tu2], .pp-filters[b-g8bn1w0tu2] { display: none !important; }
    .pp[b-g8bn1w0tu2] { padding: 0 !important; }
    .pp-card[b-g8bn1w0tu2] { break-inside: avoid; box-shadow: none !important; }
}
/* /Components/Pages/RiskMethodology.razor.rz.scp.css */
.rm-doc[b-c5c34vs3xa] {
    max-width: 720px;
    margin: 0 auto;
    padding: var(--s-10) var(--s-6) var(--s-12);
    font-family: var(--font-sans);
    color: var(--body);
}

.rm-eyebrow[b-c5c34vs3xa] {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--r-pill);
    background: var(--indigo-50);
    color: var(--indigo-800);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.06em;
}

.rm-h1[b-c5c34vs3xa] {
    margin: var(--s-3) 0 0;
    font: 700 34px/1.15 var(--font-sans);
    letter-spacing: -0.02em;
    color: var(--ink);
}

.rm-lead[b-c5c34vs3xa] {
    margin: var(--s-3) 0 0;
    font: 400 16px/1.7 var(--font-sans);
    color: var(--body);
}

.rm-bands[b-c5c34vs3xa] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    margin: var(--s-6) 0;
}

.rm-band[b-c5c34vs3xa] {
    flex: 1;
    min-width: 160px;
    padding: 12px 16px;
    border-radius: var(--r-md);
    font: 500 14px/1.3 var(--font-sans);
}

    .rm-band b[b-c5c34vs3xa] { display: block; font: 700 18px/1.2 var(--font-mono); margin-bottom: 2px; }

.rm-band--forest[b-c5c34vs3xa] { background: var(--forest-bg); color: var(--forest); }
.rm-band--amber[b-c5c34vs3xa]  { background: var(--amber-bg);  color: var(--amber); }
.rm-band--coral[b-c5c34vs3xa]  { background: var(--coral-bg, #FCEBEA); color: var(--coral); }

.rm-h2[b-c5c34vs3xa] {
    margin: var(--s-8) 0 0;
    font: 700 22px/1.2 var(--font-sans);
    color: var(--ink);
}

.rm-h3[b-c5c34vs3xa] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    margin: var(--s-6) 0 var(--s-2);
    font: 600 15px/1.2 var(--font-sans);
    color: var(--ink);
}

.rm-tag[b-c5c34vs3xa] {
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--muted);
    font: 500 11px/1.4 var(--font-sans);
}

.rm-tbl[b-c5c34vs3xa] {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
    overflow: hidden;
}

.rm-tbl td[b-c5c34vs3xa] {
    padding: 10px 14px;
    border-bottom: 1px solid var(--border);
    font: 400 14px/1.4 var(--font-sans);
    color: var(--ink);
}

.rm-tbl tr:last-child td[b-c5c34vs3xa] { border-bottom: none; }

.rm-pts[b-c5c34vs3xa] {
    width: 90px;
    text-align: right;
    font-weight: 600;
    font-feature-settings: var(--font-feature-tnum);
}

.rm-neg[b-c5c34vs3xa] { color: var(--coral); }
.rm-pos[b-c5c34vs3xa] { color: var(--forest); }
.rm-muted[b-c5c34vs3xa] { color: var(--muted); }

.rm-note[b-c5c34vs3xa] {
    margin: var(--s-6) 0 0;
    padding: 14px 16px;
    background: var(--surface);
    border-radius: var(--r-md);
    font: 400 13px/1.7 var(--font-sans);
    color: var(--muted);
}

.rm-back[b-c5c34vs3xa] {
    display: inline-block;
    margin-top: var(--s-6);
    color: var(--indigo-600);
    font: 600 14px/1 var(--font-sans);
    text-decoration: none;
}

    .rm-back:hover[b-c5c34vs3xa] { text-decoration: underline; }
/* /Components/Pages/SanctionsPage.razor.rz.scp.css */
.sp[b-pxdhmxf6oi] {
    width: 100%;
    padding: var(--s-6) var(--s-8) var(--s-12);
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    font-family: var(--font-sans);
}

/* ---- Loading / error ---- */
.sp-loading[b-pxdhmxf6oi],
.sp-error[b-pxdhmxf6oi] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-12);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    text-align: center;
    color: var(--muted);
}

.sp-spinner[b-pxdhmxf6oi] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: sp-spin-b-pxdhmxf6oi 0.7s linear infinite;
}

@keyframes sp-spin-b-pxdhmxf6oi { to { transform: rotate(360deg); } }

.sp-error h3[b-pxdhmxf6oi] {
    margin: 0;
    color: var(--ink);
    font: 600 18px/1.3 var(--font-sans);
}

.sp-error p[b-pxdhmxf6oi] {
    margin: 0;
    max-width: 56ch;
    font: 400 14px/1.5 var(--font-sans);
}

.sp-error-actions[b-pxdhmxf6oi] {
    display: flex;
    gap: var(--s-2);
    flex-wrap: wrap;
    justify-content: center;
}

/* ---- Breadcrumb ---- */
.sp-bc[b-pxdhmxf6oi] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    flex-wrap: wrap;
    color: var(--muted);
    font: 500 12px/1.4 var(--font-mono);
    letter-spacing: 0.02em;
}

.sp-bc a[b-pxdhmxf6oi] {
    color: var(--muted);
    text-decoration: none;
    transition: color 0.12s ease;
}

    .sp-bc a:hover[b-pxdhmxf6oi] { color: var(--indigo-600); }

.sp-bc-sep[b-pxdhmxf6oi] {
    color: var(--border-2);
}

.sp-bc-cur[b-pxdhmxf6oi] {
    color: var(--ink);
    font-weight: 600;
}

.sp-bc-count[b-pxdhmxf6oi] {
    color: var(--coral);
    font: 600 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    margin-left: 4px;
}

.sp-bc-q[b-pxdhmxf6oi] {
    color: var(--ink);
    font: 500 12px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    margin-left: 4px;
    padding: 0 6px;
    background: var(--paper);
    border-radius: var(--r-sm);
}

/* ---- Query-mode hero ---- */
.sp-hero[b-pxdhmxf6oi] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-6) var(--s-6) var(--s-5);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

.sp-hero-eyebrow[b-pxdhmxf6oi] {
    color: var(--muted);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sp-hero-h[b-pxdhmxf6oi] {
    margin: 0;
    color: var(--ink);
    font: 600 24px/1.25 var(--font-sans);
    letter-spacing: -0.01em;
}

.sp-hero-lede[b-pxdhmxf6oi] {
    margin: 0;
    max-width: 64ch;
    color: var(--body);
    font: 400 14px/1.55 var(--font-sans);
}

    .sp-hero-lede b[b-pxdhmxf6oi] {
        color: var(--ink);
        font-weight: 600;
    }

.sp-hero-form[b-pxdhmxf6oi] {
    display: flex;
    gap: var(--s-2);
    align-items: stretch;
    margin-top: var(--s-2);
}

.sp-hero-input[b-pxdhmxf6oi] {
    flex: 1;
    min-width: 0;
    padding: 12px 16px;
    background: var(--paper);
    border: 1.5px solid var(--border);
    border-radius: var(--r-md);
    color: var(--ink);
    font: 500 15px/1.3 var(--font-sans);
    transition: border-color 0.12s ease, background 0.12s ease;
}

    .sp-hero-input:focus[b-pxdhmxf6oi] {
        outline: none;
        border-color: var(--indigo-600);
        background: var(--white);
    }

    .sp-hero-input[b-pxdhmxf6oi]::placeholder {
        color: var(--muted);
        font-weight: 400;
    }

.sp-hero-form .sp-btn[b-pxdhmxf6oi] {
    padding: 0 22px;
    font: 600 14px/1 var(--font-sans);
}

.sp-hero-hints[b-pxdhmxf6oi] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    flex-wrap: wrap;
    margin-top: var(--s-1);
    color: var(--muted);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sp-hero-chip[b-pxdhmxf6oi] {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-pill);
    color: var(--body);
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    font: 500 12px/1.3 var(--font-mono);
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .sp-hero-chip:hover[b-pxdhmxf6oi] {
        background: var(--indigo-50);
        color: var(--indigo-600);
        border-color: var(--indigo-600);
    }

/* ---- Toolbar ---- */
.sp-toolbar[b-pxdhmxf6oi] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    flex-wrap: wrap;
}

.sp-btn[b-pxdhmxf6oi] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    color: var(--ink);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    text-decoration: none;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .sp-btn:hover:not(:disabled)[b-pxdhmxf6oi] {
        background: var(--paper);
        border-color: var(--border-2);
    }

    .sp-btn:disabled[b-pxdhmxf6oi] {
        opacity: 0.5;
        cursor: not-allowed;
    }

.sp-btn--primary[b-pxdhmxf6oi] {
    background: var(--indigo-600);
    border-color: var(--indigo-600);
    color: var(--white);
}

    .sp-btn--primary:hover:not(:disabled)[b-pxdhmxf6oi] {
        background: var(--indigo-800);
        border-color: var(--indigo-800);
    }

    .sp-btn--primary:disabled[b-pxdhmxf6oi] {
        background: var(--indigo-600);
        border-color: var(--indigo-600);
        color: var(--white);
    }

/* Default: indigo на secondary white-background buttons */
.sp-btn-spin[b-pxdhmxf6oi] {
    width: 12px;
    height: 12px;
    border: 2px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: sp-spin-b-pxdhmxf6oi 0.7s linear infinite;
}

/* Override: white-on-primary (--primary background) */
.sp-btn--primary .sp-btn-spin[b-pxdhmxf6oi] {
    border-color: rgba(255, 255, 255, 0.4);
    border-top-color: var(--white);
}

/* ---- Toast ---- */
.sp-toast[b-pxdhmxf6oi] {
    padding: 10px 14px;
    background: var(--forest-bg);
    border: 1px solid var(--forest-border);
    border-radius: var(--r-md);
    color: var(--forest);
    font: 500 13px/1.4 var(--font-sans);
}

.sp-toast--err[b-pxdhmxf6oi] {
    background: var(--coral-bg);
    border-color: var(--coral-border);
    color: var(--coral);
}

/* ---- Print: скрываем breadcrumb + toolbar + hero, печатаем только тело санкций ---- */
@media print {
    .sp-bc[b-pxdhmxf6oi],
    .sp-toolbar[b-pxdhmxf6oi],
    .sp-toast[b-pxdhmxf6oi],
    .sp-hero-form[b-pxdhmxf6oi],
    .sp-hero-hints[b-pxdhmxf6oi],
    .sp-error-actions[b-pxdhmxf6oi] {
        display: none !important;
    }

    .sp-hero[b-pxdhmxf6oi] {
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .sp[b-pxdhmxf6oi] {
        padding: 0 !important;
    }
}
/* /Components/Pages/TenderProfile.razor.rz.scp.css */
.tp[b-l5z20xoe1k] {
    padding-block: var(--s-6) var(--s-12);
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
    font-family: var(--font-sans);
    color: var(--body);
}

.tp-bar[b-l5z20xoe1k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-4);
    flex-wrap: wrap;
}

.tp-bc[b-l5z20xoe1k] {
    color: var(--muted);
    font: 400 12px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

    .tp-bc a[b-l5z20xoe1k] { color: var(--muted); text-decoration: none; }
    .tp-bc a:hover[b-l5z20xoe1k] { color: var(--indigo-600); }

.tp-bc-sep[b-l5z20xoe1k] { margin: 0 6px; opacity: 0.6; }
.tp-bc-cur b[b-l5z20xoe1k] { color: var(--ink); }

.tp-bar-actions[b-l5z20xoe1k] {
    display: inline-flex;
    gap: var(--s-2);
}

.tp-btn[b-l5z20xoe1k] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid var(--border-2);
    background: var(--white);
    color: var(--ink);
    border-radius: var(--r-md);
    font: 500 13px/1 var(--font-sans);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .tp-btn:hover[b-l5z20xoe1k] { background: var(--surface); border-color: var(--indigo-200); color: var(--indigo-800); }

/* Dossier column — readable width, the shared TenderDetailBody renders
   its own cards inside. */
.tp-body[b-l5z20xoe1k] {
    width: 100%;
    max-width: 820px;
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
}

.tp-empty[b-l5z20xoe1k] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    padding: var(--s-12);
    text-align: center;
    color: var(--muted);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
}

    .tp-empty h3[b-l5z20xoe1k] { margin: 0; color: var(--ink); font: 600 18px/1.3 var(--font-sans); }
    .tp-empty p[b-l5z20xoe1k] { margin: 0; }
/* /Components/Pages/UniversalSearch.razor.rz.scp.css */
.us[b-fn0hbr4epm] {
    /* width + max-width + horizontal padding come from .content-container
       on the same element — keep only vertical rhythm here. */
    padding-block: var(--s-8) var(--s-12);
    display: flex;
    flex-direction: column;
    gap: var(--s-8);
    font-family: var(--font-sans);
    color: var(--body);
}

/* ---- Empty start screen ---- */
.us-start[b-fn0hbr4epm] {
    display: flex;
    flex-direction: column;
    gap: var(--s-8);
    align-items: stretch;
}

.us-start-h[b-fn0hbr4epm] {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    align-items: center;
}

.us-eyebrow[b-fn0hbr4epm] {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--r-pill);
    background: var(--indigo-50);
    color: var(--indigo-800);
    font: 500 11px/1.4 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.us-title[b-fn0hbr4epm] {
    margin: var(--s-2) 0 0;
    font: 700 36px/1.1 var(--font-sans);
    letter-spacing: -0.02em;
    color: var(--ink);
    max-width: 22ch;
}

    .us-title em[b-fn0hbr4epm] {
        font-style: normal;
        color: var(--indigo-600);
    }

.us-lede[b-fn0hbr4epm] {
    margin: 0;
    color: var(--body);
    font: 400 16px/1.6 var(--font-sans);
    max-width: 56ch;
}

/* ---- Results header (compact hero) ---- */
.us-results-h[b-fn0hbr4epm] {
    position: sticky;
    top: var(--header-h, 52px);
    z-index: 10;
    background: var(--white);
    padding: var(--s-3) 0;
    margin: calc(var(--s-8) * -1) calc(var(--s-8) * -1) 0;
    padding-left: var(--s-8);
    padding-right: var(--s-8);
    border-bottom: 1px solid var(--border);
}


/* ============================================================
   Request limit exceeded (Phase 3 #1)
   ============================================================ */
.us-limit[b-fn0hbr4epm] {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: var(--s-3);
    align-items: start;
    padding: var(--s-5) var(--s-6);
    background: var(--coral-bg);
    border: 1px solid var(--coral-border);
    border-radius: var(--r-md);
    margin: var(--s-4) 0;
}

.us-limit-ic[b-fn0hbr4epm] {
    width: 40px;
    height: 40px;
    background: var(--coral);
    color: var(--white);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
}

.us-limit h3[b-fn0hbr4epm] {
    margin: 0 0 4px;
    color: var(--coral);
    font: 600 18px/1.25 var(--font-sans);
}

.us-limit p[b-fn0hbr4epm] {
    margin: 0;
    color: var(--body);
    font: 400 14px/1.5 var(--font-sans);
    max-width: 56ch;
}

/* ============================================================
   Sanctions block over results — критичний AML/KYC сигнал.
   Три стани:
     .us-sanctions--loading  — спінер під час паралельного фетча
     .us-sanctions--hit      — є санкційні записи: alert-frame з
                                ACTIVE/EXPIRED бейджами, посилання
                                на повну сторінку /sanctions?q=
     .us-sanctions--clean    — записів немає: компактний positive-CTA
   ============================================================ */

.us-sanctions[b-fn0hbr4epm] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-4) var(--s-5);
    border-radius: var(--r-md);
    background: var(--white);
    border: 1px solid var(--border);
    text-decoration: none;
    color: var(--ink);
}

/* ---- Loading ---- */
.us-sanctions--loading[b-fn0hbr4epm] {
    flex-direction: row;
    align-items: center;
    gap: var(--s-2);
    color: var(--muted);
    font: 400 13px/1.4 var(--font-sans);
}

.us-sanctions-spin[b-fn0hbr4epm] {
    width: 14px;
    height: 14px;
    border: 2px solid var(--surface);
    border-top-color: var(--coral);
    border-radius: 50%;
    animation: us-sanctions-spin-b-fn0hbr4epm 0.7s linear infinite;
}

@keyframes us-sanctions-spin-b-fn0hbr4epm { to { transform: rotate(360deg); } }

/* ---- Hit (≥1 sanction) ---- */
.us-sanctions--hit[b-fn0hbr4epm] {
    background: var(--coral-bg);
    border-color: var(--coral-border);
    border-left: 3px solid var(--coral);
}

.us-sanctions-h[b-fn0hbr4epm] {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--s-3);
}

.us-sanctions-h-ic[b-fn0hbr4epm] {
    width: 40px;
    height: 40px;
    background: var(--coral);
    color: var(--white);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.us-sanctions-h-text[b-fn0hbr4epm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

    .us-sanctions-h-text b[b-fn0hbr4epm] {
        color: var(--ink);
        font: 600 15px/1.3 var(--font-sans);
        display: inline-flex;
        align-items: baseline;
        gap: 6px;
    }

    .us-sanctions-h-text small[b-fn0hbr4epm] {
        color: var(--body);
        font: 400 12px/1.4 var(--font-sans);
    }

    .us-sanctions-h-text small b[b-fn0hbr4epm] {
        font: 600 12px/1.4 var(--font-sans);
        color: var(--coral);
    }

.us-sanctions-h-n[b-fn0hbr4epm] {
    color: var(--coral);
    font: 600 13px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.us-sanctions-h-active[b-fn0hbr4epm] {
    color: var(--coral) !important;
}

.us-sanctions-h-more[b-fn0hbr4epm] {
    color: var(--coral);
    font: 600 13px/1.3 var(--font-sans);
    text-decoration: none;
    white-space: nowrap;
}

    .us-sanctions-h-more:hover[b-fn0hbr4epm] { text-decoration: underline; }

/* List of records inside the hit block */
.us-sanctions-list[b-fn0hbr4epm] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.us-sanctions-item[b-fn0hbr4epm] {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--s-2);
    padding: 8px 10px;
    background: var(--white);
    border: 1px solid var(--coral-border);
    border-radius: var(--r-md);
}

.us-sanctions-flag[b-fn0hbr4epm] {
    font-size: 18px;
    line-height: 1;
}

.us-sanctions-item-body[b-fn0hbr4epm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

    .us-sanctions-item-body b[b-fn0hbr4epm] {
        color: var(--ink);
        font: 600 13px/1.3 var(--font-sans);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .us-sanctions-item-body small[b-fn0hbr4epm] {
        color: var(--muted);
        font: 500 11px/1.3 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
    }

.us-sanctions-badge[b-fn0hbr4epm] {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: var(--r-pill);
    font: 700 10px/1 var(--font-mono);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.us-sanctions-badge--active[b-fn0hbr4epm] {
    background: var(--coral);
    color: var(--white);
}

.us-sanctions-badge--expired[b-fn0hbr4epm] {
    background: var(--surface);
    color: var(--muted);
    border: 1px solid var(--border-2);
}

.us-sanctions-more[b-fn0hbr4epm] {
    text-align: center;
    padding: 6px;
}

    .us-sanctions-more a[b-fn0hbr4epm] {
        color: var(--coral);
        font: 600 12px/1 var(--font-sans);
        text-decoration: none;
    }

    .us-sanctions-more a:hover[b-fn0hbr4epm] { text-decoration: underline; }

/* ---- Clean (no sanctions) ---- */
.us-sanctions--clean[b-fn0hbr4epm] {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    align-items: center;
    gap: var(--s-3);
    padding: 12px var(--s-4);
    border-left: 3px solid var(--forest);
    transition: background 0.12s ease;
}

    .us-sanctions--clean:hover[b-fn0hbr4epm] {
        background: var(--forest-bg);
    }

.us-sanctions-clean-ic[b-fn0hbr4epm] {
    width: 32px;
    height: 32px;
    background: var(--forest-bg);
    color: var(--forest);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.us-sanctions-clean-text[b-fn0hbr4epm] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

    .us-sanctions-clean-text b[b-fn0hbr4epm] {
        color: var(--ink);
        font: 600 13px/1.3 var(--font-sans);
    }

    .us-sanctions-clean-text small[b-fn0hbr4epm] {
        color: var(--muted);
        font: 400 11px/1.3 var(--font-sans);
    }

.us-sanctions-clean-arrow[b-fn0hbr4epm] {
    color: var(--forest);
    font: 600 16px/1 var(--font-sans);
}
/* /Components/Search/SearchHero.razor.rz.scp.css */
.ps-hero[b-yeu5bv4wzs] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    font-family: var(--font-sans);
}

/* ---- Hero pill input ---- */
.ps-hero-input-wrap[b-yeu5bv4wzs] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-2) var(--s-2) var(--s-2) var(--s-4);
    background: var(--white);
    border: 2px solid var(--ink);
    border-radius: var(--r-pill);
    transition: box-shadow 0.18s ease, border-color 0.18s ease;
}

    .ps-hero-input-wrap:focus-within[b-yeu5bv4wzs] {
        border-color: var(--indigo-600);
        box-shadow: var(--shadow-glow);
    }

.ps-hero-icon[b-yeu5bv4wzs] {
    color: var(--muted);
    display: inline-flex;
    flex-shrink: 0;
}

.ps-hero-input[b-yeu5bv4wzs] {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    padding: var(--s-3) var(--s-2);
    font: 400 18px/1.4 var(--font-sans);
    color: var(--ink);
    outline: none;
}

    .ps-hero-input[b-yeu5bv4wzs]::placeholder {
        color: var(--muted);
    }

    /* Hide the default browser "x" on type=search so the look stays clean. */
    .ps-hero-input[b-yeu5bv4wzs]::-webkit-search-cancel-button {
        -webkit-appearance: none;
    }

.ps-hero-submit[b-yeu5bv4wzs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    min-width: 120px;
    padding: 0 22px;
    border: none;
    border-radius: var(--r-pill);
    background: var(--indigo-600);
    color: var(--white);
    font: 600 14px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.15s ease;
    flex-shrink: 0;
}

    .ps-hero-submit:hover[b-yeu5bv4wzs] { background: var(--indigo-800); }

    .ps-hero-submit:focus-visible[b-yeu5bv4wzs] {
        outline: none;
        box-shadow: var(--shadow-glow);
    }

/* ---- Accent variants (amber = property, forest = tenders) ----
   Default indigo lives in the rules above; these override only the
   focus ring + submit button so each specialised search page matches
   its palette. */
.ps-hero--accent-amber .ps-hero-input-wrap:focus-within[b-yeu5bv4wzs] {
    border-color: var(--amber);
    box-shadow: 0 0 0 4px var(--amber-bg);
}

.ps-hero--accent-amber .ps-hero-submit[b-yeu5bv4wzs] { background: var(--amber); }
.ps-hero--accent-amber .ps-hero-submit:hover[b-yeu5bv4wzs] { background: #8F560B; }

.ps-hero--accent-amber .ps-hero-chip:hover[b-yeu5bv4wzs],
.ps-hero--accent-amber .ps-hero-chip--recent:hover[b-yeu5bv4wzs] {
    background: var(--amber-bg);
    border-color: var(--amber-border);
    color: var(--amber);
}

.ps-hero--accent-forest .ps-hero-input-wrap:focus-within[b-yeu5bv4wzs] {
    border-color: var(--forest);
    box-shadow: 0 0 0 4px var(--forest-bg);
}

.ps-hero--accent-forest .ps-hero-submit[b-yeu5bv4wzs] { background: var(--forest); }
.ps-hero--accent-forest .ps-hero-submit:hover[b-yeu5bv4wzs] { background: #2C5E23; }

.ps-hero--accent-forest .ps-hero-chip:hover[b-yeu5bv4wzs],
.ps-hero--accent-forest .ps-hero-chip--recent:hover[b-yeu5bv4wzs] {
    background: var(--forest-bg);
    border-color: var(--forest-border);
    color: var(--forest);
}

/* ---- Compact variant (results header) ---- */
.ps-hero--compact .ps-hero-input-wrap[b-yeu5bv4wzs] {
    border-width: 1px;
    border-color: var(--border-2);
    padding: 4px 4px 4px var(--s-4);
}

.ps-hero--compact .ps-hero-input[b-yeu5bv4wzs] {
    font: 400 15px/1.3 var(--font-sans);
    padding: var(--s-2) 0;
}

.ps-hero--compact .ps-hero-submit[b-yeu5bv4wzs] {
    height: 36px;
    min-width: 36px;
    padding: 0 12px;
    font-size: 16px;
}

/* ---- Suggestion chips ---- */
.ps-hero-suggest[b-yeu5bv4wzs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2);
    padding: 0 var(--s-3);
    color: var(--muted);
    font: 400 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-hero-suggest-label[b-yeu5bv4wzs] {
    margin-right: var(--s-1);
}

.ps-hero-chip[b-yeu5bv4wzs] {
    display: inline-flex;
    align-items: center;
    padding: 5px 11px;
    border-radius: var(--r-pill);
    background: var(--surface);
    border: 1px solid transparent;
    color: var(--body);
    font: 500 12px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

    .ps-hero-chip:hover[b-yeu5bv4wzs] {
        background: var(--indigo-50);
        border-color: var(--indigo-200);
        color: var(--indigo-800);
    }

/* Recent-history chips — same shape, subtle clock affordance + tint */
.ps-hero-chip--recent[b-yeu5bv4wzs] {
    background: var(--white);
    border-color: var(--border);
    color: var(--muted);
    gap: 5px;
}

    .ps-hero-chip--recent:hover[b-yeu5bv4wzs] {
        background: var(--indigo-50);
        border-color: var(--indigo-200);
        color: var(--indigo-800);
    }

.ps-hero-chip-ic[b-yeu5bv4wzs] {
    font-size: 11px;
    line-height: 1;
    opacity: 0.7;
}

/* ---- Bottom caption (categories explainer) ---- */
.ps-hero-caption[b-yeu5bv4wzs] {
    padding: 0 var(--s-3);
    color: var(--muted);
    font: 400 12px/1.5 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    text-align: center;
}

.ps-hero-caption[b-yeu5bv4wzs]  b {
    color: var(--body);
    font-weight: 600;
}
/* /Components/Search/SearchResults.razor.rz.scp.css */
.ps-sr[b-upyhmtd5ac] {
    display: flex;
    flex-direction: column;
    gap: var(--s-6);
    font-family: var(--font-sans);
}

/* ---- Loading + empty states ---- */
.ps-sr-loading[b-upyhmtd5ac],
.ps-sr-empty[b-upyhmtd5ac] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-12) var(--s-5);
    color: var(--muted);
    font: 400 14px/1.5 var(--font-sans);
    text-align: center;
}

.ps-sr-spinner[b-upyhmtd5ac] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--surface);
    border-top-color: var(--indigo-600);
    border-radius: 50%;
    animation: ps-sr-spin-b-upyhmtd5ac 0.7s linear infinite;
}

@keyframes ps-sr-spin-b-upyhmtd5ac {
    to { transform: rotate(360deg); }
}

.ps-sr-empty h3[b-upyhmtd5ac] {
    margin: 0;
    color: var(--ink);
    font: 600 18px/1.3 var(--font-sans);
}

.ps-sr-empty p[b-upyhmtd5ac] {
    margin: 0;
    max-width: 52ch;
}

/* ---- Top summary line ---- */
.ps-sr-summary[b-upyhmtd5ac] {
    display: flex;
    align-items: baseline;
    gap: var(--s-3);
    padding: 0 var(--s-2);
    color: var(--body);
    font: 400 14px/1.5 var(--font-sans);
    flex-wrap: wrap;
}

.ps-sr-summary-q[b-upyhmtd5ac] { min-width: 0; }

/* ---- Sort control ---- */
.ps-sr-sort[b-upyhmtd5ac] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-pill);
}

.ps-sr-sort-btn[b-upyhmtd5ac] {
    padding: 5px 12px;
    border: none;
    background: transparent;
    color: var(--body);
    font: 500 12px/1 var(--font-sans);
    border-radius: var(--r-pill);
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
    white-space: nowrap;
}

    .ps-sr-sort-btn:hover[b-upyhmtd5ac] { color: var(--indigo-800); }

.ps-sr-sort-btn--on[b-upyhmtd5ac] {
    background: var(--white);
    color: var(--ink);
    box-shadow: var(--shadow-sm);
}

    .ps-sr-sort-btn--on:hover[b-upyhmtd5ac] { color: var(--ink); }

.ps-sr-count[b-upyhmtd5ac] {
    font: 600 24px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    color: var(--ink);
}

/* ---- Group ---- */
.ps-sr-group[b-upyhmtd5ac] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-sr-group-head[b-upyhmtd5ac] {
    display: flex;
    align-items: baseline;
    gap: var(--s-3);
    padding: var(--s-4) var(--s-5);
    border-bottom: 1px solid var(--border);
    background: var(--paper);
}

.ps-sr-group-title[b-upyhmtd5ac] {
    margin: 0;
    font: 600 14px/1.3 var(--font-sans);
    color: var(--ink);
}

.ps-sr-group-count[b-upyhmtd5ac] {
    margin-left: auto;
    color: var(--muted);
    font: 500 13px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

/* ---- Item ---- */
.ps-sr-list[b-upyhmtd5ac] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ps-sr-item[b-upyhmtd5ac] {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid var(--border);
    transition: background 0.12s ease;
}

    .ps-sr-item:last-child[b-upyhmtd5ac] {
        border-bottom: none;
    }

    .ps-sr-item:hover[b-upyhmtd5ac] {
        background: var(--paper);
    }

.ps-sr-item-clickable[b-upyhmtd5ac] {
    flex: 1;
    min-width: 0;
    display: grid;
    grid-template-columns: 32px 1fr 24px;
    align-items: start;
    gap: var(--s-4);
    padding: var(--s-4) var(--s-5);
    cursor: pointer;
    /* Rendered as <a target="_blank"> — strip the default anchor
       text styling so the row keeps its native list-item look. */
    color: inherit;
    text-decoration: none;
}

    .ps-sr-item-clickable:hover[b-upyhmtd5ac] {
        text-decoration: none;
    }

.ps-sr-body[b-upyhmtd5ac] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.ps-sr-row[b-upyhmtd5ac] {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
    flex-wrap: wrap;
}

.ps-sr-title[b-upyhmtd5ac] {
    color: var(--ink);
    font: 500 14px/1.4 var(--font-sans);
}

.ps-sr-sub[b-upyhmtd5ac] {
    color: var(--body);
    font: 400 13px/1.4 var(--font-sans);
}

.ps-sr-cat-chip[b-upyhmtd5ac] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    background: var(--indigo-50);
    color: var(--indigo-800);
    font: 500 11px/1.3 var(--font-sans);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ---- Region + position meta row ---- */
.ps-sr-meta[b-upyhmtd5ac] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-2) var(--s-4);
    color: var(--muted);
    font: 400 12px/1.4 var(--font-sans);
}

.ps-sr-meta-item[b-upyhmtd5ac] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.ps-sr-region[b-upyhmtd5ac] { color: var(--body); }

.ps-sr-region-ic[b-upyhmtd5ac] {
    color: var(--muted);
    font-size: 12px;
    line-height: 1;
}

/* ---- Source badges (Знайдено в: ЄДР · ВП N) ---- */
.ps-sr-sources[b-upyhmtd5ac] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
}

.ps-sr-sources-label[b-upyhmtd5ac] {
    color: var(--muted);
    font: 400 12px/1.4 var(--font-sans);
}

.ps-sr-source[b-upyhmtd5ac] {
    display: inline-flex;
    align-items: center;
    padding: 2px 9px;
    border-radius: var(--r-pill);
    font: 600 11px/1.4 var(--font-sans);
    font-feature-settings: var(--font-feature-tnum);
    background: var(--surface);
    color: var(--body);
}

.ps-sr-source--edr[b-upyhmtd5ac]     { background: var(--indigo-50); color: var(--indigo-800); }
.ps-sr-source--vp[b-upyhmtd5ac]      { background: var(--amber-bg);  color: var(--amber); }
.ps-sr-source--court[b-upyhmtd5ac]   { background: var(--coral-bg);  color: var(--coral); }
.ps-sr-source--mvs[b-upyhmtd5ac]     { background: var(--coral-bg);  color: var(--coral); }
.ps-sr-source--decl[b-upyhmtd5ac]    { background: var(--forest-bg); color: var(--forest); }
.ps-sr-source--license[b-upyhmtd5ac] { background: var(--forest-bg); color: var(--forest); }

/* ---- Collapsible PEP / indirect matches ---- */
.ps-sr-pep[b-upyhmtd5ac] {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
}

.ps-sr-pep-head[b-upyhmtd5ac] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-4) var(--s-5);
    background: var(--paper);
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.12s ease;
}

    .ps-sr-pep-head:hover[b-upyhmtd5ac] { background: var(--surface); }

.ps-sr-pep-ic[b-upyhmtd5ac] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: var(--r-md);
    background: var(--amber-bg);
    color: var(--amber);
    font-size: 14px;
    flex-shrink: 0;
}

.ps-sr-pep-title[b-upyhmtd5ac] {
    font: 600 14px/1.3 var(--font-sans);
    color: var(--ink);
}

.ps-sr-pep-count[b-upyhmtd5ac] {
    color: var(--muted);
    font: 500 13px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-sr-pep-chev[b-upyhmtd5ac] {
    margin-left: auto;
    color: var(--muted);
    font-size: 13px;
}

.ps-sr-pep--open .ps-sr-pep-head[b-upyhmtd5ac] { border-bottom: 1px solid var(--border); }

/* ---- Inline badges ---- */
.ps-sr-badge[b-upyhmtd5ac] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: var(--r-pill);
    font: 500 11px/1.3 var(--font-sans);
}

.ps-sr-badge--neutral[b-upyhmtd5ac] { background: var(--surface);    color: var(--muted); }
.ps-sr-badge--coral[b-upyhmtd5ac]   { background: var(--coral-bg);   color: var(--coral); }
.ps-sr-badge--amber[b-upyhmtd5ac]   { background: var(--amber-bg);   color: var(--amber); }
.ps-sr-badge--forest[b-upyhmtd5ac]  { background: var(--forest-bg);  color: var(--forest); }

.ps-sr-go[b-upyhmtd5ac] {
    color: var(--muted);
    font: 600 16px/1 var(--font-sans);
    align-self: center;
}


/* ============================================================
   Category filter chips (Phase 3 #1)
   ============================================================ */
.ps-sr-chips[b-upyhmtd5ac] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    margin: var(--s-3) 0 var(--s-4);
    align-items: center;
}

.ps-sr-chip[b-upyhmtd5ac] {
    padding: 6px 14px;
    background: var(--white);
    border: 1px solid var(--border-2);
    border-radius: var(--r-pill);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

    .ps-sr-chip:hover[b-upyhmtd5ac] { background: var(--surface); border-color: var(--indigo-200); }
    .ps-sr-chip b[b-upyhmtd5ac] { font-weight: 600; font-size: 11px; color: var(--ink); }

.ps-sr-chip--on[b-upyhmtd5ac] {
    background: var(--ink);
    color: var(--white);
    border-color: var(--ink);
}

    .ps-sr-chip--on b[b-upyhmtd5ac] { color: var(--white); }
    .ps-sr-chip--on:hover[b-upyhmtd5ac] { background: var(--ink); border-color: var(--ink); color: var(--white); }

.ps-sr-chip-reset[b-upyhmtd5ac] {
    padding: 6px 12px;
    background: transparent;
    border: 0;
    color: var(--muted);
    font: 500 12px/1 var(--font-sans);
    cursor: pointer;
}

    .ps-sr-chip-reset:hover[b-upyhmtd5ac] { color: var(--coral); }

/* ---- Sanctions chip — критичний AML/KYC сигнал, coral акцент.
   Звичайний фільтр-чіп (як решта), але виділяється кольором. ---- */
.ps-sr-chip--sanction[b-upyhmtd5ac] {
    background: var(--coral-bg);
    color: var(--coral);
    border-color: var(--coral-border);
    font-weight: 600;
}

    .ps-sr-chip--sanction:hover[b-upyhmtd5ac] {
        background: var(--coral);
        color: var(--white);
        border-color: var(--coral);
    }

    .ps-sr-chip--sanction:hover b[b-upyhmtd5ac] { color: var(--white); }

    .ps-sr-chip--sanction.ps-sr-chip--on[b-upyhmtd5ac] {
        background: var(--coral);
        color: var(--white);
        border-color: var(--coral);
    }

    .ps-sr-chip--sanction.ps-sr-chip--on b[b-upyhmtd5ac] { color: var(--white); }

    .ps-sr-chip--sanction b[b-upyhmtd5ac] { color: inherit; }

/* ============================================================
   Best matches group (Phase 3 #1)
   ============================================================ */
.ps-sr-group--best .ps-sr-group-title[b-upyhmtd5ac] {
    color: var(--indigo-600);
}

.ps-sr-group--best .ps-sr-group-title[b-upyhmtd5ac]::before {
    content: '★';
    margin-right: 8px;
    color: var(--indigo-600);
    font-size: 14px;
}

.ps-sr-group--best .ps-sr-item[b-upyhmtd5ac] {
    background: var(--indigo-50);
    border-color: var(--indigo-200);
}

.ps-sr-group--best .ps-sr-item:hover[b-upyhmtd5ac] {
    border-color: var(--indigo-400);
}

/* ============================================================
   ⭐ Save toggle button (Phase 3 #1)
   ============================================================ */
.ps-sr-star[b-upyhmtd5ac] {
    width: 36px;
    height: 36px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--border-2);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    border-radius: var(--r-md);
    flex-shrink: 0;
    margin-left: var(--s-2);
    transition: color 0.12s, background 0.12s, border-color 0.12s;
}

    .ps-sr-star:hover[b-upyhmtd5ac] { color: var(--amber); background: var(--amber-bg); }
    .ps-sr-star--on[b-upyhmtd5ac] { color: var(--amber); }
    .ps-sr-star--on:hover[b-upyhmtd5ac] { color: var(--amber); background: var(--amber-bg); border-color: var(--amber-border); }
/* /Components/Search/SearchTypeCards.razor.rz.scp.css */
.stc[b-nnl1btwws6] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s-3);
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    font-family: var(--font-sans);
}

@media (max-width: 880px) {
    .stc[b-nnl1btwws6] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
    .stc[b-nnl1btwws6] { grid-template-columns: 1fr; }
}

.stc-card[b-nnl1btwws6] {
    display: grid;
    grid-template-columns: 36px 1fr;
    grid-template-areas: "ic body" "ic kbd";
    align-items: center;
    gap: 2px var(--s-3);
    padding: var(--s-4);
    text-align: left;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease, transform 0.12s ease;
}

    .stc-card:hover[b-nnl1btwws6] {
        border-color: var(--indigo-200);
        box-shadow: var(--shadow-sm);
        transform: translateY(-1px);
    }

    .stc-card:focus-visible[b-nnl1btwws6] {
        outline: none;
        border-color: var(--indigo-600);
        box-shadow: var(--shadow-glow);
    }

.stc-card--active[b-nnl1btwws6] {
    background: var(--indigo-50);
    border-color: var(--indigo-400);
    cursor: default;
}

    .stc-card--active:hover[b-nnl1btwws6] {
        transform: none;
        box-shadow: none;
        border-color: var(--indigo-400);
    }

.stc-ic[b-nnl1btwws6] {
    grid-area: ic;
    align-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--r-md);
    font-size: 18px;
    line-height: 1;
    color: var(--white);
}

.stc-ic--uni[b-nnl1btwws6]    { background: var(--indigo-600); }
.stc-ic--graph[b-nnl1btwws6]  { background: var(--indigo-800); }
.stc-ic--prop[b-nnl1btwws6]   { background: var(--amber); }
.stc-ic--tender[b-nnl1btwws6] { background: var(--forest); }

.stc-body[b-nnl1btwws6] {
    grid-area: body;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.stc-title[b-nnl1btwws6] {
    color: var(--ink);
    font: 600 15px/1.2 var(--font-sans);
}

.stc-desc[b-nnl1btwws6] {
    color: var(--muted);
    font: 400 12px/1.4 var(--font-sans);
}

.stc-kbd[b-nnl1btwws6] {
    grid-area: kbd;
    justify-self: start;
    margin-top: 2px;
    padding: 2px 8px;
    border-radius: var(--r-sm);
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--muted);
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.02em;
}

.stc-card--active .stc-kbd[b-nnl1btwws6] {
    background: var(--white);
    border-color: var(--indigo-200);
    color: var(--indigo-800);
}
/* /Components/Search/SearchTypeNav.razor.rz.scp.css */
.stn[b-duy9skconw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--s-2);
    padding-top: var(--s-6);
    margin-top: var(--s-2);
    border-top: 1px solid var(--border);
    font-family: var(--font-sans);
}

.stn-label[b-duy9skconw] {
    color: var(--muted);
    font: 400 12px/1 var(--font-mono);
    margin-right: var(--s-1);
}

.stn-chip[b-duy9skconw] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: var(--r-pill);
    background: var(--white);
    border: 1px solid var(--border);
    color: var(--body);
    font: 500 13px/1 var(--font-sans);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

/* ---- Per-type icon colour (matches the search-type cards) ---- */
.stn-chip--indigo[b-duy9skconw]  .lucide-ic { color: var(--indigo-600); }
.stn-chip--amber[b-duy9skconw]   .lucide-ic { color: var(--amber); }
.stn-chip--forest[b-duy9skconw]  .lucide-ic { color: var(--forest); }

/* ---- Hover (clickable chips only — the active one is a <span>) ---- */
.stn-chip--indigo:not(.stn-chip--active):hover[b-duy9skconw] {
    background: var(--indigo-50);
    border-color: var(--indigo-200);
    color: var(--indigo-800);
}

.stn-chip--amber:not(.stn-chip--active):hover[b-duy9skconw] {
    background: var(--amber-bg);
    border-color: var(--amber-border);
    color: var(--amber);
}

.stn-chip--forest:not(.stn-chip--active):hover[b-duy9skconw] {
    background: var(--forest-bg);
    border-color: var(--forest-border);
    color: var(--forest);
}

/* ---- Active chip — accented (NOT grey: grey reads as disabled).
   Uses each type's palette so it matches the page accent + its icon. ---- */
.stn-chip--active[b-duy9skconw] {
    cursor: default;
    font-weight: 600;
}

.stn-chip--active.stn-chip--indigo[b-duy9skconw] {
    background: var(--indigo-50);
    border-color: var(--indigo-600);
    color: var(--indigo-800);
}

.stn-chip--active.stn-chip--amber[b-duy9skconw] {
    background: var(--amber-bg);
    border-color: var(--amber);
    color: var(--amber);
}

.stn-chip--active.stn-chip--forest[b-duy9skconw] {
    background: var(--forest-bg);
    border-color: var(--forest);
    color: var(--forest);
}

/* ---- Specialised-search hint under the chip row ---- */
.stn-hint[b-duy9skconw] {
    margin: var(--s-3) 0 0;
    color: var(--muted);
    font: 400 12px/1.5 var(--font-sans);
    text-align: center;
}

.stn-hint-link[b-duy9skconw] {
    padding: 0;
    border: none;
    background: none;
    color: var(--indigo-600);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

    .stn-hint-link:hover[b-duy9skconw] { text-decoration: underline; }
/* /Components/Shared/EntityIconChip.razor.rz.scp.css */
.eic[b-2arisqoc4s] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: #fff;
}

.eic--indigo[b-2arisqoc4s]      { background: var(--indigo-600); }
.eic--indigo-soft[b-2arisqoc4s] { background: var(--indigo-400); }
.eic--amber[b-2arisqoc4s]       { background: var(--amber); }
.eic--coral[b-2arisqoc4s]       { background: var(--coral); }
.eic--coral-soft[b-2arisqoc4s]  { background: var(--coral-bg); color: var(--coral); }
.eic--forest[b-2arisqoc4s]      { background: var(--forest); }
.eic--neutral[b-2arisqoc4s]     { background: var(--surface); color: var(--muted); }
/* /Components/Shared/IbanList.razor.rz.scp.css */
.ps-iban[b-aqtl3yrodx] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.ps-iban-row[b-aqtl3yrodx] {
    display: grid;
    grid-template-columns: 44px 1fr 22px;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-2) var(--s-3);
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
}

    .ps-iban-row:hover[b-aqtl3yrodx] {
        background: var(--indigo-50);
        border-color: var(--indigo-200);
    }

.ps-iban-cur[b-aqtl3yrodx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 22px;
    padding: 0 8px;
    border-radius: var(--r-sm);
    background: var(--indigo-50);
    color: var(--indigo-800);
    font: 600 11px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    text-transform: uppercase;
}

.ps-iban-cur--usd[b-aqtl3yrodx] { background: var(--forest-bg); color: var(--forest); }
.ps-iban-cur--eur[b-aqtl3yrodx] { background: var(--amber-bg);  color: var(--amber); }

.ps-iban-body[b-aqtl3yrodx] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ps-iban-num[b-aqtl3yrodx] {
    color: var(--ink);
    font: 500 12px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ps-iban-bank[b-aqtl3yrodx] {
    color: var(--muted);
    font: 400 11px/1.3 var(--font-sans);
}

.ps-iban-copy[b-aqtl3yrodx] {
    color: var(--muted);
    font: 500 14px/1 var(--font-mono);
    text-align: right;
    transition: color 0.12s ease;
}

.ps-iban-row:hover .ps-iban-copy[b-aqtl3yrodx] {
    color: var(--indigo-600);
}
/* /Components/Shared/Icon.razor.rz.scp.css */
.lucide-ic[b-rvvik2xv7o] {
    display: inline-block;
    flex: 0 0 auto;
    vertical-align: middle;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}
/* /Components/Shared/PdfExportModal.razor.rz.scp.css */
/* PdfExportModal.razor.css — scoped styles matching Prism tokens.
   Colors mirror tokens.css (AccentHex #4F50CC, TextPrimary #0C0C14, etc.). */

.pdf-modal-backdrop[b-qrycueuxwu] {
    position: fixed; inset: 0;
    background: rgba(12, 12, 20, 0.44);
    backdrop-filter: blur(2px);
    display: flex; align-items: center; justify-content: center;
    z-index: 1200;
    animation: pdfFadeIn-b-qrycueuxwu 140ms ease-out;
}

.pdf-modal[b-qrycueuxwu] {
    width: min(560px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(12, 12, 20, 0.22), 0 0 0 1px #EBECEF;
    display: flex; flex-direction: column;
    overflow: hidden;
    font-family: Inter, system-ui, sans-serif;
    color: #0C0C14;
    animation: pdfPopIn-b-qrycueuxwu 160ms cubic-bezier(.2,.8,.2,1);
}

/* Head */
.pdf-modal__head[b-qrycueuxwu] {
    display: flex; gap: 14px; align-items: flex-start;
    padding: 20px 22px 16px;
    border-bottom: 1px solid #EBECEF;
}
.pdf-modal__icon[b-qrycueuxwu] {
    width: 40px; height: 40px; border-radius: 10px;
    background: #EEEEFB; color: #3535B0;
    display: flex; align-items: center; justify-content: center;
    flex: 0 0 auto;
}
.pdf-modal__head-text[b-qrycueuxwu] { flex: 1; min-width: 0; }
.pdf-modal__title[b-qrycueuxwu] {
    margin: 0; font-size: 16px; font-weight: 700;
    letter-spacing: -0.01em; color: #0C0C14;
}
.pdf-modal__subtitle[b-qrycueuxwu] {
    margin: 3px 0 0; font-size: 12.5px; color: #6B6B78;
}
.pdf-modal__close[b-qrycueuxwu] {
    flex: 0 0 auto;
    width: 32px; height: 32px; border-radius: 8px;
    background: transparent; border: none; color: #6B6B78;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background 120ms ease;
}
.pdf-modal__close:hover[b-qrycueuxwu] { background: #F7F7FA; color: #0C0C14; }

/* Toolbar */
.pdf-modal__toolbar[b-qrycueuxwu] {
    display: flex; align-items: center; gap: 8px;
    padding: 12px 22px;
    border-bottom: 1px solid #EBECEF;
    background: #FAFAFC;
}
.pdf-modal__chip[b-qrycueuxwu] {
    font: inherit; font-size: 12px; font-weight: 600;
    padding: 6px 12px; border-radius: 999px;
    background: #fff; border: 1px solid #D8D8E0;
    color: #3E3F4A; cursor: pointer;
    transition: background 120ms, border-color 120ms, color 120ms;
}
.pdf-modal__chip:hover[b-qrycueuxwu] { border-color: #4F50CC; color: #3535B0; background: #EEEEFB; }
.pdf-modal__counter[b-qrycueuxwu] {
    margin-left: auto; font-size: 12px; color: #6B6B78;
}

/* Body (scroll region) */
.pdf-modal__body[b-qrycueuxwu] {
    padding: 8px 8px 12px;
    overflow: auto;
    flex: 1 1 auto;
}
.pdf-modal__group[b-qrycueuxwu] { padding: 10px 14px; }
.pdf-modal__group-title[b-qrycueuxwu] {
    font-size: 10.5px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.08em;
    color: #4F50CC;
    padding: 0 4px 8px;
}
.pdf-modal__group-items[b-qrycueuxwu] {
    display: grid; gap: 4px;
}

/* Items */
.pdf-modal__item[b-qrycueuxwu] {
    display: grid;
    grid-template-columns: 20px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 120ms ease;
}
.pdf-modal__item:hover[b-qrycueuxwu] { background: #F7F7FA; }
.pdf-modal__item.is-checked[b-qrycueuxwu] { background: #F5F5FB; }
.pdf-modal__item.is-required[b-qrycueuxwu] { cursor: default; opacity: 0.9; }
.pdf-modal__item.is-disabled[b-qrycueuxwu] { cursor: not-allowed; opacity: 0.55; }
.pdf-modal__item.is-disabled:hover[b-qrycueuxwu] { background: transparent; }
.pdf-modal__item.is-disabled .pdf-modal__item-name[b-qrycueuxwu] { color: #8E8EA0; text-decoration: line-through; }
.pdf-modal__item input[type="checkbox"][b-qrycueuxwu] {
    width: 18px; height: 18px; margin: 0;
    accent-color: #4F50CC;
    cursor: inherit;
}
.pdf-modal__item-label[b-qrycueuxwu] {
    display: flex; flex-direction: column; gap: 2px;
    min-width: 0;
}
.pdf-modal__item-name[b-qrycueuxwu] {
    font-size: 13.5px; font-weight: 500; color: #0C0C14;
    line-height: 1.3;
}
.pdf-modal__item-hint[b-qrycueuxwu] {
    font-size: 11.5px; color: #6B6B78;
}
.pdf-modal__item-req[b-qrycueuxwu] {
    font-size: 10px; font-weight: 600; letter-spacing: 0.04em;
    color: #3535B0; background: #EEEEFB;
    padding: 2px 7px; border-radius: 999px;
    text-transform: uppercase;
}
.pdf-modal__item-req.pdf-modal__item-req--muted[b-qrycueuxwu] {
    color: #6B6B78; background: #EBEBF0;
}
.pdf-modal__item-count[b-qrycueuxwu] {
    min-width: 28px;
    text-align: center;
    font-size: 11px; font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
}
.pdf-modal__item-count.has[b-qrycueuxwu] { color: #3535B0; background: #EEEEFB; }
.pdf-modal__item-count.zero[b-qrycueuxwu] { color: #8E8EA0; background: #F0F0F4; font-weight: 600; }
.pdf-modal__item-count.loading[b-qrycueuxwu] { color: #8E8EA0; background: transparent; font-weight: 600; }
.pdf-modal__item.is-empty .pdf-modal__item-name[b-qrycueuxwu] { color: #6B6B78; }
.pdf-modal__item.is-empty .pdf-modal__item-hint[b-qrycueuxwu] { color: #A0A0AA; }

/* Progress */
.pdf-modal__progress[b-qrycueuxwu] {
    padding: 12px 22px;
    border-top: 1px solid #EBECEF;
    background: #FAFAFC;
}
.pdf-modal__progress-bar[b-qrycueuxwu] {
    height: 6px; width: 100%; background: #EBECEF; border-radius: 999px; overflow: hidden;
}
.pdf-modal__progress-bar span[b-qrycueuxwu] {
    display: block; height: 100%; background: #4F50CC;
    border-radius: 999px;
    transition: width 240ms ease;
}
.pdf-modal__progress-label[b-qrycueuxwu] {
    margin-top: 6px; font-size: 11.5px; color: #6B6B78;
}

/* Foot */
.pdf-modal__foot[b-qrycueuxwu] {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 22px;
    border-top: 1px solid #EBECEF;
    background: #fff;
}
.pdf-modal__foot-note[b-qrycueuxwu] {
    font-size: 11.5px; color: #6B6B78; flex: 1;
}
.pdf-modal__foot-actions[b-qrycueuxwu] { display: flex; gap: 8px; }
.pdf-modal__btn[b-qrycueuxwu] {
    font: inherit; font-size: 13px; font-weight: 600;
    padding: 9px 16px; border-radius: 9px;
    cursor: pointer; border: 1px solid transparent;
    transition: background 120ms, border-color 120ms, color 120ms, box-shadow 120ms;
}
.pdf-modal__btn:disabled[b-qrycueuxwu] { opacity: 0.55; cursor: not-allowed; }
.pdf-modal__btn--ghost[b-qrycueuxwu] {
    background: #fff; border-color: #D8D8E0; color: #3E3F4A;
}
.pdf-modal__btn--ghost:hover:not(:disabled)[b-qrycueuxwu] { background: #F7F7FA; }
.pdf-modal__btn--primary[b-qrycueuxwu] {
    background: #4F50CC; color: #fff;
    box-shadow: 0 1px 0 rgba(0,0,0,0.04), 0 2px 8px rgba(79,80,204,0.28);
}
.pdf-modal__btn--primary:hover:not(:disabled)[b-qrycueuxwu] { background: #3F40B8; }

@keyframes pdfFadeIn-b-qrycueuxwu { from { opacity: 0; } to { opacity: 1; } }
@keyframes pdfPopIn-b-qrycueuxwu {
    from { opacity: 0; transform: translateY(6px) scale(0.985); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}
/* /Components/Shared/SidePanel.razor.rz.scp.css */
/* SidePanel — shared chrome for both modes. */

.ps-sp[b-acrrnrx2md] {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border-left: 1px solid var(--border);
    color: var(--ink);
    font-family: var(--font-sans);
    overflow: hidden;
}

/* ---- Split mode: sits inline as a column ---- */
.ps-sp--split[b-acrrnrx2md] {
    width: 100%;
    max-width: 460px;
    height: 100%;
    border-radius: var(--r-xl);
    border: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
    /* Default to hidden if IsOpen=false; layout collapses naturally. */
}

.ps-sp--split:not(.ps-sp--open)[b-acrrnrx2md] {
    display: none;
}

/* ---- Overlay mode: fixed-positioned slide-in from right ---- */
.ps-sp--overlay[b-acrrnrx2md] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(480px, 100vw);
    z-index: 300;
    transform: translateX(100%);
    transition: transform 0.25s ease-out;
    box-shadow: var(--shadow-lg);
}

.ps-sp--overlay.ps-sp--open[b-acrrnrx2md] {
    transform: translateX(0);
}

.ps-sp-backdrop[b-acrrnrx2md] {
    position: fixed;
    inset: 0;
    z-index: 299;
    background: rgba(27, 23, 80, 0.18);
    backdrop-filter: blur(2px);
    animation: ps-sp-fade-in-b-acrrnrx2md 0.2s ease-out;
}

@keyframes ps-sp-fade-in-b-acrrnrx2md {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ---- Header ---- */
.ps-sp-head[b-acrrnrx2md] {
    display: flex;
    align-items: flex-start;
    gap: var(--s-3);
    padding: var(--s-5) var(--s-5) var(--s-4);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.ps-sp-head-text[b-acrrnrx2md] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ps-sp-close[b-acrrnrx2md] {
    width: 28px;
    height: 28px;
    border: 1px solid var(--border);
    border-radius: var(--r-md);
    background: var(--white);
    color: var(--muted);
    font: 400 18px/1 var(--font-sans);
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

    .ps-sp-close:hover[b-acrrnrx2md] {
        background: var(--coral-bg);
        color: var(--coral);
        border-color: var(--coral-border);
    }

/* ---- Status row ---- */
.ps-sp-status[b-acrrnrx2md] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
    padding: var(--s-3) var(--s-5);
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

/* ---- Body (scrollable) ---- */
.ps-sp-body[b-acrrnrx2md] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: var(--s-5);
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
}

    .ps-sp-body[b-acrrnrx2md]::-webkit-scrollbar { width: 6px; }
    .ps-sp-body[b-acrrnrx2md]::-webkit-scrollbar-track { background: transparent; }
    .ps-sp-body[b-acrrnrx2md]::-webkit-scrollbar-thumb {
        background: var(--border-2);
        border-radius: 3px;
    }

/* ---- Footer ---- */
.ps-sp-foot[b-acrrnrx2md] {
    display: flex;
    gap: var(--s-2);
    padding: var(--s-3) var(--s-5);
    border-top: 1px solid var(--border);
    background: var(--paper);
    flex-shrink: 0;
}

/* ---- Header content helpers (exposed to consumers via ::deep so
   common pieces don't need to be re-styled in every domain) ---- */
[b-acrrnrx2md] .ps-sp-eyebrow {
    display: inline-block;
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

[b-acrrnrx2md] .ps-sp-title {
    margin: 0;
    font: 600 28px/1.1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    color: var(--ink);
    word-break: break-word;
}

[b-acrrnrx2md] .ps-sp-amount {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: var(--s-4);
    background: var(--coral-bg);
    border-radius: var(--r-lg);
}

    [b-acrrnrx2md] .ps-sp-amount-label {
        font: 500 11px/1.3 var(--font-mono);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--coral);
    }

    [b-acrrnrx2md] .ps-sp-amount-cat {
        font: 600 14px/1.4 var(--font-sans);
        color: var(--ink);
    }

    [b-acrrnrx2md] .ps-sp-amount-val {
        display: flex;
        align-items: baseline;
        gap: 4px;
        font: 600 28px/1 var(--font-mono);
        font-feature-settings: var(--font-feature-tnum);
        color: var(--coral);
    }

        [b-acrrnrx2md] .ps-sp-amount-val small {
            color: var(--muted);
            font: 500 12px/1 var(--font-mono);
        }
/* /Components/Shared/SidePanelCard.razor.rz.scp.css */
.ps-spc[b-617476hheu] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    padding: var(--s-4);
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--r-lg);
}

.ps-spc-head[b-617476hheu] {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
}

.ps-spc-label[b-617476hheu] {
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

.ps-spc-count[b-617476hheu] {
    margin-left: auto;
    color: var(--ink);
    font: 600 13px/1 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

.ps-spc-primary[b-617476hheu] {
    color: var(--ink);
    font: 600 15px/1.4 var(--font-sans);
    word-break: break-word;
}

.ps-spc-secondary[b-617476hheu] {
    color: var(--muted);
    font: 400 13px/1.4 var(--font-sans);
}

.ps-spc-meta[b-617476hheu] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px var(--s-2);
    color: var(--muted);
    font: 400 12px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
}

    .ps-spc-meta[b-617476hheu]  b {
        color: var(--ink);
        font-weight: 600;
    }

.ps-spc-meta-sep[b-617476hheu] {
    color: var(--border-2);
}

.ps-spc-body[b-617476hheu] {
    margin-top: var(--s-2);
}

/* ---- Contact row helpers (exposed via ::deep so callers can drop
   markup like:
       <div class="ps-spc-contact">
         <span class="ps-spc-contact-k mono">ТЕЛЕФОН</span>
         <b class="mono">+380 …</b>
       </div>
   without writing per-domain CSS) ---- */
[b-617476hheu] .ps-spc-contact {
    display: grid;
    grid-template-columns: 70px 1fr;
    align-items: baseline;
    gap: var(--s-3);
    padding: var(--s-2) 0;
    border-bottom: 1px dashed var(--border);
}

    [b-617476hheu] .ps-spc-contact:last-child { border-bottom: none; }

[b-617476hheu] .ps-spc-contact-k {
    font: 500 11px/1.3 var(--font-mono);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted);
}

[b-617476hheu] .ps-spc-contact-v {
    color: var(--ink);
    font: 500 13px/1.4 var(--font-mono);
    font-feature-settings: var(--font-feature-tnum);
    word-break: break-all;
}
