/* The external chat loader inserts its full-resolution icon before its async CSS arrives.
   Zero specificity lets the widget's .chat-button .chat-icon rule take over immediately
   when ready; no timer, persistent override, or change to tenant/widget styling. */
:where(body > .chat-container.btn-launch > img.chat-icon) {
    display: none;
}

/* Published Premiere pages keep search outside the KB grid. Match its center track
   without moving controls or adding a second sticky bar over article content.
   Keep these tracks in sync with the Premiere template's KB breakpoints. */
.pt.pt-kb-search:has(+ .pt-kb) { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 30px; }
.pt.pt-kb-search:has(+ .pt-kb--article) { grid-template-columns: 228px minmax(0, 1fr) 200px; }
.pt.pt-kb-search:has(+ .pt-kb) > .pt-search { grid-column: 2; min-width: 0; width: 100%; max-width: none; margin: 0; }
@media (max-width: 1199.98px) {
    .pt.pt-kb-search:has(+ .pt-kb--article) { grid-template-columns: 220px minmax(0, 1fr); }
}
@media (max-width: 1023.98px) {
    .pt.pt-kb-search:has(+ .pt-kb) { grid-template-columns: 210px minmax(0, 1fr); gap: 22px; }
}
@media (max-width: 767.98px) {
    .pt.pt-kb-search:has(+ .pt-kb) { grid-template-columns: minmax(0, 1fr); }
    .pt.pt-kb-search:has(+ .pt-kb) > .pt-search { grid-column: 1; }
}

html,
body {
    min-height: 100%;
}

/* Published Community CSS can reference Font Awesome 5 by family name instead of by an
   icon class. Core's current Font Awesome bundle intentionally keeps its v7 family names,
   so retain the exact v5 fonts for those persisted pseudo-elements without changing tenant
   templates or downloading an additional compatibility stylesheet after first paint. */
@font-face {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("/plugins/fontawesome/webfonts/preview-v5-fa-regular-400.woff2") format("woff2");
}

@font-face {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url("/plugins/fontawesome/webfonts/preview-v5-fa-solid-900.woff2") format("woff2");
}

@font-face {
    font-family: "Font Awesome 5 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("/plugins/fontawesome/webfonts/preview-v5-fa-brands-400.woff2") format("woff2");
}

body[data-community-preview="true"] {
    margin: 0;
    /* Tenant Community CSS remains the visual authority; do not impose the admin theme. */
}

body.body-community {
    /* Legacy site.community.js reveals this class with fadeIn after WebForms finishes loading.
       Core loads the stable asset contract in the head and never runs that legacy bundle, so
       every native public or preview portal must be visible without depending on JavaScript. */
    display: block;
}

body[data-community-preview="true"] .pageform.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

#sb-community-root[aria-busy="true"] {
    cursor: progress;
    /* Keep the current page fully painted until its replacement is ready. Dimming the entire
       header/content/footer on every GET caused a visible flash, not useful loading feedback. */
}

#sb-community-root[aria-busy="true"]::before {
    content: "";
    position: fixed;
    z-index: 2147483000;
    top: 0;
    left: 0;
    width: 34%;
    height: 3px;
    border-radius: 0 3px 3px 0;
    background: #ec407a;
    animation: sb-community-route-progress 1s ease-in-out infinite alternate;
    pointer-events: none;
}

@keyframes sb-community-route-progress {
    from { transform: translateX(-25%); }
    to { transform: translateX(220%); }
}

/* The historical typeahead stylesheet owns Twitter Typeahead classes, while persisted Community
   templates use pre_search__*. Keep this small compatibility layer local so results remain
   readable regardless of tenant foreground/background colors. */
.pre_search__menu {
    position: absolute;
    z-index: 1050;
    top: 100%;
    left: 0;
    width: min(100%, 60rem);
    max-height: 22rem;
    overflow-y: auto;
    box-sizing: border-box;
    margin: .35rem 0 0;
    padding: .35rem 0;
    list-style: none;
    color: #172033;
    background: #fff;
    border: 1px solid #d8dee8;
    border-radius: .5rem;
    box-shadow: 0 .75rem 2rem rgb(15 23 42 / 16%);
}

.sb-community-search-host { position: relative; }

.pre_search__menu[hidden] { display: none !important; }

.sb-request-knowledge {
    min-width: 0;
    margin-block: .5rem .875rem;
    padding: .75rem 1rem;
    border: 1px solid var(--bs-border-color, #dce3ed);
    border-radius: .625rem;
    background: var(--bs-tertiary-bg, #f5f7fb);
}
.sb-request-knowledge-results .pt-row { display: block; padding-block: .4rem; overflow-wrap: anywhere; }
.sb-request-knowledge-results details { margin-block-start: .25rem; }
.sb-request-knowledge-results summary { cursor: pointer; min-height: 2rem; }
.pre_search__header,
.pre_search__menu > li:not(.pre_search__item) {
    padding: .65rem 1rem;
    color: #64748b;
}
.pre_search__link {
    display: block;
    padding: .7rem 1rem;
    color: #172033;
    text-decoration: none;
}
.pre_search__link:hover,
.pre_search__link:focus-visible {
    color: #111827;
    background: #f1f5f9;
    text-decoration: none;
}

.sb-community-state {
    max-width: 42rem;
    margin: 4rem auto;
    padding: 2rem;
    border: 1px solid #dbe4ee;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 .75rem 2rem rgb(15 23 42 / 8%);
}
.sb-ai-quick-answer {
    padding: 1.25rem 1.5rem;
    margin: 1rem 0 1.5rem;
    border: 1px solid #dce3ed;
    border-radius: .75rem;
    background: #f8fafd;
    color: #243044;
}

.sb-ai-quick-answer__label { font-size: .8rem; font-weight: 600; letter-spacing: .02em; margin: 0 0 .5rem; }
.sb-ai-quick-answer__text { margin: 0 0 .75rem; line-height: 1.6; }
.sb-ai-quick-answer__sources { margin: 0; padding-left: 1.25rem; }
.sb-ai-quick-answer__sources a { overflow-wrap: anywhere; }
.sb-ai-quick-answer__status { display: flex; align-items: center; gap: .75rem; }
.sb-ai-quick-answer__spinner {
    display: inline-block; flex: 0 0 auto; width: 1.15rem; height: 1.15rem;
    border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%;
    color: var(--pt-link-surface, currentColor); animation: sb-ai-answer-spin .8s linear infinite;
}
@keyframes sb-ai-answer-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sb-ai-quick-answer__spinner { animation: none; } }

/* Premiere's stored theme uses the shared portal runtime. Keep these interaction
   repairs scoped to its pt-* markup so other customer themes retain their CSS. */
.pt .pt-row:hover, .pt .pt-row:focus-visible,
.pt .pt-topic:hover, .pt .pt-topic:focus-visible,
.pt .pt-section-card:hover, .pt .pt-section-card:focus-visible,
.pt .pt-result:hover, .pt .pt-result:focus-visible {
    text-decoration: none;
}

.pt.pt-preserved-page .login-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.pt.pt-preserved-page .login-buttons > :first-child,
.pt.pt-preserved-page .login-buttons > .text-center { grid-column: 1 / -1; }
.pt.pt-preserved-page .login-buttons > .form-group { margin-bottom: 0; }
.pt.pt-preserved-page .login-buttons #ms_auth,
.pt.pt-preserved-page .login-buttons #google_auth {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 44px;
    padding: .65rem .8rem;
    border: 1px solid var(--pt-line);
    border-radius: 10px;
    color: var(--pt-text);
    text-decoration: none;
}
.pt.pt-preserved-page .login-buttons #ms_auth:hover,
.pt.pt-preserved-page .login-buttons #google_auth:hover { background: var(--pt-soft); text-decoration: none; }
.pt.pt-preserved-page .login-buttons .sso_logo { flex: 0 0 24px; width: 24px; height: 24px; }
.pt.pt-preserved-page .login-buttons .sso_logo img { display: block; width: 24px; height: 24px; object-fit: contain; }
.pt.pt-preserved-page .login-buttons .sso_text { min-width: 0; font-size: 14px; line-height: 1.35; }

/* Short sign-in pages should end at the viewport footer, not leave a tall empty band. */
#sb-community-root:has(.pt-preserved-page .signin-section) { display: flex; flex-direction: column; min-height: 100dvh; }
#sb-community-root:has(.pt-preserved-page .signin-section) > .mpcontent { display: flex; flex: 1; flex-direction: column; }
#sb-community-root:has(.pt-preserved-page .signin-section) .pt-preserved-page { flex: 1; }

@media (max-width: 767.98px) {
    .pt.pt-preserved-page .login-buttons { grid-template-columns: 1fr; }
    .pt.pt-preserved-page .login-buttons > :first-child,
    .pt.pt-preserved-page .login-buttons > .text-center { grid-column: auto; }
}

.pt.pt-ms-confirmation{max-width:560px;margin:48px auto;padding:0 20px}
.pt-ms-confirmation [data-community-ms-confirmation]{padding:32px;border-radius:20px;background:var(--pt-surface);color:var(--pt-text);box-shadow:var(--pt-shadow)}
.pt-ms-confirmation__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:20px;border-radius:14px;background:var(--pt-soft);color:var(--pt-link-surface)}
.pt-ms-confirmation__icon svg{width:26px;height:26px}
.pt-ms-confirmation [data-community-ms-confirmation] h1{font-size:26px;line-height:1.25;letter-spacing:-.5px;font-weight:600;margin:0 0 14px}
.pt-ms-confirmation [data-community-ms-confirmation] p{font-size:15px;line-height:1.6;margin:0 0 24px}
.pt-ms-confirmation [data-community-ms-confirmation] .pt-btn{width:100%;min-height:46px;font-size:15px;justify-content:center}
.pt-ms-confirmation [data-community-ms-confirmation] .pt-ms-confirmation__note{font-size:13px;color:var(--pt-muted);margin:20px 0 0;padding-top:20px;border-top:1px solid var(--pt-line)}
@media(max-width:600px){.pt.pt-ms-confirmation{margin:28px auto;padding:0 16px}.pt-ms-confirmation [data-community-ms-confirmation]{padding:24px}.pt-ms-confirmation [data-community-ms-confirmation] h1{font-size:23px}}

/* One compact announcement card for both sign-in headers and request body markup. */
dialog.sb-community-announcement { box-sizing:border-box; width:min(560px,calc(100% - 32px)); max-height:85dvh; margin:auto; padding:0; border:1px solid var(--pt-line,#ccc); border-top:3px solid var(--pt-link-surface,#555); border-radius:18px; background:var(--pt-surface,#fff); color:var(--pt-text,#222); box-shadow:0 20px 64px color-mix(in srgb,var(--pt-text,#222) 20%,transparent); overflow:auto; }
dialog.sb-community-announcement::backdrop { background:color-mix(in srgb,var(--pt-text,#222) 30%,transparent); }
dialog.sb-community-announcement .modal-content { box-sizing:border-box; position:relative; display:block; width:100%; padding:28px; border:0; border-radius:inherit; background:inherit; color:inherit; box-shadow:none; }
/* Keep the close control anchored to the card, not Bootstrap's positioned body wrapper. */
dialog.sb-community-announcement .modal-header { position:static; display:block; padding:0; margin:0 0 16px; border:0; }
dialog.sb-community-announcement .modal-body,dialog.sb-community-announcement .modal-body > .content { position:static; padding:0; margin:0; background:transparent; color:inherit; overflow-wrap:anywhere; }
dialog.sb-community-announcement :is(h4,h5,.modal-title) { margin:0 52px 16px 0; margin-inline-start:0; margin-inline-end:52px; font-size:22px; font-weight:600; line-height:1.35; letter-spacing:-.02em; }
dialog.sb-community-announcement .modal-header :is(h4,h5,.modal-title) { margin-bottom:0; }
dialog.sb-community-announcement .modal-body { font-size:15px; line-height:1.7; }
dialog.sb-community-announcement .modal-body p { margin:0 0 14px; }
dialog.sb-community-announcement .modal-body p:last-child { margin-bottom:0; }
dialog.sb-community-announcement .close { position:absolute; inset-block-start:17px; inset-inline-end:16px; display:inline-flex; align-items:center; justify-content:center; float:none; width:44px; height:44px; min-width:44px; min-height:44px; margin:0; padding:0; border:1px solid var(--pt-line,#ccc); border-radius:50%; background:var(--pt-background,#f5f5f5); color:var(--pt-text,#222); font:inherit; font-size:24px; line-height:1; opacity:1; text-shadow:none; cursor:pointer; }
/* Draw the icon independently of the tenant font's multiplication-sign baseline. */
dialog.sb-community-announcement button.close { font-size:0; }
dialog.sb-community-announcement .close > * { display:none; }
dialog.sb-community-announcement .close::before,dialog.sb-community-announcement .close::after { content:""; position:absolute; top:50%; left:50%; width:16px; height:2px; margin:0; border-radius:1px; background:currentColor; transform:translate(-50%,-50%) rotate(45deg); }
dialog.sb-community-announcement .close::after { transform:translate(-50%,-50%) rotate(-45deg); }
dialog.sb-community-announcement .close:hover { background:var(--pt-soft,#eee); color:var(--pt-link-surface,#555); }
dialog.sb-community-announcement .close:focus { outline:none; }
dialog.sb-community-announcement .close:focus-visible { outline:2px solid var(--pt-link-surface,#555); outline-offset:2px; box-shadow:none; }
@media(max-width:480px){dialog.sb-community-announcement .modal-content{padding:24px 20px}dialog.sb-community-announcement :is(h4,h5,.modal-title){font-size:20px}dialog.sb-community-announcement .close{inset-block-start:13px;inset-inline-end:12px}}

/* Direct article follows share the portal palette and stay readable in RTL/mobile layouts. */
.pt-article-follow { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; padding-block:.5rem; }
.pt-article-follow > small { flex-basis:100%; color:var(--pt-muted); }
.pt-article-follow.pt-preference { padding-block:16px; }
.pt-article-follow.pt-preference > a, .pt-article-follow.pt-preference > span { flex:1; min-width:0; overflow-wrap:anywhere; }
/* Runtime-owned controls must also render in previously published portal themes. */
.pt-article-follow.pt-preference > .pt-switch { box-sizing:border-box; flex:0 0 44px; width:44px; height:26px; min-height:26px; border:1px solid var(--pt-line,#cbd5e1); border-radius:20px; padding:3px; background:var(--pt-line,#cbd5e1); cursor:pointer; }
.pt-article-follow.pt-preference > .pt-switch::after { content:""; display:block; width:18px; height:18px; border-radius:50%; background:var(--pt-surface,#fff); transform:none; }
.pt-article-follow.pt-preference > .pt-switch[aria-checked="true"] { background:var(--pt-action-primary,#006fbd); }
.pt-article-follow.pt-preference > .pt-switch[aria-checked="true"]::after { transform:translateX(17px); background:var(--pt-on-action-primary,#fff); }
.pt-article-follow.pt-preference > .pt-switch:disabled { cursor:default; opacity:.65; }
.pt-article-follow button[aria-pressed="true"] { background:var(--pt-soft, #fceef4); color:var(--pt-text); border-color:var(--pt-link-surface, currentColor); }
[data-pt-article-subscription][aria-busy="true"]::before,
[data-pt-article-subscriptions][aria-busy="true"]::before { content:""; display:inline-block; width:1rem; height:1rem; border:2px solid currentColor; border-inline-end-color:transparent; border-radius:50%; animation:pt-article-follow-spin .8s linear infinite; margin-inline-end:.5rem; }
@keyframes pt-article-follow-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { [data-pt-article-subscription][aria-busy="true"]::before,[data-pt-article-subscriptions][aria-busy="true"]::before { animation:none; border-style:dotted; } }

/* Premiere email recipients: shared runtime styles also upgrade already-published templates. */
.pt [data-sb-community-email-backing]{display:none!important}
.pt .sb-portal-email{width:100%!important;max-width:100%;min-width:0}
.pt .sb-portal-email .select2-selection--multiple{min-height:46px;padding:5px 8px;border:1px solid var(--pt-field-border,#8b95a5);border-radius:10px;background:var(--pt-surface,#fff);color:var(--pt-text,#141b2d);box-shadow:none;cursor:text}
.pt .sb-portal-email:focus-within .select2-selection--multiple{border-color:var(--pt-link-surface,#b92558);outline:2px solid var(--pt-link-surface,#b92558);outline-offset:1px}
.pt .sb-portal-email .select2-selection__rendered{display:inline;list-style:none;margin:0;padding:0}
.pt .sb-portal-email .select2-selection__choice{display:inline-flex;align-items:center;float:none;max-width:100%;margin:3px 5px 3px 0;padding:0;border:1px solid var(--pt-line,#dce1e8);border-radius:7px;background:var(--pt-soft,#f1f4f9);color:var(--pt-text,#141b2d);font-size:.9rem;line-height:1.5;vertical-align:middle}
.pt .sb-portal-email .select2-selection__choice__display{padding:4px 8px;overflow-wrap:anywhere;min-width:0;unicode-bidi:plaintext;direction:ltr}
.pt .sb-portal-email .select2-selection__choice__remove{position:static;align-self:stretch;flex:none;float:none;min-width:28px;margin:0;padding:0 6px;border:0;border-inline-end:1px solid var(--pt-line,#dce1e8);border-radius:6px 0 0 6px;background:transparent;color:var(--pt-muted,#596579);font:inherit;line-height:1;cursor:pointer}
.pt .sb-portal-email .select2-selection__choice__remove:hover{background:var(--pt-line,#dce1e8);color:var(--pt-text,#141b2d)}
.pt .sb-portal-email .select2-selection__choice__remove:focus-visible{outline:2px solid var(--pt-link-surface,#b92558);outline-offset:-2px}
.pt .sb-portal-email .select2-search--inline{float:none}
.pt .sb-portal-email .select2-search__field{width:auto;min-width:12ch;max-width:100%;min-height:28px;height:28px;margin:3px 0;padding:2px 4px;border:0!important;border-radius:0;background:transparent!important;color:var(--pt-text,#141b2d);font:inherit;line-height:24px;vertical-align:middle;resize:none;box-shadow:none!important;outline:0!important;direction:ltr}
.pt .sb-portal-email.select2-container--disabled .select2-selection--multiple{opacity:.65;cursor:default}
.pt .sb-portal-email-invalid .select2-selection--multiple{border-color:var(--pt-link-surface,#b92558)}
.pt .sb-portal-email-error{display:block;margin-top:6px;color:var(--pt-text,#141b2d);font-size:.875rem}
.pt .sb-portal-email-error[hidden]{display:none}
.sb-portal-email-dropdown{border:1px solid var(--pt-field-border,#8b95a5);border-radius:8px;overflow:hidden;background:var(--pt-surface,#fff);color:var(--pt-text,#141b2d);box-shadow:0 8px 24px #0002}
.sb-portal-email-dropdown .select2-results__option{padding:10px 12px;overflow-wrap:anywhere;unicode-bidi:plaintext}
.sb-portal-email-dropdown .select2-results__option--highlighted.select2-results__option--selectable{background:var(--pt-soft,#f1f4f9);color:var(--pt-text,#141b2d)}
.sb-portal-email-dropdown .select2-results__message{display:none}
[dir=rtl] .sb-portal-email .select2-selection__choice{margin:3px 0 3px 5px}
[dir=rtl] .sb-portal-email .select2-selection__choice__remove{border-radius:0 6px 6px 0}
/* Custom chat launch buttons retain their label while initialization is pending. */
.sb-community-chat-opening::after { content: ""; display: inline-block; width: .8em; height: .8em; margin-inline-start: .6em; border: 2px solid currentColor; border-inline-end-color: transparent; border-radius: 50%; animation: sb-community-chat-spin .8s linear infinite; }
@keyframes sb-community-chat-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sb-community-chat-opening::after { animation: none; } }

/* Retired articles share portal colors and expose no archived content. */
.sb-article-retired { max-width: 48rem; margin-inline: auto; padding-block: clamp(1.5rem, 6vh, 4rem); }
.sb-article-retired h1 { font-weight: 600; }
.sb-article-retired label { display: block; margin-block: 1.5rem .5rem; }
.sb-article-retired input { min-width: 0; flex: 1; padding: .65rem; border: 1px solid var(--pt-border, #c8c8c8); border-radius: .4rem; background: var(--pt-surface, Canvas); color: inherit; }
.sb-article-retired label + div { display: flex; gap: .5rem; margin-block-end: 1rem; }
@media (max-width: 480px) { .sb-article-retired label + div { flex-wrap: wrap; } }

/* Tag discovery belongs to search, stays in document flow, and uses readable surface colors.
   Keep this block mirrored in community.portal.css so published templates receive the repair. */
.pt details.pt-tag-filter { min-width:0; max-width:820px; margin-block:12px 0; text-align:start; color:var(--pt-text,#172033); }
.pt .pt-search:has(> [data-pt-tag-filter]) { position:relative; flex-wrap:nowrap; overflow:visible; }
.pt .pt-search > details.pt-tag-filter[data-pt-tag-filter] { flex:0 0 auto; position:static; margin:0; max-width:none; }
.pt .pt-search > details.pt-tag-filter[data-pt-tag-filter] > summary { box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 14px; margin:0; border:1px solid color-mix(in srgb,var(--pt-primary,#d53570) 28%,var(--pt-surface,#fff)); border-radius:10px; background:color-mix(in srgb,var(--pt-primary,#d53570) 9%,var(--pt-surface,#fff)); color:var(--pt-link-surface,#99315b); font-size:14px; font-weight:500; line-height:1.4; text-decoration:none; cursor:pointer; list-style:none; }
.pt .pt-search > details.pt-tag-filter[data-pt-tag-filter] > summary::-webkit-details-marker { display:none; }
.pt .pt-search > details.pt-tag-filter[data-pt-tag-filter] > summary::before { content:""; width:16px; height:16px; flex:none; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' d='M3 3h8l10 10-8 8L3 11z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") center/contain no-repeat; }
.pt .pt-search > details.pt-tag-filter[data-pt-tag-filter] > summary::after { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); }
.pt .pt-search > details.pt-tag-filter[data-pt-tag-filter][open] > summary::after { transform:rotate(225deg) translate(-2px,-1px); }
.pt .pt-search > details.pt-tag-filter[data-pt-tag-filter] > summary:hover { border-color:var(--pt-link-surface,#99315b); }
.pt .pt-search > details.pt-tag-filter[data-pt-tag-filter] .pt-tag-filter__panel { position:absolute; z-index:20; inset-block-start:calc(100% + 8px); inset-inline-end:0; width:min(420px,100%); box-sizing:border-box; margin:0; text-align:start; background:var(--pt-surface,#fff); box-shadow:0 12px 32px color-mix(in srgb,var(--pt-text,#172033) 16%,transparent); }
.pt .pt-search:has(> details[open]) { z-index:5; }
.pt .pt-search:has(> [data-pt-tag-filter]) > .btn-search { min-height:44px; }
.pt details.pt-tag-filter .pt-tag-filter__panel { margin-block-start:10px; padding:18px; border:1px solid color-mix(in srgb,var(--pt-text,#172033) 24%,var(--pt-surface,#fff)); border-radius:14px; background:color-mix(in srgb,var(--pt-text,#172033) 4%,var(--pt-surface,#fff)); color:var(--pt-text,#172033); box-shadow:0 4px 14px color-mix(in srgb,var(--pt-text,#172033) 5%,transparent); }
.pt details.pt-tag-filter label { display:block; margin:0; color:var(--pt-text,#172033); font-size:14px; font-weight:600; }
.pt details.pt-tag-filter input { display:block; box-sizing:border-box; width:100%; min-width:0; min-height:44px; margin-block:8px 14px; padding:10px 14px; border:1px solid var(--pt-field-border,#8995a8); border-radius:10px; background:var(--pt-surface,#fff); color:var(--pt-text,#172033); font:inherit; font-weight:400; }
.pt details.pt-tag-filter [data-pt-tag-options] { display:flex; flex-wrap:wrap; gap:8px; max-height:16rem; padding:3px; overflow:auto; }
.pt details.pt-tag-filter [data-pt-tag-status] { margin:8px 0 0; color:var(--pt-text,#172033); font-size:14px; line-height:1.5; }
.pt details.pt-tag-filter [data-pt-tag-status]:empty { display:none; }
.pt details.pt-tag-filter [data-pt-tag-more] { margin-block-start:12px; border-color:var(--pt-field-border,#8995a8); color:var(--pt-text,#172033); }
.pt .pt-tag-chips,.pt .pt-selected-tag { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-block:12px; }
.pt a.pt-tag-chip,.pt span.pt-tag-chip { display:inline-flex; align-items:center; min-height:36px; max-width:100%; overflow-wrap:anywhere; padding:6px 12px; border-radius:999px; border:1px solid color-mix(in srgb,var(--pt-text,#172033) 32%,var(--pt-surface,#fff)); background:color-mix(in srgb,var(--pt-primary,#d53570) 12%,var(--pt-surface,#fff)); color:var(--pt-text,#172033); font-size:14px; font-weight:500; line-height:1.5; text-decoration:none; }
.pt a.pt-tag-chip:hover { border-color:var(--pt-text,#172033); text-decoration:underline; text-underline-offset:3px; }
.pt a.pt-tag-chip:focus-visible,.pt details.pt-tag-filter > summary:focus-visible,.pt details.pt-tag-filter input:focus-visible { outline:2px solid var(--pt-text,#172033); outline-offset:3px; }
.pt .pt-tag-chips details { flex-basis:100%; }
.pt .pt-tag-chips summary { cursor:pointer; color:var(--pt-link-surface,#99315b); }
.pt .pt-result>a { display:block; color:inherit; text-decoration:none; }
.pt-hero > .pt-container > details.pt-tag-filter { margin-inline:auto; }
.pt .pt-search-band details.pt-tag-filter { max-width:760px; }
.pt.pt-kb-search:has(+ .pt-kb) { row-gap:12px; }
.pt.pt-kb-search:has(+ .pt-kb) > details.pt-tag-filter { grid-column:2; min-width:0; max-width:none; margin-block:0; }
@media(max-width:767.98px) { .pt.pt-kb-search:has(+ .pt-kb) > details.pt-tag-filter { grid-column:1; } .pt details.pt-tag-filter .pt-tag-filter__panel { padding:14px; } }

/* Tag choices remain links: one tag applies immediately using the existing authorized search. */
.pt .pt-search details.pt-tag-filter [data-pt-tag-options] { display:flex; flex-direction:column; flex-wrap:nowrap; gap:2px; max-height:min(320px,45vh); overscroll-behavior:contain; }
.pt .pt-search details.pt-tag-filter a.pt-tag-chip { flex:none; border:0; border-radius:8px; background:transparent; padding:10px 12px; min-height:44px; color:var(--pt-text,#172033); font-weight:400; }
.pt .pt-search details.pt-tag-filter a.pt-tag-chip:hover,.pt .pt-search details.pt-tag-filter a.pt-tag-chip[aria-current] { background:color-mix(in srgb,var(--pt-primary,#d53570) 10%,var(--pt-surface,#fff)); }
.pt .pt-search details.pt-tag-filter input:focus-visible { outline:2px solid var(--pt-text,#172033); outline-offset:2px; border:1px solid var(--pt-field-border,#8995a8); }
@media(max-width:480px) { .pt .pt-search:has(> [data-pt-tag-filter]) { gap:4px; } .pt .pt-search > details.pt-tag-filter[data-pt-tag-filter] > summary { gap:6px; padding-inline:8px; } .pt .pt-search > details.pt-tag-filter[data-pt-tag-filter] > summary::before { display:none; } .pt .pt-search:has(> [data-pt-tag-filter]) > .btn-search { padding-inline:10px; } }

/* The visitor's persisted choice is visible with either published Yes/No or thumb controls. */
#sb-community-root [data-sb-article-vote].sb-community-article-vote-selected { background:var(--pt-primary,#2457a7); color:#fff; border-color:var(--pt-primary,#2457a7); box-shadow:0 0 0 2px var(--pt-surface,#fff),0 0 0 4px var(--pt-primary,#2457a7); }
#sb-community-root [data-sb-article-vote][aria-busy="true"] { cursor:wait; }
#sb-community-root .sb-community-article-vote-status { flex-basis:100%; margin:12px 0 0; font-size:14px; }
#sb-community-root .sb-community-article-vote-status-error { color:var(--pt-danger,#b42318); }

/* Optional popular vocabulary is scoped to the visitor and rendered with matching portal markup. */
.pt .pt-popular-tags { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 10px; max-width:820px; margin:16px auto 0; font-size:14px; }
.pt .pt-popular-tags[hidden] { display:none; }
.pt .pt-popular-tags__label { color:var(--pt-muted,#596477); }
.pt .pt-popular-tags__choices { display:contents; }
.pt .pt-popular-tags a.pt-tag-chip { min-height:32px; padding:5px 12px; background:var(--pt-surface,#fff); border-color:var(--pt-line,#dce1e9); font-weight:400; }
.pt .pt-popular-tags .pt-popular-tags__all { flex-basis:100%; min-height:36px; padding:4px 8px; border:0; background:transparent; color:var(--pt-link-surface,#99315b); font:inherit; cursor:pointer; }
.pt .pt-popular-tags .pt-popular-tags__all:hover { text-decoration:underline; text-underline-offset:3px; }
.pt .pt-popular-tags .pt-popular-tags__all:focus-visible { outline:2px solid var(--pt-text,#172033); outline-offset:2px; border-radius:6px; }
.pt[dir="rtl"] .pt-popular-tags__all span,html[dir="rtl"] .pt .pt-popular-tags__all span { display:inline-block; transform:scaleX(-1); }
.pt.pt-kb-search:has(+ .pt-kb) > .pt-popular-tags { grid-column:2; width:100%; max-width:none; margin-block:0; }
.pt .pt-search-band .pt-popular-tags { max-width:760px; margin-inline-start:0; }
@media(max-width:767.98px) { .pt.pt-kb-search:has(+ .pt-kb) > .pt-popular-tags { grid-column:1; } }


/* Activity content is narrower than the historical 700px inline limit. Scope this override
   to prepared reader images so tenant avatars, editor controls and navigation keep their size. */
.case-comment > .content img.sb-community-activity-image,
.activity-body img.sb-community-activity-image { max-width:100% !important; height:auto !important; }
.case-comment > .content figure.image,
.activity-body figure.image { max-width:100%; }
.case-comment > .content figure.image img.sb-community-activity-image,
.activity-body figure.image img.sb-community-activity-image { border-radius:0; }
.sb-community-activity-image-link { cursor:zoom-in; }
.sb-community-activity-image-link:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
