/* Shared controls are available in both layouts. Existing page styles remain the classic baseline. */
.modern-only { display:none!important; }
[hidden] { display:none!important; }
[data-partner-layout="modern"] .classic-only { display:none!important; }
[data-partner-layout="modern"] .modern-only { display:revert!important; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:100; padding:12px; background:#fff; color:#343434; }
.skip-link:focus { top:8px; }
.site-header .partner-layout-toolbar { display:flex; justify-content:flex-end; margin:0; flex:none; }
.partner-layout-switch { display:inline-flex; padding:3px; border:1px solid #d8dee4; border-radius:6px; background:#fff; }
.partner-layout-switch button { min-height:36px; padding:6px 12px; border:0; border-radius:3px; background:transparent; color:#535963; font:inherit; font-size:13px; cursor:pointer; }
.partner-layout-switch button[aria-pressed="true"] { background:#343434; color:#fff; }
.partner-layout-switch :focus-visible { outline:3px solid #155cbd; outline-offset:2px; }
.knowledge-heading { display:contents; }

/* One visual language for the new layout, without overriding partner-specific artwork. */
[data-partner-layout="modern"] { --page-bg:#f5f6f8; --line:#dce0e5; --muted:#62676f; }
[data-partner-layout="modern"] body { color:#343434; font-size:16px; }
[data-partner-layout="modern"] body * { letter-spacing:0; }
[data-partner-layout="modern"] .page { width:100%; max-width:1600px; padding:24px 32px 40px; }
[data-partner-layout="modern"] .site-header { box-shadow:none; padding:10px 32px; }
[data-partner-layout="modern"] .site-header-inner { max-width:1536px; width:100%; gap:24px; }
[data-partner-layout="modern"] .site-nav { gap:24px; justify-content:space-between; }
[data-partner-layout="modern"] .site-nav-links { gap:22px; }
[data-partner-layout="modern"] .site-nav-link { border:0; border-bottom:3px solid transparent; border-radius:0; padding:8px 2px; font-weight:500; background:none; }
[data-partner-layout="modern"] .site-nav-link.is-active { border-bottom-color:#fe5000; color:#b63800; background:none; }
[data-partner-layout="modern"] .site-logout-form button { background:transparent; color:#535963; border:0; font-weight:500; }
[data-partner-layout="modern"] h1 { font-size:28px; line-height:1.25; overflow-wrap:anywhere; }
[data-partner-layout="modern"] h2 { font-size:20px; line-height:1.35; }
[data-partner-layout="modern"] h3 { font-size:17px; }
[data-partner-layout="modern"] :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #155cbd; outline-offset:3px; }
[data-partner-layout="modern"] :is(button,.button) { box-shadow:none; border-radius:5px; }
[data-partner-layout="modern"] :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { border-color:#cbd0d7; border-radius:5px; font:inherit; color:#343434; }
[data-partner-layout="modern"] :is(.content-section,.section-panel) { background:none; border:0; border-radius:0; box-shadow:none; padding:0; }
[data-partner-layout="modern"] .content-row { border:1px solid var(--line); border-radius:5px; border-left-width:1px; background:#fff; box-shadow:none; color:#343434; }
[data-partner-layout="modern"] .content-row:hover { background:#fafbfc; border-color:#9ca3ad; transform:none; }
[data-partner-layout="modern"] .content-row strong { font-size:16px; line-height:1.4; }

/* Knowledge bank: the same heading/search rhythm and material rows as Partners. */
[data-partner-layout="modern"] .knowledge-heading { display:flex; gap:32px; align-items:center; justify-content:space-between; margin-bottom:22px; }
[data-partner-layout="modern"] .training-hero { flex:none; padding:0; margin:0; border:0; background:none; box-shadow:none; border-radius:0; }
[data-partner-layout="modern"] .training-hero h1 { margin:0; font-size:28px; }
[data-partner-layout="modern"] .training-search-bar { display:flex; flex:0 1 640px; gap:0; min-width:0; padding:0; margin:0; border:0; background:none; box-shadow:none; align-items:center; flex-wrap:wrap; }
[data-partner-layout="modern"] .training-search-bar label { flex:1; min-width:0; margin:0; }
[data-partner-layout="modern"] .training-search-bar input { height:46px; min-height:46px; width:100%; max-width:none; margin:0; border:1px solid #cbd0d7; border-radius:5px 0 0 5px; padding:10px 14px; background:#fff; font-weight:400; }
[data-partner-layout="modern"] .training-search-bar input::placeholder { font-weight:400; color:#62676f; }
[data-partner-layout="modern"] .training-search-bar button { width:48px; height:46px; padding:12px; border-radius:0 5px 5px 0; }
[data-partner-layout="modern"] .training-search-bar button img { width:22px; height:22px; }
[data-partner-layout="modern"] .training-search-bar>a { flex-basis:100%; margin-top:8px; color:#62676f; font-size:13px; }
[data-partner-layout="modern"] .training-category-tabs { display:flex; flex-wrap:nowrap; gap:22px; margin:0 0 24px; border-bottom:1px solid var(--line); padding:0; overflow-x:auto; }
[data-partner-layout="modern"] .training-category-tab { flex:none; min-height:44px; padding:8px 2px; border:0; border-bottom:3px solid transparent; border-radius:0; background:none; font-size:14px; font-weight:500; color:#535963; }
[data-partner-layout="modern"] .training-category-tab.is-active { background:none; color:#343434; border-bottom-color:#fe5000; }
[data-partner-layout="modern"] .training-category-tab small { background:#e9edf1; color:#535963; border-radius:4px; }
[data-partner-layout="modern"] .knowledge-list { gap:10px; }
[data-partner-layout="modern"] .knowledge-row { display:flex; flex-direction:row; align-items:center; gap:16px; padding:14px 16px; min-height:96px; }
[data-partner-layout="modern"] .knowledge-item-icon { display:grid; place-items:center; width:64px; height:60px; border-radius:4px; background:#f0f3f6; flex:none; overflow:hidden; }
[data-partner-layout="modern"] .knowledge-item-icon img { width:26px; height:26px; }
[data-partner-layout="modern"] .knowledge-item-icon .knowledge-thumbnail { width:100%; height:100%; object-fit:cover; }
[data-partner-layout="modern"] .knowledge-item-copy { flex:1; min-width:0; gap:4px; }
[data-partner-layout="modern"] .knowledge-item-copy>span:not(.knowledge-item-meta) { font-size:14px; line-height:1.45; color:#62676f; }
[data-partner-layout="modern"] .knowledge-item-meta { gap:10px; font-size:12px; font-weight:400; }
[data-partner-layout="modern"] .knowledge-item-meta .knowledge-scope { color:#535963; border-left:1px solid #dce0e5; padding-left:10px; }
[data-partner-layout="modern"] .knowledge-item-arrow img { width:20px; height:20px; }
[data-partner-layout="modern"] .knowledge-empty { padding:32px 0; border-top:1px solid var(--line); color:#62676f; }

/* A single context header; the media surface and its controls stay functional in both layouts. */
[data-partner-layout="modern"] .viewer-context-bar { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; background:none; border:0; border-radius:0; padding:0 0 20px; margin:0 0 20px; border-bottom:2px solid var(--organization-primary,#dce0e5); }
[data-partner-layout="modern"] .viewer-heading-back { display:flex!important; align-items:center; gap:8px; min-height:36px; color:#535963; font-size:14px; text-decoration:none; }
[data-partner-layout="modern"] .viewer-heading-back img { width:18px; height:18px; }
[data-partner-layout="modern"] .viewer-context-bar .content-crumbs { margin-left:auto; font-size:13px; }
[data-partner-layout="modern"] .viewer-context-title { flex-basis:100%; display:flex; flex-direction:row-reverse; justify-content:space-between; align-items:center; gap:20px; }
[data-partner-layout="modern"] .viewer-context-title>div { flex:1; }
[data-partner-layout="modern"] .viewer-context-title h1 { font-size:26px; line-height:1.3; }
[data-partner-layout="modern"] .viewer-context-title p { font-size:14px; margin:6px 0 0; }
[data-partner-layout="modern"] .viewer-context-title .material-badge { background:#eef0f3; color:#535963; border-radius:4px; font-size:12px; box-shadow:none; }
[data-partner-layout="modern"] .viewer-page-shell { grid-template-columns:minmax(0,1fr) 280px; gap:28px; }
[data-partner-layout="modern"] .viewer-main-only { grid-template-columns:minmax(0,1fr); }
[data-partner-layout="modern"] .viewer-card { min-width:0; margin:0; padding:0; border:1px solid #dce0e5; border-radius:5px; background:#fff; box-shadow:none; }
[data-partner-layout="modern"] .video-shell { min-height:0; background:#202020; }
[data-partner-layout="modern"] .video-shell video { min-height:0; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#202020; }
[data-partner-layout="modern"] .audio-shell { min-height:280px; background:#f3f5f7; }
[data-partner-layout="modern"] .viewer-toolbar { justify-content:center; min-height:52px; padding:4px 12px; }
[data-partner-layout="modern"] .viewer-toolbar .viewer-navigation { display:none; }
[data-partner-layout="modern"] .viewer-toolbar:not(:has(.viewer-controls)) { display:none; }
[data-partner-layout="modern"] .viewer-controls { flex-wrap:wrap; justify-content:center; }
[data-partner-layout="modern"] .viewer-icon-button { border-color:transparent; }
[data-partner-layout="modern"] .viewer-side-panel { padding:0 0 0 20px; border:0; border-left:1px solid #dce0e5; border-radius:0; background:none; box-shadow:none; }
[data-partner-layout="modern"] .viewer-side-panel[open] { display:block; }
[data-partner-layout="modern"] .viewer-side-panel>summary { background:none; padding:0 0 12px; font-size:14px; color:#535963; }
[data-partner-layout="modern"] .side-section { padding:0; margin:16px 0; border:0; background:none; }
[data-partner-layout="modern"] .side-section h2 { font-size:16px; margin:0 0 12px; }
[data-partner-layout="modern"] .related-list { gap:0; }
[data-partner-layout="modern"] .related-item { border:0; border-bottom:1px solid #dce0e5; border-radius:0; padding:14px 0; background:none; gap:10px; }
[data-partner-layout="modern"] .related-item strong { font-size:14px; font-weight:600; }
[data-partner-layout="modern"] .related-item>span>span { font-size:12px; margin-top:4px; color:#62676f; }
[data-partner-layout="modern"] .audio-stage { min-height:180px; padding:28px; background:none; box-shadow:none; }
[data-partner-layout="modern"] .audio-stage h2,[data-partner-layout="modern"] .audio-stage p { display:none; }
[data-partner-layout="modern"] .audio-stage audio { width:100%; }

/* Account flows share a calm, narrow form rather than a second landing page. */
[data-partner-layout="modern"] :is(.account-shell,.login-shell) { display:flex; flex-direction:column; width:100%; max-width:520px; gap:24px; margin:20px auto; padding:0; background:none; border:0; border-radius:0; box-shadow:none; min-height:0; }
[data-partner-layout="modern"] :is(.account-intro,.login-intro) { padding:0; margin:0; max-width:none; }
[data-partner-layout="modern"] :is(.account-intro,.login-intro) h1 { max-width:none; margin:0; font-size:28px; }
[data-partner-layout="modern"] :is(.account-intro,.login-intro) p { margin:12px 0 0; font-size:15px; }
[data-partner-layout="modern"] :is(.account-card,.login-card) { width:100%; max-width:none; margin:0; padding:24px 0; border:0; border-top:1px solid #dce0e5; border-radius:0; background:none; box-shadow:none; }
[data-partner-layout="modern"] .login-card-heading { display:none; }
[data-partner-layout="modern"] :is(.login-shell,.account-shell) .eyebrow { display:none; }
[data-partner-layout="modern"] :is(.login-highlight-list,.login-kicker) { display:none; }
[data-partner-layout="modern"] .login-lead { display:none; }
[data-partner-layout="modern"] :is(.login-form,.account-form) { background:none; padding:0; border:0; box-shadow:none; gap:12px; }
[data-partner-layout="modern"] :is(.login-form,.account-form) label { font-size:14px; font-weight:600; }
[data-partner-layout="modern"] :is(.login-form,.account-form) input:not([type=checkbox]):not([type=hidden]) { min-height:46px; width:100%; background:#fff; padding:10px 12px; }
[data-partner-layout="modern"] .account-progress-list { display:none; }
[data-partner-layout="modern"] .account-status-card { width:100%; max-width:560px; margin:24px auto; padding:24px 0; border:0; border-top:3px solid #fe5000; border-radius:0; box-shadow:none; background:none; }
[data-partner-layout="modern"] .account-status-card-warning { border-top-color:#a12727; }
[data-partner-layout="modern"] :is(.login-help-panel,.account-status-note) { border:0; border-top:1px solid #dce0e5; padding:16px 0; background:none; }

/* Admin stays an operational workspace; the shared scale and states follow the new theme. */
[data-partner-layout="modern"] .admin-body .site-header { height:auto; min-height:72px; }
[data-partner-layout="modern"] .admin-body .site-header-inner { padding:0; }
[data-partner-layout="modern"] .admin-body .site-nav { justify-content:flex-end; }
[data-partner-layout="modern"] .admin-main.page { max-width:1500px; padding:24px 32px 40px; }
[data-partner-layout="modern"] .admin-heading { margin-bottom:20px; }
[data-partner-layout="modern"] .admin-toolbar { padding:12px 0; gap:16px; }
[data-partner-layout="modern"] .admin-table th { background:#edf0f3; font-size:13px; }
[data-partner-layout="modern"] .admin-table td { padding:12px 16px; }
[data-partner-layout="modern"] .admin-dashboard-metric { border-radius:5px; box-shadow:none; }
[data-partner-layout="modern"] .admin-summary-grid { gap:20px; }
[data-partner-layout="modern"] .admin-main :is(.button,button) { color:#343434; }
[data-partner-layout="modern"] .admin-main .danger { color:#a12727; }
[data-partner-layout="modern"] .admin-main .form-panel { gap:12px; }
[data-partner-layout="modern"] .admin-notice { border-radius:4px; }
[data-partner-layout="modern"] .information-page { max-width:760px; margin:0 auto; }

@media (max-width:1100px) {
    .site-header-inner { gap:12px; }
    [data-partner-layout="modern"] .site-header-inner { gap:12px; }
    [data-partner-layout="modern"] .site-nav-links { gap:12px; }
    [data-partner-layout="modern"] .knowledge-heading { gap:20px; }
    [data-partner-layout="modern"] .viewer-page-shell { grid-template-columns:minmax(0,1fr); }
    [data-partner-layout="modern"] .viewer-side-panel { border-left:0; border-top:1px solid #dce0e5; padding:16px 0; }
}
@media (max-width:900px) {
    body:not(.admin-body) .site-header-inner { display:flex; flex-wrap:wrap; gap:12px; }
    body:not(.admin-body) .site-nav { display:none; }
    body:not(.admin-body) .mobile-nav { display:block; margin-left:auto; }
    body:not(.admin-body) .mobile-nav summary { display:flex; align-items:center; min-height:44px; cursor:pointer; list-style:none; }
    body:not(.admin-body) .mobile-nav nav { position:absolute; z-index:40; top:48px; right:0; left:auto; width:min(360px,100%); padding:12px; background:#fff; border:1px solid #dce0e5; border-radius:5px; box-shadow:0 8px 20px #34343418; display:grid; gap:8px; }
    body:not(.admin-body) .site-header .partner-layout-toolbar { flex-basis:100%; justify-content:flex-end; }
    [data-partner-layout="modern"] .site-header { padding:10px 20px; }
    [data-partner-layout="modern"] .knowledge-heading { align-items:stretch; flex-direction:column; gap:16px; }
    [data-partner-layout="modern"] .training-search-bar { flex:auto; width:100%; }
}
@media (max-width:700px) {
    [data-partner-layout="modern"] .page { padding:20px 16px 32px; }
    [data-partner-layout="modern"] .knowledge-heading { align-items:stretch; flex-direction:column; gap:16px; }
    [data-partner-layout="modern"] .training-search-bar { flex:auto; width:100%; }
    [data-partner-layout="modern"] .training-hero h1 { font-size:24px; }
    [data-partner-layout="modern"] .training-category-tabs { gap:18px; }
    [data-partner-layout="modern"] .knowledge-row { gap:12px; padding:12px; }
    [data-partner-layout="modern"] .knowledge-item-icon { width:40px; height:44px; }
    [data-partner-layout="modern"] .knowledge-item-copy strong { font-size:15px; }
    [data-partner-layout="modern"] .knowledge-item-arrow { display:none; }
    [data-partner-layout="modern"] .viewer-context-title { align-items:flex-start; }
    [data-partner-layout="modern"] .viewer-context-title h1 { font-size:22px; }
    [data-partner-layout="modern"] .viewer-context-bar .content-crumbs { margin-left:0; }
    [data-partner-layout="modern"] .viewer-toolbar { padding:4px; }
    [data-partner-layout="modern"] :is(.account-shell,.login-shell) { margin:8px auto; }
    [data-partner-layout="modern"] .admin-main.page { padding:20px 16px 32px; }
    .admin-body .site-header { height:auto; min-height:72px; }
    .admin-body .site-header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:0; gap:8px; }
    .admin-body .site-header .site-nav { width:auto; }
    .admin-body .site-header .brand { min-width:0; }
    .admin-body .site-header .partner-layout-toolbar { grid-column:1/-1; }
    .admin-body .site-header .partner-layout-toolbar { margin-left:auto; }
}
@media (pointer:coarse) {
    .partner-layout-switch button { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
    [data-partner-layout="modern"] * { scroll-behavior:auto!important; transition:none!important; }
}

.image-shell { position:relative; overflow:auto; background:#fff; }
.image-shell > img { display:block; width:100%; height:auto; object-fit:contain; }
