/* Help Center — app-native skin.
 *
 * The Help Center used to be dressed in bare Metronic utilities (.card,
 * .bg-light-primary, .fs-2x, .btn-warning). That reads as a different product
 * from the rest of the app: the dashboard, reports library, pipeline and deal
 * surfaces all speak one vocabulary — mono uppercase eyebrows, a 28-32px
 * extrabold page title over a muted subtitle, hairline-bordered 14px cards
 * with no shadow, hairline-separated rows, emerald reserved for interaction.
 * This file gives the Help Center that same vocabulary.
 *
 * Everything is scoped to .dwi-help-shell (every Help Center wrapper carries
 * it) so nothing leaks into the rest of the app, and every color resolves
 * through the --dwi-* token contract (themes/tokens.css + each brand's theme
 * file), so light/dark and every white-label palette follow automatically.
 *
 * A LOCAL token layer (--hc-*) sits between the two on purpose: several
 * --dwi-* tokens (hover, rail, line-soft) have no dark-mode override in the
 * brand files, so using them as fills would paint a light block onto a dark
 * page. The --hc-* names below are the only ones this file paints with, and
 * the [data-theme=dark] block re-points exactly those.
 */

/* ══ 1. Token layer ══════════════════════════════════════════════════════
 * The public header/footer are listed alongside the shell because they are
 * rendered OUTSIDE it (layout.html puts them above and below the wrapper)
 * and still need the same local tokens. */
.dwi-help-shell,
.dwi-hc-public-bar,
.dwi-hc-public-foot {
    --hc-surface: var(--dwi-color-surface, #FFFFFF);
    --hc-line: var(--dwi-color-border, #E8ECEA);
    --hc-line-strong: rgba(20, 33, 29, .16);
    --hc-fill: #F6F8F7;
    --hc-fill-hover: #F0F4F2;
    --hc-text: var(--dwi-color-text, #14211D);
    --hc-text-2: var(--dwi-color-text-secondary, #2B3A35);
    --hc-muted: var(--dwi-color-muted, #6B7570);
    --hc-primary: var(--dwi-color-primary, #0E6E59);
    --hc-primary-strong: var(--dwi-color-primary-strong, #0B5C4A);
    --hc-primary-soft: var(--dwi-color-primary-soft, rgba(14, 110, 89, .10));
    --hc-warning: var(--dwi-color-warning, #B7791F);
    --hc-warning-soft: var(--dwi-color-warning-soft, rgba(183, 121, 31, .13));
    --hc-radius: 14px;
    --hc-radius-sm: 10px;
    --hc-radius-xs: 8px;
    --hc-mono: var(--dwi-font-mono, 'IBM Plex Mono', ui-monospace, monospace);
    --hc-shadow-hover: var(--dwi-shadow-hover, 0 4px 12px -4px rgba(20, 40, 30, .14));

    color: var(--hc-text);
    padding-bottom: 56px;
}
/* Every multi-column decision below is made against the SHELL's own width,
   not the viewport's. The app rail collapses from 240px to 96px, so the
   space actually available to a Help Center page varies by ~145px at a
   fixed viewport size — a viewport media query cannot see that, and would
   either drop a column that fits or squeeze one that doesn't. */
.dwi-help-shell { container-type: inline-size; container-name: hcshell; }
[data-theme=dark] .dwi-help-shell,
[data-theme=dark] .dwi-hc-public-bar,
[data-theme=dark] .dwi-hc-public-foot {
    --hc-line-strong: rgba(255, 255, 255, .22);
    --hc-fill: rgba(255, 255, 255, .045);
    --hc-fill-hover: rgba(255, 255, 255, .075);
}

/* The app-wide chrome skin restyles bare utilities at
   `.dwi-shell-modern .container-xxl .X` (0,3,0) with light-only colors. The
   doubled selectors below reach (0,4,0) so Help Center text keeps resolving
   through the tokens that actually flip. */
.dwi-help-shell,
.dwi-shell-modern .container-xxl.dwi-help-shell { color: var(--hc-text); }
.dwi-help-shell a { text-decoration: none; }
.dwi-help-shell h1,
.dwi-help-shell h2,
.dwi-help-shell h3,
.dwi-help-shell h4 { color: var(--hc-text); }

/* ══ 2. Page masthead ════════════════════════════════════════════════════
 * Mirrors the dashboard/reports page head: mono eyebrow, extrabold title,
 * muted one-line subtitle. Left-aligned, on the page background — never in
 * a card, so the Help Center opens the way every other app page opens. */
.dwi-help-shell .hc-head { margin-bottom: 30px; }
.dwi-help-shell .hc-eyebrow {
    display: block;
    font-family: var(--hc-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--hc-muted);
    margin-bottom: 10px;
}
.dwi-help-shell .hc-title {
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -.022em;
    line-height: 1.12;
    margin: 0 0 8px;
}
.dwi-help-shell .hc-sub {
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--hc-muted);
    margin: 0;
    max-width: 62ch;
}

/* Header with a tinted icon tile (category + video hub pages). */
.dwi-help-shell .hc-head--icon { display: flex; align-items: center; gap: 16px; }
.dwi-help-shell .hc-head-icon {
    flex: 0 0 auto;
    width: 48px; height: 48px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: var(--hc-primary-soft);
    color: var(--hc-primary);
    font-size: 20px;
    margin-top: 2px;
}
.dwi-help-shell .hc-head-icon i { color: var(--hc-primary) !important; font-size: 20px !important; }

/* ══ 3. Search ═══════════════════════════════════════════════════════════ */
.dwi-help-shell .hc-search {
    position: relative;
    max-width: 560px;
    margin-top: 22px;
}
.dwi-help-shell .hc-search-icon {
    position: absolute;
    left: 16px; top: 50%;
    transform: translateY(-50%);
    color: var(--hc-muted);
    font-size: 16px;
    pointer-events: none;
    line-height: 1;
}
.dwi-help-shell .hc-search-icon i { color: var(--hc-muted) !important; font-size: 16px !important; }
.dwi-help-shell .hc-search-input,
.dwi-help-shell input.hc-search-input {
    width: 100%;
    height: 50px;
    padding: 0 16px 0 44px;
    font-size: 14.5px;
    font-weight: 500;
    color: var(--hc-text);
    background: var(--hc-surface);
    border: 1px solid var(--hc-line);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .03);
    transition: border-color .15s ease, box-shadow .15s ease;
    outline: none;
}
.dwi-help-shell .hc-search-input::placeholder { color: var(--hc-muted); font-weight: 400; }
.dwi-help-shell .hc-search-input:focus {
    border-color: var(--hc-primary);
    box-shadow: 0 0 0 3px var(--hc-primary-soft);
}

/* Result panel — a floating card of hairline-separated rows. */
.dwi-help-shell .hc-search-panel {
    position: absolute;
    z-index: 20;
    top: calc(100% + 8px);
    left: 0; right: 0;
    background: var(--hc-surface);
    border: 1px solid var(--hc-line);
    border-radius: 12px;
    box-shadow: var(--dwi-shadow-raised, 0 8px 22px -10px rgba(20, 40, 30, .18));
    overflow: hidden;
    padding: 6px;
    text-align: left;
}
.dwi-help-shell .hc-result {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: var(--hc-radius-xs);
}
.dwi-help-shell .hc-result:hover,
.dwi-help-shell .hc-result:focus-visible { background: var(--hc-fill); }
.dwi-help-shell .hc-result i { color: var(--hc-primary) !important; font-size: 15px !important; }
.dwi-help-shell .hc-result-title {
    display: block;
    font-size: 13.5px; font-weight: 600;
    color: var(--hc-text);
    line-height: 1.35;
}
.dwi-help-shell .hc-result-meta {
    display: block;
    font-size: 11.5px; font-weight: 500;
    color: var(--hc-muted);
    margin-top: 1px;
}
.dwi-help-shell .hc-result-empty {
    padding: 14px 12px;
    font-size: 13px;
    color: var(--hc-muted);
}

/* ══ 4. Chips (suggested searches, asset filters) ════════════════════════ */
.dwi-help-shell .hc-suggest {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 8px;
    margin-top: 18px;
}
.dwi-help-shell .hc-suggest-label {
    font-family: var(--hc-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--hc-muted);
    margin-right: 2px;
}
.dwi-help-shell .hc-chip,
.dwi-help-shell .hc-asset {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1px solid var(--hc-line);
    background: var(--hc-surface);
    color: var(--hc-text-2);
    font-size: 12.5px; font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.dwi-help-shell .hc-chip:hover,
.dwi-help-shell .hc-asset:hover {
    border-color: var(--hc-line-strong);
    background: var(--hc-fill);
    color: var(--hc-text);
}
.dwi-help-shell .hc-chip:focus-visible,
.dwi-help-shell .hc-asset:focus-visible {
    outline: 2px solid var(--hc-primary);
    outline-offset: 2px;
}
.dwi-help-shell .hc-asset-n,
.dwi-help-shell .hc-chip .hc-asset-n {
    font-family: var(--hc-mono);
    font-size: 11px;
    font-weight: 500;
    color: var(--hc-muted);
}
/* Active state is fill + border + a check glyph, never color alone. */
.dwi-help-shell .hc-asset[aria-pressed="true"] {
    border-color: var(--hc-primary);
    background: var(--hc-primary-soft);
    color: var(--hc-primary);
}
.dwi-help-shell .hc-asset[aria-pressed="true"]::before { content: "\2713\00a0"; font-weight: 700; }
.dwi-help-shell .hc-asset[aria-pressed="true"] .hc-asset-n { color: var(--hc-primary); }

.dwi-help-shell .hc-assets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }

/* ══ 5. Section headers ══════════════════════════════════════════════════ */
.dwi-help-shell .hc-section { margin-bottom: 34px; }
.dwi-help-shell .hc-section-head {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.dwi-help-shell .hc-section-title {
    font-size: 16.5px;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--hc-text);
    margin: 0;
}
.dwi-help-shell .hc-section-meta {
    font-family: var(--hc-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .06em;
    color: var(--hc-muted);
    white-space: nowrap;
}

/* ══ 6. Cards & link rows ════════════════════════════════════════════════ */
.dwi-help-shell .hc-card {
    background: var(--hc-surface);
    border: 1px solid var(--hc-line);
    border-radius: var(--hc-radius);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .03);
}
.dwi-help-shell .hc-card--flat { box-shadow: none; }
.dwi-help-shell .hc-list { padding: 4px 6px; }

/* One article row: emerald file glyph, title + summary, arrow that steps
   right on hover. `display:flex` deliberately carries no !important — the
   asset filter hides rows with Bootstrap's .d-none, which must win. */
.dwi-help-shell .hc-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    transition: background .15s ease;
}
.dwi-help-shell .hc-row + .hc-row { box-shadow: 0 -1px 0 var(--hc-line); }
/* Set by the asset filter on the first row that survives it (help_center.js):
   the sibling rule above cannot tell that the rows before it are hidden. */
.dwi-help-shell .hc-row.hc-row--first { box-shadow: none; }
.dwi-help-shell a.hc-row:hover { background: var(--hc-fill); }
.dwi-help-shell .hc-row-icon {
    flex: 0 0 auto;
    width: 34px; height: 34px;
    border-radius: var(--hc-radius-xs);
    display: flex; align-items: center; justify-content: center;
    background: var(--hc-primary-soft);
    color: var(--hc-primary);
}
.dwi-help-shell .hc-row-icon i { color: var(--hc-primary) !important; font-size: 15px !important; }
.dwi-help-shell .hc-row-body { min-width: 0; flex: 1 1 auto; }
.dwi-help-shell .hc-row-title {
    display: block;
    font-size: 14.5px; font-weight: 600;
    color: var(--hc-text);
    line-height: 1.35;
}
.dwi-help-shell .hc-row-sub {
    display: block;
    font-size: 12.5px; font-weight: 400;
    color: var(--hc-muted);
    line-height: 1.5;
    margin-top: 2px;
}
/* On the wide canvas a stacked title-over-summary row leaves the arrow
   stranded a thousand pixels from the text it belongs to. Above 1200px the
   row splits into title and summary columns, so a list reads with the same
   rhythm as the app's tables. Scoped to `> .hc-row-body` — grid tiles and
   the walkthrough CTA keep their stacked bodies. */
@container hcshell (min-width: 1000px) {
    .dwi-help-shell .hc-row > .hc-row-body {
        display: grid;
        grid-template-columns: minmax(200px, 34%) minmax(0, 1fr);
        align-items: baseline;
        column-gap: 32px;
    }
    .dwi-help-shell .hc-row > .hc-row-body .hc-row-sub { margin-top: 0; }
}
.dwi-help-shell .hc-row-go {
    flex: 0 0 auto;
    color: var(--hc-muted);
    font-size: 14px;
    transition: transform .15s ease, color .15s ease;
}
.dwi-help-shell .hc-row-go i { color: inherit !important; font-size: 14px !important; }
.dwi-help-shell a.hc-row:hover .hc-row-title { color: var(--hc-primary); }
.dwi-help-shell a.hc-row:hover .hc-row-go { color: var(--hc-primary); transform: translateX(3px); }
.dwi-help-shell a.hc-row:focus-visible { outline: 2px solid var(--hc-primary); outline-offset: -2px; }

/* Unpublished ("Coming soon") rows read as inert, not as broken links. */
.dwi-help-shell .hc-row--soon .hc-row-icon { background: var(--hc-fill); color: var(--hc-muted); }
.dwi-help-shell .hc-row--soon .hc-row-icon i { color: var(--hc-muted) !important; }
.dwi-help-shell .hc-row--soon .hc-row-title { color: var(--hc-muted); font-weight: 500; }

/* Numbered variant — the "Start here" sequence, where order is the point. */
.dwi-help-shell .hc-row-num {
    flex: 0 0 auto;
    width: 34px; height: 34px;
    border-radius: var(--hc-radius-xs);
    display: flex; align-items: center; justify-content: center;
    background: var(--hc-primary-soft);
    color: var(--hc-primary);
    font-family: var(--hc-mono);
    font-size: 12.5px;
    font-weight: 600;
}

/* Card grid used by Start here / Related / Video cards. Column COUNT tracks
   the viewport, never the tile width: on the app's 1800px canvas a
   two-column grid would hand each tile 860px for a title and one line of
   summary. Tiles stay ~380-560px wide at every breakpoint instead. */
.dwi-help-shell .hc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.dwi-help-shell .hc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@container hcshell (min-width: 1080px) {
    .dwi-help-shell .hc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dwi-help-shell .hc-grid--3 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* Inside the documentation column the canvas is the 860px reading track,
   not the page — related articles stay paired there. */
.dwi-help-shell .hc-doc-main .hc-grid,
.dwi-help-shell .hc-grid--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 991.98px) { .dwi-help-shell .hc-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
    .dwi-help-shell .hc-grid,
    .dwi-help-shell .hc-grid--3,
    .dwi-help-shell .hc-doc-main .hc-grid,
    .dwi-help-shell .hc-grid--pair { grid-template-columns: minmax(0, 1fr); }
}

/* A grid tile is the row treatment in its own bordered box. */
.dwi-help-shell .hc-tile {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 16px;
    background: var(--hc-surface);
    border: 1px solid var(--hc-line);
    border-radius: var(--hc-radius);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .03);
    transition: border-color .15s ease, box-shadow .15s ease;
    height: 100%;
}
.dwi-help-shell a.hc-tile:hover {
    border-color: var(--hc-line-strong);
    box-shadow: var(--hc-shadow-hover);
}
.dwi-help-shell a.hc-tile:hover .hc-row-title { color: var(--hc-primary); }
.dwi-help-shell a.hc-tile:focus-visible { outline: 2px solid var(--hc-primary); outline-offset: 2px; }
.dwi-help-shell .hc-tile--soon { background: var(--hc-fill); box-shadow: none; }
.dwi-help-shell .hc-tile--soon .hc-row-icon { background: var(--hc-surface); color: var(--hc-muted); }
.dwi-help-shell .hc-tile--soon .hc-row-icon i { color: var(--hc-muted) !important; }
.dwi-help-shell .hc-tile--soon .hc-row-title { color: var(--hc-muted); font-weight: 500; }
.dwi-help-shell .hc-tile--soon .hc-badge { margin-left: 6px; vertical-align: 1px; }

/* ══ 7. Browse by topic ══════════════════════════════════════════════════ */
.dwi-help-shell .hc-topics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
@container hcshell (min-width: 1080px) { .dwi-help-shell .hc-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .dwi-help-shell .hc-topics { grid-template-columns: minmax(0, 1fr); } }
.dwi-help-shell .hc-topic {
    display: flex; align-items: center; gap: 14px;
    padding: 16px 18px;
    background: var(--hc-surface);
    border: 1px solid var(--hc-line);
    border-radius: var(--hc-radius);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .03);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.dwi-help-shell .hc-topic:hover {
    border-color: var(--hc-line-strong);
    box-shadow: var(--hc-shadow-hover);
}
.dwi-help-shell .hc-topic:focus-visible { outline: 2px solid var(--hc-primary); outline-offset: 2px; }
.dwi-help-shell .hc-topic-icon {
    flex: 0 0 auto;
    width: 40px; height: 40px;
    border-radius: var(--hc-radius-sm);
    display: flex; align-items: center; justify-content: center;
    background: var(--hc-primary-soft);
    color: var(--hc-primary);
}
.dwi-help-shell .hc-topic-icon i { color: var(--hc-primary) !important; font-size: 17px !important; }
.dwi-help-shell .hc-topic-body { min-width: 0; flex: 1 1 auto; }
.dwi-help-shell .hc-topic-name {
    display: block;
    font-size: 14.5px; font-weight: 600;
    color: var(--hc-text);
    line-height: 1.3;
}
.dwi-help-shell .hc-topic:hover .hc-topic-name { color: var(--hc-primary); }
.dwi-help-shell .hc-topic-blurb {
    display: block;
    font-size: 12.5px;
    color: var(--hc-muted);
    line-height: 1.5;
    margin-top: 2px;
}
.dwi-help-shell .hc-topic-count {
    flex: 0 0 auto;
    margin-left: auto;
    padding-left: 14px;
    font-family: var(--hc-mono);
    font-size: 11px; font-weight: 500;
    color: var(--hc-muted);
    white-space: nowrap;
}

/* ══ 8. Banners (video / troubleshooting / contact) ══════════════════════
 * One quiet banner family instead of three Bootstrap tint classes: the same
 * bordered surface as every card, a tinted icon tile carrying the only
 * color, and a real button on the right. */
.dwi-help-shell .hc-banner {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: 16px;
    padding: 18px 20px;
    background: var(--hc-surface);
    border: 1px solid var(--hc-line);
    border-radius: var(--hc-radius);
    margin-bottom: 12px;
}
.dwi-help-shell .hc-banner-icon {
    flex: 0 0 auto;
    width: 42px; height: 42px;
    border-radius: var(--hc-radius-sm);
    display: flex; align-items: center; justify-content: center;
    background: var(--hc-primary-soft);
    color: var(--hc-primary);
}
.dwi-help-shell .hc-banner-icon i { color: var(--hc-primary) !important; font-size: 19px !important; }
.dwi-help-shell .hc-banner--warning .hc-banner-icon { background: var(--hc-warning-soft); color: var(--hc-warning); }
.dwi-help-shell .hc-banner--warning .hc-banner-icon i { color: var(--hc-warning) !important; }
.dwi-help-shell .hc-banner-body { flex: 1 1 240px; min-width: 0; }
.dwi-help-shell .hc-banner-title {
    font-size: 15px; font-weight: 700;
    color: var(--hc-text);
    margin: 0 0 3px;
    letter-spacing: -.01em;
}
.dwi-help-shell .hc-banner-sub {
    font-size: 13px;
    color: var(--hc-muted);
    margin: 0;
    line-height: 1.5;
}
.dwi-help-shell .hc-banner-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-left: auto; }

/* ══ 9. Buttons ══════════════════════════════════════════════════════════
 * Also matched under .dwi-hc-public-bar: the logged-out header sits OUTSIDE
 * .dwi-help-shell (layout.html renders it above the wrapper), and its
 * "Sign in" button must be the same object as every other Help Center
 * button rather than a Metronic .btn lookalike. */
.dwi-help-shell .hc-btn,
.dwi-hc-public-bar .hc-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 17px;
    border-radius: 11px;
    font-size: 13.5px; font-weight: 600;
    line-height: 1.2;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.dwi-help-shell .hc-btn--primary,
.dwi-hc-public-bar .hc-btn--primary {
    background: var(--hc-primary);
    border-color: var(--hc-primary);
    color: #fff;
    box-shadow: 0 1px 2px rgba(14, 110, 89, .18);
}
.dwi-help-shell .hc-btn--primary:hover,
.dwi-hc-public-bar .hc-btn--primary:hover {
    background: var(--hc-primary-strong);
    border-color: var(--hc-primary-strong);
    color: #fff;
    box-shadow: 0 4px 12px rgba(14, 110, 89, .22);
}
.dwi-help-shell .hc-btn--ghost {
    background: var(--hc-surface);
    border-color: var(--hc-line);
    color: var(--hc-text-2);
}
.dwi-help-shell .hc-btn--ghost:hover {
    border-color: var(--hc-line-strong);
    background: var(--hc-fill);
    color: var(--hc-text);
}
.dwi-help-shell .hc-btn:focus-visible,
.dwi-hc-public-bar .hc-btn:focus-visible { outline: 2px solid var(--hc-primary); outline-offset: 2px; }
.dwi-help-shell .hc-btn--sm,
.dwi-hc-public-bar .hc-btn--sm { padding: 7px 13px; font-size: 12.5px; border-radius: 9px; }

/* ══ 10. Breadcrumb ══════════════════════════════════════════════════════ */
.dwi-help-shell .hc-crumbs {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 7px;
    font-size: 12.5px;
    font-weight: 500;
    margin-bottom: 18px;
}
.dwi-help-shell .hc-crumbs a { color: var(--hc-muted); }
.dwi-help-shell .hc-crumbs a:hover { color: var(--hc-primary); }
.dwi-help-shell .hc-crumbs .hc-crumb-sep { color: var(--hc-muted); opacity: .55; font-size: 10px; line-height: 1; }
.dwi-help-shell .hc-crumbs .hc-crumb-sep i { color: inherit !important; font-size: 10px !important; }
.dwi-help-shell .hc-crumbs .hc-crumb-here {
    color: var(--hc-text);
    font-weight: 600;
    max-width: 46ch;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* ══ 11. Article page ════════════════════════════════════════════════════ */
.dwi-help-shell .hc-article { padding: 40px 44px 36px; }
@media (max-width: 767.98px) { .dwi-help-shell .hc-article { padding: 26px 20px 24px; } }
.dwi-help-shell .hc-article-title {
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -.022em;
    line-height: 1.14;
    margin: 0 0 14px;
}
.dwi-help-shell .hc-meta {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 10px 16px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--hc-line);
    margin-bottom: 28px;
}
.dwi-help-shell .hc-meta-pill {
    display: inline-flex; align-items: center;
    padding: 4px 11px;
    border-radius: 999px;
    background: var(--hc-primary-soft);
    color: var(--hc-primary);
    font-size: 11.5px; font-weight: 600;
    letter-spacing: .01em;
}
.dwi-help-shell .hc-meta-pill:hover { background: var(--hc-primary); color: #fff; }
.dwi-help-shell .hc-meta-item {
    display: inline-flex; align-items: center; gap: 6px;
    font-family: var(--hc-mono);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .03em;
    color: var(--hc-muted);
}
.dwi-help-shell .hc-meta-item i { color: var(--hc-muted) !important; font-size: 12px !important; }

/* Walkthrough CTA above the body. */
.dwi-help-shell .hc-watch {
    display: flex; align-items: center; gap: 13px;
    padding: 14px 16px;
    border: 1px solid var(--hc-line);
    border-radius: var(--hc-radius);
    background: var(--hc-fill);
    margin-bottom: 26px;
}
.dwi-help-shell .hc-watch:hover { border-color: var(--hc-primary); }
.dwi-help-shell .hc-watch-icon {
    flex: 0 0 auto;
    width: 40px; height: 40px;
    border-radius: var(--hc-radius-sm);
    display: flex; align-items: center; justify-content: center;
    background: var(--hc-surface);
    color: var(--hc-primary);
    border: 1px solid var(--hc-line);
}
.dwi-help-shell .hc-watch-icon i { color: var(--hc-primary) !important; font-size: 18px !important; }

/* Reading column + sticky section rail. Below 1200px (and on every public
   page narrower than the rail's breathing room) the rail folds away and the
   prose takes the full column — the TOC is navigation, never content. */
/* ── Documentation shell ─────────────────────────────────────────────────
 * The Help Center sits on the app's full 1800px canvas (.dwi-page-shell--wide,
 * the same width as the dashboard, pipeline and reports library). Prose does
 * NOT get wider with the page — a 1700px line is unreadable — so the extra
 * width is spent the way documentation sites spend it: on navigation either
 * side of a fixed reading measure.
 *
 *   shell ≥1350px   category guides │ article │ sections
 *   shell ≥1090px                   │ article │ sections
 *   below                           │ article │
 *
 * The GRID SPANS THE SHELL EDGE TO EDGE, exactly like the category and index
 * pages: the guides rail starts on the breadcrumb's left edge and the section
 * rail ends on the page's right edge, so the Help Center reads as the same
 * canvas as the rest of the app. (It used to cap the whole grid at 1350px and
 * centre it, which inset the article ~150px on both sides of every other
 * page.) Reading measure is protected by capping the COLUMN CONTENT
 * (.hc-doc-main) rather than the track — the rails stay pinned to the page
 * edges and any surplus width becomes gutter, never a longer line. The cap is
 * the reading card's own comfortable width (.hc-prose is 74ch on top of it),
 * so the card never grows a dead strip of empty column beside the prose. The
 * breakpoints are the same arithmetic as before, so the reading column is
 * still ≥840px wherever a rail is shown. Rails are dropped, never squeezed.
 *
 * No `align-items` override: the rails must STRETCH to the row's full height,
 * or `position: sticky` inside them has no travel and they scroll away after
 * the first screen. */
.dwi-help-shell .hc-doc {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 40px;
}
.dwi-help-shell .hc-doc-main { max-width: 880px; }
.dwi-help-shell .hc-doc-nav,
.dwi-help-shell .hc-doc-rail { display: none; }
/* Thresholds are the tracks' own arithmetic — 840+210+40 and
   220+840+210+80 — so a rail appears exactly when it fits and never
   squeezes the reading column to make room. */
@container hcshell (min-width: 1090px) {
    .dwi-help-shell .hc-doc--rails { grid-template-columns: minmax(0, 1fr) 210px; }
    .dwi-help-shell .hc-doc--rails .hc-doc-rail { display: block; }
}
@container hcshell (min-width: 1350px) {
    .dwi-help-shell .hc-doc--rails { grid-template-columns: 220px minmax(0, 1fr) 210px; }
    .dwi-help-shell .hc-doc--rails .hc-doc-nav { display: block; }
}
.dwi-help-shell .hc-toc,
.dwi-help-shell .hc-sidenav { position: sticky; top: 96px; }

/* Category guides rail — quiet link list, current article marked. */
.dwi-help-shell .hc-sidenav { display: block; }
.dwi-help-shell .hc-sidenav-label {
    display: block;
    font-family: var(--hc-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: var(--hc-muted);
    padding-bottom: 10px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--hc-line);
}
.dwi-help-shell a.hc-sidenav-label:hover { color: var(--hc-primary); }
.dwi-help-shell .hc-sidenav-link {
    display: block;
    padding: 7px 0 7px 12px;
    border-left: 2px solid transparent;
    font-size: 13px;
    line-height: 1.45;
    color: var(--hc-muted);
    transition: color .15s ease, border-color .15s ease;
}
.dwi-help-shell a.hc-sidenav-link:hover { color: var(--hc-text); }
.dwi-help-shell .hc-sidenav-link.active {
    color: var(--hc-primary);
    border-left-color: var(--hc-primary);
    font-weight: 600;
}
.dwi-help-shell .hc-toc-label {
    display: block;
    font-family: var(--hc-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: var(--hc-muted);
    padding-bottom: 10px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--hc-line);
}
.dwi-help-shell .hc-toc a {
    display: block;
    padding: 6px 0 6px 12px;
    margin-left: -1px;
    border-left: 2px solid transparent;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--hc-muted);
    transition: color .15s ease, border-color .15s ease;
}
.dwi-help-shell .hc-toc a:hover { color: var(--hc-text); }
.dwi-help-shell .hc-toc a.active {
    color: var(--hc-primary);
    border-left-color: var(--hc-primary);
    font-weight: 600;
}

/* ── Prose ───────────────────────────────────────────────────────────────
 * Article bodies are authored as plain <p>/<h2>/<ul>/<ol> carrying Metronic
 * spacing utilities (mb-4, mt-10, fs-2 fw-bold). The rules below own the
 * reading rhythm outright — measure, scale, spacing — so the utilities in
 * the bodies become inert rather than dictating the typography. */
.dwi-help-shell .hc-prose {
    max-width: 74ch;
    font-size: 15.5px;
    line-height: 1.72;
    color: var(--hc-text-2);
}
[data-theme=dark] .dwi-help-shell .hc-prose { color: rgba(255, 255, 255, .82); }
.dwi-help-shell .hc-prose > *:first-child { margin-top: 0 !important; }
.dwi-help-shell .hc-prose p {
    margin: 0 0 18px !important;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}
.dwi-help-shell .hc-prose h2 {
    font-size: 19px !important;
    font-weight: 700 !important;
    letter-spacing: -.015em;
    line-height: 1.35;
    color: var(--hc-text);
    margin: 38px 0 12px !important;
    padding-top: 0;
    /* The app header is fixed; a TOC jump must not land under it. */
    scroll-margin-top: 96px;
}
.dwi-help-shell .hc-prose h3 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--hc-text);
    margin: 28px 0 10px !important;
}
.dwi-help-shell .hc-prose ul,
.dwi-help-shell .hc-prose ol {
    margin: 0 0 20px !important;
    padding-left: 22px;
}
.dwi-help-shell .hc-prose li {
    margin: 0 0 8px !important;
    color: inherit;
    line-height: 1.68;
}
.dwi-help-shell .hc-prose li::marker { color: var(--hc-muted); }
.dwi-help-shell .hc-prose strong { color: var(--hc-text); font-weight: 600; }
.dwi-help-shell .hc-prose em { font-style: italic; }
.dwi-help-shell .hc-prose a { color: var(--hc-primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.dwi-help-shell .hc-prose a:hover { color: var(--hc-primary-strong); }
.dwi-help-shell .hc-prose code {
    font-family: var(--hc-mono);
    font-size: .88em;
    padding: 2px 6px;
    border-radius: 5px;
    background: var(--hc-fill);
    color: var(--hc-text);
}

/* ── Product screenshots (lib/HelpScreenshot.php) ────────────────────────
 * Native to the article, not a gallery: the same hairline border and radius
 * as every card in the Help Center, sitting in the reading column's flow
 * with a quiet caption beneath. No decorative shadow, no lightbox — the app
 * layouts ship no lightbox, and inventing one for eleven images would be a
 * framework with a single consumer.
 *
 * The images are UI captured on a light surface, so a dark Help shell must
 * not tint or invert them; only the frame around them follows the theme. */
.dwi-help-shell .hc-prose .hc-shot {
    margin: 4px 0 24px !important;
    padding: 0;
}
.dwi-help-shell .hc-shot-img {
    display: block;
    /* `width: auto`, NOT `width: 100%`. The captures are 1× and vary in
       width — a 408px rail card blown up to the 772px reading column is
       visibly soft, and upscaling a screenshot is the fastest way to make
       documentation look cheap. Intrinsic size, capped at the column. */
    width: auto;
    max-width: 100%;
    height: auto;
    border: 1px solid var(--hc-line);
    border-radius: var(--hc-radius-sm);
    /* The capture's own page background is near-white; on a dark shell the
       frame would otherwise float with no edge at all. */
    background: #FFFFFF;
}
[data-theme=dark] .dwi-help-shell .hc-shot-img { border-color: rgba(255, 255, 255, .16); }
.dwi-help-shell .hc-shot-caption {
    margin-top: 9px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--hc-muted);
}

/* Callouts. The bodies write them as Metronic notices
   (`notice bg-light-warning border-warning border-dashed`); this converts
   them into the app's quiet bordered callout with a warm accent edge. */
.dwi-help-shell .hc-prose .notice {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    padding: 15px 17px !important;
    margin: 0 0 22px !important;
    background: var(--hc-warning-soft) !important;
    border: 1px solid var(--hc-warning) !important;
    border-radius: var(--hc-radius-sm) !important;
}
.dwi-help-shell .hc-prose .notice i {
    color: var(--hc-warning) !important;
    font-size: 17px !important;
    margin: 2px 12px 0 0 !important;
    flex: 0 0 auto;
}
.dwi-help-shell .hc-prose .notice > div { min-width: 0; }
.dwi-help-shell .hc-prose .notice p:last-child { margin-bottom: 0 !important; }
[data-theme=dark] .dwi-help-shell .hc-prose .notice { background: rgba(183, 121, 31, .18) !important; }

/* Tags + feedback footer of an article. */
.dwi-help-shell .hc-article-foot {
    margin-top: 34px;
    padding-top: 22px;
    border-top: 1px solid var(--hc-line);
}
.dwi-help-shell .hc-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.dwi-help-shell .hc-tag {
    display: inline-flex; align-items: center;
    padding: 4px 10px;
    border-radius: 6px;
    background: var(--hc-fill);
    color: var(--hc-muted);
    font-family: var(--hc-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.dwi-help-shell .hc-feedback {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 12px 16px;
}
.dwi-help-shell .hc-feedback-q { font-size: 14px; font-weight: 600; color: var(--hc-text); }
.dwi-help-shell .hc-feedback-votes { display: flex; gap: 8px; }
.dwi-help-shell .hc-tags + #dwi_help_feedback { margin-top: 22px; }
.dwi-help-shell .hc-vote {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 15px;
    border-radius: 10px;
    border: 1px solid var(--hc-line);
    background: var(--hc-surface);
    color: var(--hc-text-2);
    font-size: 13px; font-weight: 600;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.dwi-help-shell .hc-vote i { font-size: 14px !important; color: inherit !important; }
.dwi-help-shell .hc-vote:hover { border-color: var(--hc-primary); color: var(--hc-primary); background: var(--hc-primary-soft); }
.dwi-help-shell .hc-vote:focus-visible { outline: 2px solid var(--hc-primary); outline-offset: 2px; }
.dwi-help-shell .hc-feedback-comment { max-width: 560px; margin-top: 16px; }
.dwi-help-shell .hc-feedback-comment .hc-btn { margin-top: 12px; }
.dwi-help-shell .hc-feedback-label {
    display: block;
    font-size: 12.5px; font-weight: 500;
    color: var(--hc-muted);
    margin-bottom: 7px;
}
.dwi-help-shell .hc-textarea,
.dwi-help-shell textarea.hc-textarea {
    width: 100%;
    padding: 11px 13px;
    font-size: 13.5px;
    color: var(--hc-text);
    background: var(--hc-surface);
    border: 1px solid var(--hc-line);
    border-radius: var(--hc-radius-sm);
    outline: none;
    resize: vertical;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.dwi-help-shell .hc-textarea:focus { border-color: var(--hc-primary); box-shadow: 0 0 0 3px var(--hc-primary-soft); }
.dwi-help-shell .hc-feedback-done {
    display: flex; align-items: center; gap: 7px;
    margin-top: 10px;
    font-size: 13.5px; font-weight: 600;
    color: var(--hc-primary);
}
.dwi-help-shell .hc-feedback-done i { color: var(--hc-primary) !important; font-size: 15px !important; }

/* ══ 12. Video library ═══════════════════════════════════════════════════ */
.dwi-help-shell .hc-filters {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}
.dwi-help-shell .hc-filter-label {
    font-family: var(--hc-mono);
    font-size: 10.5px; font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--hc-muted);
    margin-right: 2px;
}
.dwi-help-shell .hc-filter-label + .hc-chip { margin-right: 0; }
.dwi-help-shell .hc-filters .hc-chip.active {
    border-color: var(--hc-primary);
    background: var(--hc-primary-soft);
    color: var(--hc-primary);
}
.dwi-help-shell .hc-filter-gap { width: 14px; }

.dwi-help-shell .hc-video {
    display: block;
    background: var(--hc-surface);
    border: 1px solid var(--hc-line);
    border-radius: var(--hc-radius);
    overflow: hidden;
    height: 100%;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.dwi-help-shell a.hc-video:hover { border-color: var(--hc-line-strong); box-shadow: var(--hc-shadow-hover); }
.dwi-help-shell a.hc-video:hover .hc-row-title { color: var(--hc-primary); }
.dwi-help-shell .hc-video--soon { background: var(--hc-fill); }
.dwi-help-shell .hc-video-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    display: flex; align-items: center; justify-content: center;
    background: var(--hc-fill);
    border-bottom: 1px solid var(--hc-line);
}
.dwi-help-shell .hc-video-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dwi-help-shell .hc-video-thumb i { font-size: 32px !important; color: var(--hc-primary) !important; }
.dwi-help-shell .hc-video--soon .hc-video-thumb i { color: var(--hc-muted) !important; }
.dwi-help-shell .hc-video-duration {
    position: absolute;
    right: 8px; bottom: 8px;
    padding: 2px 7px;
    border-radius: 5px;
    background: rgba(20, 33, 29, .82);
    color: #fff;
    font-family: var(--hc-mono);
    font-size: 10.5px;
    font-weight: 500;
}
.dwi-help-shell .hc-video-body { display: block; padding: 14px 16px 16px; }
.dwi-help-shell .hc-badge { text-transform: capitalize; }
.dwi-help-shell .hc-badges .hc-badge { text-transform: uppercase; }
.dwi-help-shell .hc-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.dwi-help-shell .hc-badge {
    display: inline-flex; align-items: center;
    padding: 3px 9px;
    border-radius: 6px;
    background: var(--hc-fill);
    color: var(--hc-muted);
    font-family: var(--hc-mono);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.dwi-help-shell .hc-badge--primary { background: var(--hc-primary-soft); color: var(--hc-primary); }
.dwi-help-shell .hc-badge--warning { background: var(--hc-warning-soft); color: var(--hc-warning); }
.dwi-help-shell .hc-video-speaker {
    display: flex; align-items: center; gap: 6px;
    margin-top: 9px;
    font-size: 12px;
    color: var(--hc-muted);
}
.dwi-help-shell .hc-video-speaker i { color: var(--hc-muted) !important; font-size: 13px !important; }

.dwi-help-shell .hc-player {
    aspect-ratio: 16 / 9;
    width: 100%;
    border-radius: var(--hc-radius);
    overflow: hidden;
    background: #101614;
    border: 1px solid var(--hc-line);
    margin-bottom: 26px;
}
.dwi-help-shell .hc-player iframe { width: 100%; height: 100%; border: 0; display: block; }
.dwi-help-shell .hc-chapters { display: flex; flex-direction: column; gap: 8px; }
.dwi-help-shell .hc-chapter {
    display: flex; align-items: center; gap: 12px;
    font-size: 14px;
    color: var(--hc-text-2);
}
.dwi-help-shell .hc-chapter-at {
    flex: 0 0 auto;
    min-width: 52px;
    padding: 3px 8px;
    border-radius: 6px;
    background: var(--hc-fill);
    color: var(--hc-muted);
    font-family: var(--hc-mono);
    font-size: 11.5px;
    text-align: center;
}

/* ══ 13. Empty states ════════════════════════════════════════════════════ */
.dwi-help-shell .hc-empty {
    text-align: center;
    padding: 56px 24px;
}
.dwi-help-shell .hc-empty-icon {
    width: 52px; height: 52px;
    border-radius: 14px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--hc-fill);
    color: var(--hc-muted);
    margin-bottom: 16px;
}
.dwi-help-shell .hc-empty-icon i { color: var(--hc-muted) !important; font-size: 22px !important; }
.dwi-help-shell .hc-empty-title {
    font-size: 17px; font-weight: 700;
    color: var(--hc-text);
    margin: 0 0 6px;
}
.dwi-help-shell .hc-empty-sub {
    font-size: 13.5px;
    color: var(--hc-muted);
    margin: 0 auto 20px;
    max-width: 46ch;
    line-height: 1.6;
}
.dwi-help-shell .hc-none {
    text-align: center;
    padding: 34px 20px;
    font-size: 13.5px;
    color: var(--hc-muted);
}

/* ══ 14. Public (logged-out) chrome ══════════════════════════════════════
 * layout.html carries no app chrome, so the Help Center supplies its own
 * bar and footer. Same hairline + token vocabulary as the shell above; not
 * scoped to .dwi-help-shell because they sit outside that wrapper.
 *
 * layout.html also does NOT load common_styles.css, so the shared
 * .dwi-page-shell width contract is inert on every logged-out Help Center
 * page — the reading column ran the full width of the monitor. The rules
 * below restate that contract (same --dwi-page-report token, same gutters)
 * for the Help Center's own wrappers only, so nothing else on a public
 * layout is affected and the logged-in pages see identical values. */
.dwi-help-shell.dwi-page-shell,
.dwi-hc-public-inner.dwi-page-shell {
    width: 100%;
    margin-inline: auto;
    padding-inline: 30px;
}
.dwi-help-shell.dwi-page-shell--wide,
.dwi-hc-public-inner.dwi-page-shell--wide { max-width: var(--dwi-page-wide, 1800px); }
@media (max-width: 991.98px) {
    .dwi-help-shell.dwi-page-shell,
    .dwi-hc-public-inner.dwi-page-shell { padding-inline: 15px; }
}

.dwi-hc-public-bar,
.dwi-hc-public-foot {
    background: var(--dwi-color-surface, #fff);
    border-bottom: 1px solid var(--dwi-color-border, #E8ECEA);
}
.dwi-hc-public-foot { border-bottom: 0; border-top: 1px solid var(--dwi-color-border, #E8ECEA); margin-top: 48px; }
/* padding-block only — the horizontal padding is the page gutter set by the
   .dwi-page-shell rules above, and a `padding: x y` shorthand here would
   zero it and push the logo against the viewport edge. */
.dwi-hc-public-inner {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    padding-block: 14px;
}
.dwi-hc-public-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.dwi-hc-public-brand img { height: 30px; width: auto; }
.dwi-hc-public-divider {
    width: 1px; height: 20px;
    background: var(--dwi-color-border, #E8ECEA);
}
.dwi-hc-public-name {
    font-size: 15px; font-weight: 700;
    letter-spacing: -.01em;
    color: var(--dwi-color-text, #14211D);
}
.dwi-hc-public-foot .dwi-hc-public-inner { padding-block: 20px; }
.dwi-hc-public-copy { font-size: 12.5px; color: var(--dwi-color-muted, #6B7570); }
.dwi-hc-public-links { display: flex; gap: 20px; }
.dwi-hc-public-links a { font-size: 12.5px; font-weight: 500; color: var(--dwi-color-muted, #6B7570); text-decoration: none; }
.dwi-hc-public-links a:hover { color: var(--dwi-color-primary, #0E6E59); }

/* ══ 15. Narrow viewports ════════════════════════════════════════════════ */
@media (max-width: 575.98px) {
    .dwi-help-shell .hc-title,
    .dwi-help-shell .hc-article-title { font-size: 24px; }
    .dwi-help-shell .hc-banner { padding: 16px; }
    .dwi-help-shell .hc-banner-actions { margin-left: 0; width: 100%; }
    .dwi-help-shell .hc-banner-actions .hc-btn { flex: 1 1 auto; justify-content: center; }
    .dwi-help-shell .hc-row { padding: 13px 12px; }
}
