/* Portal layout decoration. Core still owns sidebar interaction, forms and overlays. */
.pf360-portal-viewport { background: var(--pf360-color-background); }
.pf360-frontend-app { --pf360-client-gutter: var(--pf360-page-gutter); -webkit-font-smoothing: antialiased; }
.pf360-frontend-app .pf360-portal-app-shell { max-width: var(--pf360-content-width); }
.pf360-frontend-app .pf360-portal-workspace { padding: 0 var(--pf360-client-gutter) var(--pf360-space-12); }
.pf360-frontend-app .pf360-portal-sidebar { padding: var(--pf360-space-6) var(--pf360-space-4); border-color: var(--pf360-color-border); background: var(--pf360-color-surface); backdrop-filter: none; }
.pf360-frontend-app .pf360-portal-brand { gap: var(--pf360-space-3); margin-bottom: var(--pf360-space-6); }
.pf360-frontend-app .pf360-portal-brand-mark { width: 44px; height: 44px; flex-basis: 44px; border-radius: var(--pf360-radius-card); background: var(--pf360-color-primary); color: var(--pf360-color-surface); box-shadow: none; }
.pf360-frontend-app .pf360-portal-brand-copy strong { font-weight: 700; font-size: 1rem; }
.pf360-frontend-app .pf360-portal-brand-copy span { color: var(--pf360-color-text-muted); }
.pf360-frontend-app .pf360-portal-nav-section-label { margin: var(--pf360-space-5) var(--pf360-space-3) var(--pf360-space-2); font-size: .6875rem; letter-spacing: .08em; font-weight: 700; color: var(--pf360-color-text-muted); }
.pf360-frontend-app .pf360-portal-nav-link { min-height: var(--pf360-control-height); padding: var(--pf360-space-2) var(--pf360-space-3); gap: var(--pf360-space-3); border-radius: var(--pf360-radius-control); font-weight: 600; transition: background-color .15s ease; }
.pf360-frontend-app .pf360-portal-nav-link:hover { transform: none; }
.pf360-frontend-app .pf360-portal-nav-link:focus-visible { outline: 3px solid var(--pf360-color-focus); outline-offset: 2px; }
.pf360-frontend-app .pf360-portal-sidebar-footer { padding: var(--pf360-space-4) var(--pf360-space-3) 0; border-color: var(--pf360-color-border); line-height: 1.5; }
.pf360-frontend-app .pf360-portal-topbar { min-height: 76px; flex-wrap: wrap; gap: var(--pf360-space-3); margin-inline: calc(0px - var(--pf360-client-gutter)); padding: var(--pf360-space-3) var(--pf360-client-gutter); background: var(--pf360-color-surface); border-bottom: 1px solid var(--pf360-color-border); backdrop-filter: none; }
.pf360-frontend-app .pf360-portal-user-chip { box-shadow: none; background: var(--pf360-color-surface-subtle); border-radius: var(--pf360-radius-control); }
.pf360-frontend-app .pf360-portal-user-avatar { background: var(--pf360-color-primary-soft); color: var(--pf360-color-primary); }
.pf360-frontend-app .pf360-portal-main { padding-top: var(--pf360-space-6); }
.pf360-frontend-app .pf360-portal-page-intro { gap: var(--pf360-space-4); margin-bottom: var(--pf360-space-6); }
.pf360-frontend-app .pf360-portal-page-intro h1 { font-size: clamp(1.65rem, 3vw, 2rem); line-height: 1.2; letter-spacing: -.025em; font-weight: 700; }
.pf360-frontend-app .pf360-portal-page-intro p { margin-top: var(--pf360-space-2); max-width: 66ch; }
.pf360-frontend-app .pf360-kicker { font-weight: 700; letter-spacing: .08em; }
.pf360-frontend-app .pf360-section-heading { gap: var(--pf360-space-4); margin-bottom: var(--pf360-space-4); }
.pf360-frontend-app .pf360-section-heading h2 { margin: var(--pf360-space-1) 0 0; font-size: 1.25rem; line-height: 1.3; font-weight: 650; }
.pf360-frontend-app .pf360-stack { gap: var(--pf360-space-4); }
.pf360-frontend-app .pf360-grid { gap: var(--pf360-space-4); }
.pf360-frontend-app .pf360-dashboard-overview { margin-bottom: var(--pf360-space-8); }
.pf360-frontend-app .pf360-dashboard-welcome { gap: var(--pf360-space-4); margin-bottom: var(--pf360-space-5); }
.pf360-frontend-app .pf360-dashboard-metrics { gap: var(--pf360-space-4); }
.pf360-frontend-app .pf360-dashboard-metric { background: var(--pf360-color-surface); box-shadow: var(--pf360-shadow-card); }
.pf360-frontend-app .pf360-dashboard-metric__icon { border-radius: var(--pf360-radius-control); }
.pf360-frontend-app .pf360-portal-list-card { padding: var(--pf360-space-5); }
.pf360-frontend-app .pf360-portal-list-card.is-interactive { transition: border-color .15s ease; }
.pf360-frontend-app .pf360-portal-list-card.is-interactive:hover { transform: none; box-shadow: var(--pf360-shadow-card); border-color: color-mix(in srgb, var(--pf360-color-primary) 35%, var(--pf360-color-border)); }
.pf360-frontend-app .pf360-link-button { color: var(--pf360-color-primary); font-weight: 650; min-height: 36px; }
.pf360-frontend-app .pf360-link-button:focus-visible { outline: 3px solid var(--pf360-color-focus); outline-offset: 2px; }
.pf360-frontend-app .pf360-portal-scope-switcher { gap: var(--pf360-space-2); }
.pf360-frontend-app .pf360-portal-scope-switcher select { min-height: var(--pf360-control-height); border-radius: var(--pf360-radius-control); border-color: var(--pf360-color-border); background: var(--pf360-color-surface); color: var(--pf360-color-text); font-size: .875rem; }
.pf360-frontend-app .pf360-portal-scope-switcher button { min-height: var(--pf360-control-height); border: 1px solid var(--pf360-color-border); border-radius: var(--pf360-radius-control); padding: var(--pf360-space-2) var(--pf360-space-3); background: var(--pf360-color-surface); color: var(--pf360-color-text); font-weight: 650; }
.pf360-frontend-app .pf360-menu-toggle,
.pf360-frontend-app .pf360-portal-nav-close { width: 44px; height: 44px; min-width: 44px; min-height: 44px; flex: 0 0 44px; border-radius: var(--pf360-radius-control); border-color: var(--pf360-color-border); }
.pf360-frontend-app .pf360-portal-hero { background: var(--pf360-color-surface-strong); border: 0; box-shadow: var(--pf360-shadow-card); border-radius: var(--pf360-radius-card); }
.pf360-frontend-app .pf360-portal-hero .pf360-button { color: var(--pf360-color-surface); background: transparent; border-color: var(--pf360-color-border); }
.pf360-frontend-app .pf360-portal-hero .pf360-button--primary { background: var(--pf360-color-surface); color: var(--pf360-color-surface-strong); }
.pf360-portal-modal { box-sizing: border-box; padding: var(--pf360-space-6); }
.pf360-portal-modal .pf360-portal-modal__panel { box-sizing: border-box; width: min(var(--pf360-modal-width), 100%); max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); border: 1px solid var(--pf360-color-border); border-radius: var(--pf360-radius-large); background: var(--pf360-color-surface); box-shadow: var(--pf360-shadow-raised); }
.pf360-portal-modal .pf360-portal-modal__header { gap: var(--pf360-space-4); padding: var(--pf360-space-5); border-color: var(--pf360-color-border); align-items: flex-start; }
.pf360-portal-modal .pf360-portal-modal__header > div { min-width: 0; overflow-wrap: anywhere; }
.pf360-portal-modal .pf360-portal-modal__header h2 { margin: var(--pf360-space-1) 0 0; font-size: 1.375rem; line-height: 1.3; font-weight: 650; }
.pf360-portal-modal .pf360-portal-modal__body { box-sizing: border-box; min-height: 0; padding: var(--pf360-space-5); scrollbar-gutter: stable; }
.pf360-portal-modal .pf360-portal-modal__close { width: 44px; height: 44px; min-width: 44px; flex: 0 0 44px; padding: 0; border-radius: var(--pf360-radius-control); background: var(--pf360-color-surface); border-color: var(--pf360-color-border); color: var(--pf360-color-text); }
.pf360-portal-modal .pf360-portal-modal__close:focus-visible { outline: 3px solid var(--pf360-color-focus); outline-offset: 2px; }
.pf360-portal-modal .pf360-portal-detail-section { padding: var(--pf360-space-4); border: 1px solid var(--pf360-color-border); border-radius: var(--pf360-radius-card); background: var(--pf360-color-surface); }
.pf360-portal-modal[hidden] { display: none !important; }
.pf360-session-runner[data-pf360-surface="portal"] { font-family: var(--pf360-font-family); }
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__app { border-color: var(--pf360-color-border); box-shadow: var(--pf360-shadow-raised); }
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__focus,
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__close { border-radius: var(--pf360-radius-control); min-height: 44px; }
@media (max-width: 820px) {
    .pf360-frontend-app { --pf360-client-gutter: var(--pf360-space-4); }
    .pf360-frontend-app .pf360-portal-workspace { padding-bottom: 100px; }
    .pf360-frontend-app .pf360-portal-topbar { min-height: 68px; }
    .pf360-frontend-app .pf360-bottom-nav { border-color: var(--pf360-color-border); background: var(--pf360-color-surface); backdrop-filter: none; box-shadow: var(--pf360-shadow-card); }
    .pf360-frontend-app .pf360-bottom-nav .pf360-portal-nav-link { gap: var(--pf360-space-1); padding: var(--pf360-space-2) var(--pf360-space-1); border-radius: var(--pf360-radius-control); }
}
@media (max-width: 600px) {
    .pf360-frontend-app { --pf360-client-gutter: var(--pf360-space-3); }
    .pf360-frontend-app .pf360-portal-main { padding-top: var(--pf360-space-5); }
    .pf360-frontend-app .pf360-portal-list-card { padding: var(--pf360-space-4); }
    .pf360-portal-modal { padding: var(--pf360-space-3); }
    .pf360-portal-modal .pf360-portal-modal__panel { max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); }
    .pf360-portal-modal .pf360-portal-modal__header,
    .pf360-portal-modal .pf360-portal-modal__body { padding: var(--pf360-space-4); }
    .pf360-portal-modal .pf360-portal-modal__header h2 { font-size: 1.125rem; }
}
@media (prefers-reduced-motion: reduce) {
    .pf360-frontend-app .pf360-portal-nav-link,
    .pf360-frontend-app .pf360-portal-list-card,
    .pf360-portal-modal .pf360-portal-modal__panel { transition: none; animation: none; }
}

/* Client Help: preserved document appearance, now Client-theme owned. */
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki{--pf360-wiki-accent:var(--pf360-color-primary,#2563eb);--pf360-wiki-text:var(--pf360-color-text,#172b42);--pf360-wiki-muted:#52647b;--pf360-wiki-border:var(--pf360-color-border,#dce5ee);--pf360-wiki-surface:var(--pf360-color-surface,#fff);--pf360-wiki-soft:var(--pf360-color-muted,#f5f8fc);color:var(--pf360-wiki-text);background:var(--pf360-wiki-surface);font-family:inherit;font-size:15px;line-height:1.65;max-width:1240px;margin:20px auto;border:1px solid var(--pf360-wiki-border);border-radius:16px;overflow:hidden;text-align:start;box-shadow:0 6px 26px #142b4510;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki *{box-sizing:border-box;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki [hidden]{display:none!important;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki a{color:var(--pf360-wiki-accent);text-decoration:none;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki a:hover{text-decoration:underline;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki :is(a,button,input,select,summary,pre):focus-visible{outline:3px solid var(--pf360-wiki-accent);outline-offset:3px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki h1,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki h2,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki h3{font-family:inherit;color:var(--pf360-wiki-text);line-height:1.25;letter-spacing:-.02em;font-weight:700;margin:0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki h1{font-size:clamp(28px,3vw,40px);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki h2{font-size:22px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki h3{font-size:19px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki p{margin:10px 0 18px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki button,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki input,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki select{font:inherit;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki .pf360-wiki__button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 17px;border:1px solid var(--pf360-wiki-border);border-radius:8px;background:var(--pf360-wiki-surface);color:var(--pf360-wiki-text);font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;text-decoration:none!important;box-shadow:none;white-space:normal;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki .pf360-wiki__button:hover{background:var(--pf360-wiki-soft);border-color:var(--pf360-wiki-accent);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki .pf360-wiki__button--primary{background:var(--pf360-wiki-accent);border-color:var(--pf360-wiki-accent);color:#fff;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki .pf360-wiki__button--primary:hover{filter:brightness(.94);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__masthead{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 32px;border-bottom:1px solid var(--pf360-wiki-border);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__brand{display:flex;align-items:center;gap:11px;color:var(--pf360-wiki-text)!important;font-size:18px;text-decoration:none!important;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__brand-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--pf360-wiki-accent);color:var(--pf360-wiki-accent);border-radius:9px;font-size:21px;font-weight:700;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__masthead nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:13px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__badge{border:1px solid var(--pf360-wiki-border);border-radius:20px;padding:3px 12px;color:var(--pf360-wiki-muted);background:var(--pf360-wiki-soft);font-size:12px;white-space:nowrap;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__hero{padding:42px 48px 30px;background:linear-gradient(125deg,var(--pf360-wiki-soft),var(--pf360-wiki-surface));border-bottom:1px solid var(--pf360-wiki-border);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--pf360-wiki-accent);margin-bottom:12px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__hero>p{font-size:16px;color:var(--pf360-wiki-muted);margin:14px 0 24px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search{margin:0;max-width:980px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search-row{display:flex;align-items:center;padding:6px 7px 6px 16px;border:1px solid #b6c8dc;border-radius:11px;background:var(--pf360-wiki-surface);box-shadow:0 3px 9px #18355208;gap:8px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search-icon{font-size:25px;line-height:1;color:var(--pf360-wiki-muted);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search-row input[type=search]{flex:1;min-width:0;border:0!important;box-shadow:none!important;border-radius:4px;background:transparent;color:var(--pf360-wiki-text);height:42px;padding:7px 8px;font-size:16px;max-width:none;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search-row input::placeholder{color:#65768a;opacity:1;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:16px;font-size:13px;color:var(--pf360-wiki-muted);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__filters select{width:auto;max-width:260px;min-height:36px;background:var(--pf360-wiki-surface);color:var(--pf360-wiki-text);border:1px solid var(--pf360-wiki-border);border-radius:6px;font-size:13px;padding:5px 26px 5px 8px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__reset{margin-inline-start:auto;font-size:13px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search--compact{max-width:none;padding:22px 32px;background:var(--pf360-wiki-soft);border-bottom:1px solid var(--pf360-wiki-border);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__browse,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) [data-wiki-results]{padding:28px 32px 4px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:17px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__section-head h2{font-size:19px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__section-head>span{font-size:12px;color:var(--pf360-wiki-muted);flex-shrink:0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__topic{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border:1px solid var(--pf360-wiki-border);border-radius:10px;color:var(--pf360-wiki-text)!important;background:var(--pf360-wiki-surface);text-decoration:none!important;transition:border-color .15s,background .15s;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__topic:hover{border-color:var(--pf360-wiki-accent);background:var(--pf360-wiki-soft);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__topic strong{display:block;line-height:1.35;font-size:14px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__topic small{display:block;color:var(--pf360-wiki-muted);font-size:12px;margin-top:5px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__topic>span:last-child{color:var(--pf360-wiki-accent);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__results{border:1px solid var(--pf360-wiki-border);border-radius:10px;overflow:hidden;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__result{padding:21px 23px;border-bottom:1px solid var(--pf360-wiki-border);background:var(--pf360-wiki-surface);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__result:last-child{border-bottom:0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__result-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--pf360-wiki-muted);font-size:11px;letter-spacing:.01em;margin-bottom:7px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__result h3 a{color:var(--pf360-wiki-text);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__result h3 a:hover{color:var(--pf360-wiki-accent);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__result p{margin:8px 0 0;color:var(--pf360-wiki-muted);font-size:14px;max-width:85ch;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki mark{background:#fff0b8;color:#493600;padding:0 1px;border-radius:2px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__live-status{margin:0 32px;font-size:13px;color:var(--pf360-wiki-muted);min-height:0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__live-status:not(:empty){padding-top:18px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki [aria-busy=true]{opacity:.7;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__pagination{display:flex;align-items:center;justify-content:center;gap:22px;font-size:13px;padding:24px 0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__empty{padding:35px 24px;text-align:center;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__empty p{color:var(--pf360-wiki-muted);max-width:70ch;margin:15px auto 20px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__suggestions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__suggestions a{display:inline-block;background:var(--pf360-wiki-soft);border:1px solid var(--pf360-wiki-border);border-radius:24px;padding:6px 14px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 32px;margin-top:28px;border-top:1px solid var(--pf360-wiki-border);font-size:11px;color:var(--pf360-wiki-muted);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__breadcrumbs{display:flex;align-items:center;gap:12px;padding:25px 32px 0;font-size:13px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__article-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:42px;padding:26px 32px 8px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__article{min-width:0;max-width:850px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__lead{font-size:17px;color:var(--pf360-wiki-muted);line-height:1.65;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__article-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:11px;color:var(--pf360-wiki-muted);padding:12px 0 20px;border-bottom:1px solid var(--pf360-wiki-border);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__article-section{margin-top:30px;scroll-margin-top:70px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__article-section h2{font-size:21px;margin-bottom:16px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__article-section p{max-width:75ch;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__steps{list-style:none;padding:0!important;margin:0!important;counter-reset:wiki-step;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__steps li{counter-increment:wiki-step;position:relative;padding:14px 12px 17px 48px!important;margin:0 0 5px!important;border-bottom:1px solid var(--pf360-wiki-border);line-height:1.65;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__steps li::before{content:counter(wiki-step);position:absolute;inset-inline-start:0;top:13px;width:29px;height:29px;border:1px solid var(--pf360-wiki-border);border-radius:8px;color:var(--pf360-wiki-accent);font-size:13px;font-weight:700;display:grid;place-items:center;background:var(--pf360-wiki-soft);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__steps li:last-child{border-bottom:0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__bullets{padding-inline-start:23px!important;margin:12px 0 20px!important;list-style:disc;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__bullets li{padding-inline-start:4px;margin:8px 0!important;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__note{background:var(--pf360-wiki-soft);border:1px solid var(--pf360-wiki-border);border-inline-start:3px solid var(--pf360-wiki-accent);border-radius:6px;padding:14px 17px;font-size:14px;margin:18px 0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__note p{margin:0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__code{display:flex;align-items:center;gap:10px;padding:14px;background:var(--pf360-wiki-soft);border:1px solid var(--pf360-wiki-border);border-radius:8px;margin:16px 0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__code pre{margin:0;overflow:auto;flex:1;padding:7px;background:transparent;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__code code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;background:transparent;color:var(--pf360-wiki-text);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__actions,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:25px 0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__tools{border-top:1px solid var(--pf360-wiki-border);padding-top:20px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__tools>span{font-size:12px;color:var(--pf360-wiki-muted);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki:not(.is-enhanced) :is([data-wiki-copy-code],.pf360-wiki__tools){display:none;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__toc{border-inline-start:1px solid var(--pf360-wiki-border);padding-inline-start:20px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__toc nav{position:sticky;top:70px;display:flex;flex-direction:column;gap:13px;font-size:13px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__toc strong{font-size:12px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__toc a{color:var(--pf360-wiki-muted);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__related{margin-top:30px;padding-top:24px;border-top:1px solid var(--pf360-wiki-border);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__related h2{font-size:19px;margin-bottom:12px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__related a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--pf360-wiki-border);padding:12px 0;font-size:14px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__version{font-size:12px;color:var(--pf360-wiki-muted);margin:25px 0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki summary{cursor:pointer;color:var(--pf360-wiki-accent);padding:5px 0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__version ul{padding-inline-start:20px;list-style:disc;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__admin-header{padding:32px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__admin-header h1{font-size:30px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__admin-header p{color:var(--pf360-wiki-muted);margin-bottom:0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 32px 24px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-card{border:1px solid var(--pf360-wiki-border);padding:24px;border-radius:10px;margin:0 32px 24px;min-width:0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-grid>.pf360-wiki__settings-card{margin:0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-card h2{font-size:20px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-card p{font-size:14px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-card form{display:flex;align-items:flex-start;flex-direction:column;gap:12px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-card label{font-size:13px;font-weight:600;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-card select,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-card input{max-width:100%;width:100%;min-height:42px;padding:7px 12px;border:1px solid var(--pf360-wiki-border);border-radius:6px;font-size:14px;background:var(--pf360-wiki-surface);color:var(--pf360-wiki-text);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-card details{font-size:13px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__muted{color:var(--pf360-wiki-muted);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__table-wrap{overflow-x:auto;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki table{border-collapse:collapse;width:100%;font-size:12px;text-align:start;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki th,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki td{padding:12px 10px;border-bottom:1px solid var(--pf360-wiki-border);vertical-align:top;overflow-wrap:anywhere;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki th{background:var(--pf360-wiki-soft);font-weight:600;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__standalone-notice{font-size:14px;}
@media (max-width:950px){
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__topics{grid-template-columns:repeat(2,minmax(0,1fr));}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__article-layout{grid-template-columns:minmax(0,1fr);gap:25px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__toc{grid-row:1;padding:15px 18px;border:1px solid var(--pf360-wiki-border);border-radius:8px;background:var(--pf360-wiki-soft);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__toc nav{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 16px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki{margin:12px 0;border-radius:10px;font-size:14px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__masthead{padding:16px;align-items:flex-start;gap:12px;flex-direction:column;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__masthead nav{gap:14px;font-size:12px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__hero{padding:26px 18px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__hero>p{font-size:14px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search-row{gap:3px;padding:5px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search-icon{display:none;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search-row .pf360-wiki__button{padding:9px 12px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search-row input[type=search]{font-size:16px;padding:7px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__filters{display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__filters select{width:100%;max-width:none;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__reset{grid-column:2;margin:3px 0 0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__search--compact{padding:18px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__browse,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) [data-wiki-results]{padding:24px 18px 2px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__section-head{gap:12px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__section-head h2{font-size:18px;overflow-wrap:anywhere;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__topics{grid-template-columns:minmax(0,1fr);gap:9px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__topic{padding:14px 15px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__result{padding:18px 16px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__result h3{font-size:18px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__result-meta{gap:6px 10px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__live-status{margin:0 18px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__footer{padding:18px;align-items:flex-start;flex-direction:column;gap:4px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__breadcrumbs{padding:20px 18px 0;flex-wrap:wrap;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__article-layout{padding:20px 18px 0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__article h1{font-size:28px;overflow-wrap:anywhere;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__lead{font-size:15px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__steps li{padding-inline-start:41px!important;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__code{flex-wrap:wrap;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__code pre{flex-basis:100%;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__admin-header{padding:24px 18px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__admin-header h1{font-size:26px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-grid{margin:0 18px 18px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__settings-card{padding:18px;margin:0 18px 18px;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__pagination{gap:12px;}
}
@media (max-width:600px){
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__table-wrap table,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__table-wrap tbody,
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__table-wrap tr{display:block;width:100%;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__table-wrap tr{border:1px solid var(--pf360-wiki-border);border-radius:8px;padding:5px 10px;margin:10px 0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__table-wrap td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:10px;padding:10px 0;}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__table-wrap td::before{content:attr(data-label);font-weight:600;color:var(--pf360-wiki-muted);}
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki__table-wrap td:last-child{border-bottom:0;}
}
@media (prefers-reduced-motion:reduce){
:where(.pf360-portal-viewport,.pf360-frontend-app,.pf360-portal-modal) .pf360-wiki *{transition:none!important;scroll-behavior:auto!important;}
}

/* --------------------------------------------------------------------------
 * PF360 Beta Client 0.1.0-rc.2 — Session Runner refinement
 * -------------------------------------------------------------------------- */

/* Runner: compact identity/context and document actions beside elapsed time. */
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__context-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--pf360-space-1);
    min-width: 0;
    color: var(--pf360-color-text-muted);
    font-size: .75rem;
    font-weight: 650;
    line-height: 1.3;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__context-separator {
    opacity: .6;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--pf360-space-2);
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__document-actions {
    display: flex;
    align-items: center;
    gap: var(--pf360-space-1);
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__document-actions[hidden] {
    display: none !important;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__document-actions .pf360-button,
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__header-actions > .pf360-button {
    min-height: 40px;
    padding: var(--pf360-space-2) var(--pf360-space-3);
    font-size: .8125rem;
}

/* Runner: media and the frequent status/progression action stay together. */
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__media-column {
    display: grid;
    align-content: start;
    gap: var(--pf360-space-3);
    min-width: 0;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__media {
    position: relative;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__status-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(10rem, .72fr);
    align-items: end;
    gap: var(--pf360-space-2);
    margin: 0;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__status-control {
    min-width: 0;
    margin: 0;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__status-control > span {
    display: block;
    margin-bottom: var(--pf360-space-1);
    color: var(--pf360-color-text-muted);
    font-size: .75rem;
    font-weight: 700;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__select {
    width: 100%;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__complete-next {
    width: 100%;
    min-height: 44px;
    white-space: normal;
}

/* Runner: successful progression feedback floats over the active exercise media. */
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__notice.is-media-feedback {
    position: absolute;
    left: 50%;
    bottom: var(--pf360-space-3);
    z-index: 4;
    width: max-content;
    max-width: calc(100% - (2 * var(--pf360-space-4)));
    margin: 0;
    padding: var(--pf360-space-2) var(--pf360-space-3);
    transform: translateX(-50%);
    border-radius: 999px;
    box-shadow: var(--pf360-shadow-raised);
    text-align: center;
    pointer-events: none;
}

/* Runner: compact footer retains safe client touch targets. */
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__footer {
    padding: var(--pf360-space-2) var(--pf360-space-4);
    gap: var(--pf360-space-2);
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__footer-center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--pf360-space-2);
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__footer .pf360-button {
    min-height: 40px;
    padding: var(--pf360-space-2) var(--pf360-space-3);
    font-size: .8125rem;
}

/* Runner: exercise information and ±/set help use one accessible dialog. */
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner-info {
    position: fixed;
    inset: 50% auto auto 50%;
    z-index: calc(var(--pf360-z-modal) + 4);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    width: min(680px, calc(100vw - 32px));
    max-height: min(78vh, 760px);
    max-height: min(78dvh, 760px);
    transform: translate(-50%, -50%);
    border: 1px solid var(--pf360-color-border);
    border-radius: var(--pf360-radius-large);
    background: var(--pf360-color-surface);
    box-shadow: var(--pf360-shadow-raised);
    overflow: hidden;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner-info[hidden] {
    display: none !important;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner-info .pf360-dialog__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pf360-space-3);
    padding: var(--pf360-space-4);
    border-bottom: 1px solid var(--pf360-color-border);
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner-info .pf360-dialog__header h3 {
    margin: 0;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner-info__body {
    display: grid;
    gap: var(--pf360-space-3);
    min-height: 0;
    padding: var(--pf360-space-4);
    overflow: auto;
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__information-card,
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__information-item {
    display: grid;
    gap: var(--pf360-space-2);
}
.pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__information-item > :is(h4,p) {
    margin: 0;
}

@media (max-width: 760px) {
    /* Runner: reduce header height while keeping timer/print/actions immediately available. */
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__header {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--pf360-space-2);
        padding: var(--pf360-space-3);
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__identity h2 {
        display: -webkit-box;
        margin: var(--pf360-space-1) 0 0;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 1rem;
        line-height: 1.25;
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__context-line {
        font-size: .6875rem;
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__header-actions {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto auto;
        align-items: center;
        gap: var(--pf360-space-1);
        width: 100%;
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__timer {
        min-width: 60px;
        min-height: 36px;
        padding: var(--pf360-space-1) var(--pf360-space-2);
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__document-actions {
        min-width: 0;
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__document-actions .pf360-button {
        width: 100%;
        min-height: 36px;
        padding: var(--pf360-space-1) var(--pf360-space-2);
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__focus,
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__close {
        width: 40px;
        min-width: 40px;
        min-height: 40px;
        padding: 0;
    }

    /* Runner: frequent status/advance controls stay immediately below the exercise image. */
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__slide {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__media-column,
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__details {
        min-width: 0;
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__status-row {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--pf360-space-2);
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__complete-next {
        order: 2;
        min-height: 44px;
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__status-control {
        order: 1;
    }

    /* Runner: smaller footer, still 44px touch safe on client surfaces. */
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__footer {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: var(--pf360-space-1);
        padding: var(--pf360-space-2);
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__footer-center {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--pf360-space-1);
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner__footer .pf360-button {
        min-height: 44px;
        padding: var(--pf360-space-2);
        font-size: .75rem;
    }
    .pf360-session-runner[data-pf360-surface="portal"] .pf360-session-runner-info {
        width: calc(100vw - 20px);
        max-height: calc(100dvh - 20px);
    }
}

/* rc.3 — compact verified mark shared with Admin Grid/List surfaces. */
.pf360-frontend-app .pf360-verified-badge {
  display:inline-grid;place-items:center;box-sizing:border-box;width:16px;height:16px;flex:0 0 16px;margin:0;padding:0;
  border:1px solid #176b82;border-radius:50%;
  background:#176b82;color:#ffffff;
  font-size:11px;font-weight:900;line-height:1;vertical-align:middle;
}
.pf360-frontend-app .pf360-verified-badge > span { line-height:1;transform:translateY(-0.25px); }
