/* Shared editorial shell. Kept after legacy article styles to support existing content. */
:root { --wiki-ink:#142138; --wiki-muted:#526074; --wiki-purple:#6542c2; --wiki-border:#dce2eb; --wiki-header:76px; }
* { box-sizing:border-box; }
html { scroll-padding-top:100px; }
body { margin:0; font-family:Manrope,system-ui,sans-serif; background:#f4f6fa !important; color:var(--wiki-ink); }
[hidden] { display:none !important; }
a,button,input { -webkit-tap-highlight-color:transparent; }
button,input { font:inherit; }
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex="0"]:focus-visible { outline:3px solid #9069e2; outline-offset:4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.wiki-skip-link { position:fixed; top:8px; left:12px; z-index:100000; background:white; color:#452391; padding:12px 20px; transform:translateY(-150%); }
.wiki-skip-link:focus { transform:translateY(0); }
.wiki-site-header { height:var(--wiki-header); padding:0 36px; background:#111c30; color:#fff; display:flex; justify-content:space-between; align-items:center; position:fixed; inset:0 0 auto; z-index:1100; border-bottom:1px solid #ffffff18; }
.wiki-brand { display:flex; gap:10px; align-items:center; font-size:23px; font-weight:800; color:white; text-decoration:none; letter-spacing:-.7px; }
.wiki-brand img { width:32px; height:32px; object-fit:contain; }
.wiki-brand-light { color:#c6cede; font-weight:400; }
.wiki-site-header nav { display:flex; gap:28px; align-items:center; }
.wiki-site-header nav a { color:#d4dced; font-size:14px; text-decoration:none; }
.wiki-site-header nav a:hover { color:white; }
.wiki-site-header nav .wiki-sign-in { color:#fff; background:#6e49c7; padding:10px 18px; border-radius:6px; }
.wiki-page-shell { padding-top:var(--wiki-header); min-height:100vh; }
.wiki-navigation { top:var(--wiki-header); background:#111c30; width:266px; height:calc(100dvh - var(--wiki-header)); padding:24px 14px; border:0; scrollbar-color:#43506a transparent; }
.nav-header { padding:0 12px 18px; margin:0 0 18px; border-color:#ffffff16; }
.nav-home { padding:0; font-size:15px; color:#e4eaf5; }
.nav-home:hover { color:#cbb7ff; }
.wiki-search { padding:0 0 16px; margin:0; border:0; }
.wiki-search input { padding:11px 10px 11px 33px; color:white; background:#1e2a40; border:1px solid #3c4960; border-radius:6px; }
.wiki-search input::placeholder { color:#b8c3d5; }
.wiki-search .search-icon { left:11px; color:#bdc6d8; }
.wiki-search-status { color:#c2cce0; font-size:13px; margin:0 10px 14px; }
.wiki-search-status:empty { display:none; }
.nav-section { margin:0 0 4px; padding:0; border:0; }
.nav-category { font-size:14px; letter-spacing:0; text-transform:none; padding:11px 9px; font-weight:500; color:#d5ddec; line-height:1.45; }
.expand-icon { color:#a3aec3; width:10px; font-size:8px; }
.nav-article { font-size:14px; padding:8px 10px 8px 25px; color:#adbcd3; border-left-width:2px; }
.nav-article.active { background:#b89aff18; color:#ddceff; border-color:#b89aff; }
.nav-article:hover { color:white; }
.nav-close { display:none; }
.wiki-main-content { margin-left:266px; padding:40px clamp(24px,4vw,64px); max-width:none; margin-right:230px; }
.wiki-main-content main { min-width:0; max-width:940px; margin:auto; }
.wiki-content.card { padding:40px clamp(24px,3.3vw,56px); background:white !important; border:1px solid var(--wiki-border) !important; box-shadow:0 8px 28px #13213b05 !important; border-radius:10px; }
.wiki-content .prose { color:var(--wiki-ink); font-size:1.0625rem; line-height:1.8; overflow-wrap:break-word; }
.wiki-content .prose h1 { font-size:clamp(2rem,3.3vw,3.3rem); line-height:1.16; letter-spacing:-.045em; color:var(--wiki-ink); background:none; -webkit-text-fill-color:currentColor; border:0; padding:0; margin:0 0 24px; }
.wiki-content .prose h2 { margin-top:2.8rem; padding-bottom:12px; font-size:1.65rem; line-height:1.3; border-bottom:1px solid var(--wiki-border); }
.wiki-content .prose h2::before { display:none; }
.wiki-content .prose h3 { color:var(--wiki-ink); margin-top:1.7rem; font-size:1.22rem; }
.wiki-content .prose p { line-height:1.8; margin:1em 0; color:#43516a; }
.wiki-content .prose > p:first-of-type { font-size:1.15rem; line-height:1.75; color:#526074; margin-bottom:2rem; }
.wiki-content .prose li { line-height:1.75; margin:.4em 0; }
.wiki-content .prose a { color:#6540b6; }
.wiki-content .prose a:hover { color:#442185; }
.wiki-content .prose :is(h2,h3,h4) { scroll-margin-top:100px; }
.wiki-article-header { margin-bottom:22px; align-items:center; }
.wiki-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; font-size:13px; line-height:1.6; color:#5b6880; }
.wiki-breadcrumbs a { color:#6540b6; text-decoration:none; }
.wiki-breadcrumbs .separator { color:#9aa4b5; }
.wiki-breadcrumbs > span:last-child { display:none; }
.wiki-share-btn { border:1px solid #d2d9e5; color:#4b5a72; background:white; min-height:42px; }
.wiki-share-btn:hover { color:#432883; background:#f4f0fc; border-color:#bca7e7; }
.wiki-share-btn.copied { color:#14633e; background:#e8f5ee; }
.wiki-reading-meta { color:#6b598b; font-size:13px; margin-bottom:18px; }
.wiki-toc { right:20px; width:206px; top:116px; z-index:20; max-height:calc(100dvh - 145px); }
.wiki-toc-sticky { background:none; backdrop-filter:none; border:0; border-radius:0; padding:0 0 0 8px; box-shadow:none; }
.wiki-toc-header { color:#55627a; font-size:12px; border-color:#dce2eb; letter-spacing:.08em; }
.wiki-toc-nav a { font-size:13px; color:#586780; padding:7px 8px; margin-left:0; line-height:1.45; }
.wiki-toc-nav a[data-level="3"] { font-size:12px; color:#63728a; }
.wiki-toc-nav a:hover,.wiki-toc-nav a.active { color:#543398; background:#ece6f7; border-color:#8d68d5; }
.wiki-table-scroll { overflow:auto; max-width:100%; margin:1.8rem 0; scrollbar-width:thin; }
.wiki-content .prose .wiki-table-scroll table { margin:0; border-radius:6px; min-width:520px; font-size:.9rem; box-shadow:none; }
.wiki-content .prose th { background:#eef1f7; color:#243451; border-color:#d4dce9; font-size:13px; text-transform:none; letter-spacing:0; padding:14px 16px; }
.wiki-content .prose td { padding:14px 16px; line-height:1.65; vertical-align:top; }
.wiki-content .prose th strong { color:inherit; }
.wiki-content .prose pre { max-width:100%; background:#142138; box-shadow:none; }
.wiki-content .prose div[style*="grid-template-columns"] { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)) !important; }
.wiki-content .prose div[style*="color: #d4d4d8"],.wiki-content .prose p[style*="color: #d4d4d8"],.wiki-content .prose p[style*="color: #a1a1aa"] { color:#4b5a72 !important; }
.wiki-article-footer { margin-top:32px; padding-top:24px; border-top:1px solid var(--wiki-border); color:#59667b; font-size:14px; }
.wiki-article-footer p { color:#59667b; }
.wiki-adjacent-pages { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; margin-top:18px; }
.wiki-adjacent-pages a { color:#6240b1; text-decoration:none; }
.wiki-copyright { margin-top:44px; }
.wiki-copyright p { color:#637086 !important; }
#wiki-site-footer { margin:0 0 0 266px; background:#111c30; color:#eef2fa; }
#wiki-site-footer a { color:#c1ccdf; }
#wiki-site-footer .text-zinc-500 { color:#aab9cf; }
body.wiki-embedded-mode .wiki-site-header,body.wiki-embedded-mode #wiki-site-footer { display:none; }
body.wiki-embedded-mode .wiki-page-shell { padding-top:0; }
body.wiki-embedded-mode .wiki-navigation { top:0; height:100dvh; }
body.wiki-embedded-mode .wiki-toc { top:36px; }
@media(max-width:1279px) { .wiki-main-content { margin-right:0; } .wiki-toc { display:none; } }
@media(max-width:1000px) {
 .wiki-navigation { position:fixed; top:0; left:-100%; width:min(350px,90vw); height:100dvh; padding:75px 20px 24px; z-index:1200; transition:left .2s; }
 .wiki-navigation.open { left:0; }
 .wiki-navigation:not(.open) { visibility:hidden; }
 .wiki-main-content { margin:0; max-width:100%; padding:78px 24px 32px; }
 .nav-toggle { display:flex; position:absolute; top:93px; left:24px; width:auto; height:40px; padding:0 14px; gap:9px; font-size:14px; border:1px solid #cfd7e4; border-radius:6px; background:#fff; color:#263650; box-shadow:none; z-index:90; }
 .nav-toggle:hover { background:#eee8f8; transform:none; }
 .nav-close { display:block; position:absolute; top:20px; right:20px; width:40px; height:40px; font-size:24px; color:white; background:#ffffff15; border:1px solid #ffffff25; border-radius:6px; cursor:pointer; }
 .nav-overlay { display:block; position:fixed; inset:0; z-index:1190; background:#08122599; opacity:0; pointer-events:none; }
 .nav-overlay.visible { opacity:1; pointer-events:auto; }
 #wiki-site-footer { margin-left:0; }
 body.wiki-embedded-mode .nav-toggle { top:16px; }
}
@media(max-width:600px) {
 .wiki-site-header { padding:0 20px; }
 .wiki-brand { font-size:20px; }
 .wiki-site-header nav { gap:12px; }
 .wiki-site-header nav a:not(.wiki-sign-in) { display:none; }
 .wiki-site-header nav .wiki-sign-in { padding:9px 12px; }
 .wiki-main-content { padding:74px 12px 24px; }
 .wiki-content.card { padding:24px 20px; border-radius:8px; }
 .wiki-content .prose h1 { font-size:2.2rem; }
 .wiki-content .prose h2 { font-size:1.45rem; }
 .wiki-article-header { flex-direction:row; align-items:flex-start; gap:8px; }
 .wiki-share-btn { padding:8px; }
 .wiki-share-btn span { font-size:12px; }
 .wiki-breadcrumbs { font-size:12px; }
 .wiki-content .prose { font-size:1rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
@media print {
 body { background:white !important; }
 .wiki-site-header,.wiki-navigation,.wiki-toc,.nav-toggle,.nav-overlay,#wiki-site-footer,.wiki-share-btn,.copy-code-btn { display:none !important; }
 .wiki-page-shell,.wiki-main-content { padding:0; margin:0; max-width:100%; }
 .wiki-content.card { padding:0; border:0 !important; box-shadow:none !important; }
 .wiki-content .prose h1 { font-size:28pt; }
 .wiki-content .prose :is(h2,h3) { break-after:avoid; }
 .wiki-table-scroll { overflow:visible; }
 .wiki-content .prose table { min-width:0 !important; }
}

/* The contents column belongs to the article, never the site footer. */
@media(min-width:1280px) {
 .wiki-article-page .wiki-main-content { display:grid; grid-template-columns:minmax(0,940px) 206px; gap:36px; margin-right:0; align-items:start; justify-content:center; }
 .wiki-article-page .wiki-main-content main { grid-column:1; grid-row:1; width:100%; }
 .wiki-article-page .wiki-toc { position:sticky; grid-column:2; grid-row:1; top:110px; right:auto; width:206px; align-self:start; }
 .wiki-home-page .wiki-main-content { display:block; }
}
.copy-code-btn { position:absolute; top:8px; right:8px; padding:6px 12px; border:1px solid #5d718c; border-radius:5px; background:#223a59; color:#fff; font-size:12px; cursor:pointer; }
.wiki-content .prose pre:has(.copy-code-btn) { padding-top:46px; }

.wiki-number { white-space:nowrap; font-variant-numeric:tabular-nums; }
.wiki-content .prose td.wiki-numeric-cell { white-space:nowrap; min-width:8rem; font-variant-numeric:tabular-nums; }
.wiki-content .prose td,.wiki-content .prose th { word-break:normal; overflow-wrap:normal; }

.nav-close { transition:background .2s; }

/* Preserve the illustration pixels; navigation is a transparent proportional layer. */
.interactive-illustration { margin:32px 0 40px; }
.illustration-canvas { position:relative; width:100%; isolation:isolate; }
.wiki-content .prose .illustration-canvas img,.illustration-canvas img { display:block; width:100%; height:auto; margin:0; padding:0; border:0; border-radius:10px; box-shadow:0 3px 14px #14213812; }
.wiki-content .prose a.illustration-hotspot,.illustration-hotspot { position:absolute; display:block; border:2px solid transparent; border-radius:12px; padding:0; margin:0; background:transparent; text-decoration:none; box-shadow:none; transition:border-color .16s,box-shadow .16s,background .16s; }
.wiki-content .prose a.illustration-hotspot.is-ellipse,.illustration-hotspot.is-ellipse { border-radius:50%; }
.wiki-content .prose a.illustration-hotspot:hover,.wiki-content .prose a.illustration-hotspot:focus-visible,.illustration-hotspot:hover,.illustration-hotspot:focus-visible { border-color:#8250d4; box-shadow:0 0 0 3px #a986e970,0 0 18px #7649c64d; background:#9770e00a; outline:none; z-index:2; }
.illustration-hotspot > span { position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); width:max-content; max-width:240px; padding:7px 11px; border-radius:5px; background:#18283f; color:#fff; font:500 12px/1.5 Manrope,system-ui,sans-serif; box-shadow:0 3px 12px #0002; opacity:0; visibility:hidden; pointer-events:none; text-align:center; }
.illustration-hotspot:hover > span,.illustration-hotspot:focus-visible > span { opacity:1; visibility:visible; }
.illustration-hotspot > span b { color:#d5c3ff; }
.interactive-illustration figcaption { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; font-size:12px; line-height:1.5; color:#62718a; }
.illustration-expand,.illustration-dialog-close { border:1px solid #cbd5e4; border-radius:6px; background:#fff; color:#51348e; padding:7px 11px; white-space:nowrap; cursor:pointer; }
.illustration-expand:hover,.illustration-dialog-close:hover { background:#eee8f8; }
.illustration-expand { display:none; }
.js-illustrations .illustration-expand { display:block; }
.wiki-content .prose .illustration-note { font-size:12px; line-height:1.6; color:#62718a; margin:10px 0; }
.illustration-text-links { margin-top:8px; font-size:12px; color:#536481; }
.illustration-text-links summary { cursor:pointer; width:fit-content; }
.wiki-content .prose .illustration-text-links ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:4px 18px; margin:10px 0; }
.wiki-content .prose .illustration-text-links li { margin:0; }
.illustration-dialog { width:min(1500px,96vw); max-width:96vw; max-height:94dvh; border:1px solid #cbd5e4; border-radius:12px; padding:16px; background:#f4f6fa; box-shadow:0 20px 80px #0004; }
.illustration-dialog::backdrop { background:#0b172bd9; backdrop-filter:blur(4px); }
.illustration-dialog-close { display:block; margin:0 0 12px auto; }
.illustration-dialog-viewport { overflow:auto; max-height:calc(94dvh - 96px); padding:14px 0; }
.illustration-dialog .illustration-canvas { min-width:900px; }
@media(max-width:600px) {
 .interactive-illustration figcaption { align-items:flex-start; }
 .illustration-hotspot > span { display:none; }
 .illustration-dialog { padding:10px; }
}
@media print { .illustration-expand,.illustration-text-links,.illustration-hotspot { display:none !important; } .interactive-illustration { break-inside:avoid; } }

/* Financial schedules follow the arithmetic: inputs, subtotal, consideration, result. */
.wiki-content .prose th[align="right"],.wiki-content .prose td[align="right"] { text-align:right; }
.wiki-content .prose .wiki-table-scroll .financial-schedule { min-width:400px; border-collapse:separate; border-spacing:0; overflow:hidden; }
.wiki-content .prose .financial-schedule th { padding:14px 20px; background:#182c47; color:#fff; font-weight:600; border:0; }
.wiki-content .prose .financial-schedule td { padding:11px 20px; border:0; border-bottom:1px solid #edf0f5; color:#3a4b63; background:#fff; font-size:14px; }
.wiki-content .prose .financial-schedule td:first-child { width:76%; }
.wiki-content .prose .financial-schedule td.wiki-numeric-cell { min-width:7rem; font-size:15px; font-weight:500; }
.wiki-content .prose .financial-schedule .financial-subtotal td { border-top:1px solid #8898ad; background:#f1f5fa; color:#203752; font-weight:700; padding-top:14px; padding-bottom:14px; }
.wiki-content .prose .financial-schedule .financial-result td { border-top:3px double #7f8fa5; border-bottom:0; background:#e9e2f4; color:#352453; font-weight:700; padding-top:16px; padding-bottom:16px; }
.wiki-content .prose .financial-schedule strong { color:inherit; }

.report-downloads { display:flex; flex-wrap:wrap; gap:12px; margin:22px 0; }
.wiki-content .prose .report-downloads a { border:1px solid #bda7de; border-radius:6px; padding:10px 14px; font-size:13px; font-weight:600; text-decoration:none; }
.wiki-content .prose .report-downloads a:first-child { background:#6842b3; color:#fff; border-color:#6842b3; }
.report-example { margin:24px 0; border:1px solid #d4ddeb; border-radius:10px; overflow:hidden; background:#fff; }
.report-example-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px; background:#172b45; }
.report-eyebrow { color:#c9b7ef; font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.wiki-content .prose .report-example-header h3 { margin:6px 0; color:#fff; font-size:20px; }
.wiki-content .prose .report-example-header p { margin:0; color:#c6d2e4; font-size:12px; }
.report-copy { display:none; border:1px solid #677b98; background:#263e5e; color:#fff; border-radius:6px; padding:8px 12px; font-size:12px; cursor:pointer; }
.js-report .report-copy { display:block; }
.report-tabs { display:none; padding:12px; gap:6px; flex-wrap:wrap; border-bottom:1px solid #e1e7f0; background:#f3f6fa; }
.js-report .report-tabs { display:flex; }
.report-tabs button { background:transparent; color:#506079; border:0; border-radius:5px; padding:9px 12px; font-size:12px; cursor:pointer; }
.report-tabs button[aria-pressed="true"] { background:#e6ddf6; color:#4e2b88; font-weight:700; }
[data-report-panel] { padding:24px; }
.report-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.report-kpis > div { border-bottom:2px solid #dfd5ee; padding-bottom:14px; display:flex; flex-direction:column; gap:6px; }
.report-kpis span { color:#56677f; font-size:11px; }
.wiki-content .prose .report-kpis strong { color:#243956; font-size:28px; font-variant-numeric:tabular-nums; line-height:1.2; }
.report-kpis small { color:#6a7890; font-size:10px; line-height:1.5; }
.report-comparison { margin-top:26px; padding-top:8px; border-top:1px solid #e1e7f0; }
.wiki-content .prose .report-example h4 { color:#2b405c; font-size:15px; margin:12px 0; }
.wiki-content .prose .report-example [data-report-panel] p { font-size:12px; line-height:1.65; }
.report-bar-row { display:grid; grid-template-columns:130px 1fr 40px; gap:12px; align-items:center; font-size:12px; margin:10px 0; }
.report-bar-track { height:13px; border-radius:3px; background:#edf1f7; overflow:hidden; }
.report-bar-track span { display:block; height:100%; background:#9980c6; }
.report-bar-row:last-of-type .report-bar-track span { background:#168986; }
.report-bar-row strong { text-align:right; font-variant-numeric:tabular-nums; }
.report-stage-counts { display:flex; gap:10px; flex-wrap:wrap; font-size:12px; margin:18px 0; }
.report-stage-counts > span { padding:8px 12px; background:#f1edf7; border-radius:6px; }
.report-stage-counts strong { padding-right:6px; }
.wiki-content .prose .report-example table { min-width:640px; font-size:12px; }
.wiki-content .prose .report-example td,.wiki-content .prose .report-example th { padding:10px; font-size:12px; }
.report-example td small { display:block; color:#65758c; font-size:10px; line-height:1.5; margin-top:5px; }
.report-row-title { font-weight:600; }
@media(max-width:600px) { .report-example-header { padding:18px; align-items:flex-start; flex-direction:column; } [data-report-panel] { padding:16px; } .report-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .report-bar-row { grid-template-columns:95px 1fr 30px; gap:7px; font-size:10px; } }
@media print { .report-downloads,.report-tabs,.report-copy { display:none !important; } [data-report-panel][hidden] { display:block !important; } }
.financial-amount { display:inline-block; font-variant-numeric:tabular-nums; }
.financial-positive { padding-right:.4em; }
