:root {
    color-scheme: light;
    --bg: #f7fafc;
    --surface: #ffffff;
    --surface-soft: #eef6f7;
    --surface-tint: #e5f1f3;
    --text: #17324d;
    --text-strong: #0c263f;
    --muted: #5f7182;
    --line: #dce6eb;
    --line-strong: #c8d8df;
    --brand: #087f8c;
    --brand-dark: #075d68;
    --brand-soft: #dff3f3;
    --blue: #1265a8;
    --blue-soft: #e8f1fb;
    --aqua: #0f9c94;
    --warning: #b66a12;
    --warning-soft: #fff4df;
    --danger: #a74148;
    --danger-soft: #fff0f1;
    --success: #287c62;
    --shadow-sm: 0 4px 18px rgba(22, 50, 75, .07);
    --shadow-md: 0 18px 55px rgba(22, 50, 75, .12);
    --radius-sm: .65rem;
    --radius: 1rem;
    --radius-lg: 1.5rem;
    --header-height: 4.5rem;
    --sidebar-width: 18rem;
    --toc-width: 14.5rem;
    --content-max: 51rem;
    --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-mono: "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

[data-theme="dark"] {
    color-scheme: dark;
    --bg: #0a1621;
    --surface: #102332;
    --surface-soft: #132b3a;
    --surface-tint: #173444;
    --text: #dbe8ef;
    --text-strong: #f4f9fb;
    --muted: #9eb2bf;
    --line: #274353;
    --line-strong: #355668;
    --brand: #4cc7c7;
    --brand-dark: #77dddd;
    --brand-soft: #173e48;
    --blue: #76b8ec;
    --blue-soft: #17334b;
    --warning: #f4b867;
    --warning-soft: #3d2e1c;
    --danger: #f19198;
    --danger-soft: #41252a;
    --success: #6ed4b2;
    --shadow-sm: 0 4px 18px rgba(0, 0, 0, .18);
    --shadow-md: 0 18px 55px rgba(0, 0, 0, .3);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 1.5rem); }
body { margin: 0; min-width: 20rem; background: var(--bg); color: var(--text); font-family: var(--font-sans); font-size: 1rem; line-height: 1.65; text-rendering: optimizeLegibility; }
body.is-locked { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; }
::selection { background: color-mix(in srgb, var(--brand) 28%, transparent); }
:focus-visible { outline: .2rem solid color-mix(in srgb, var(--brand) 75%, white); outline-offset: .18rem; border-radius: .25rem; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--text-strong); line-height: 1.16; letter-spacing: -.025em; }
h1 { font-size: clamp(2.25rem, 5vw, 4.7rem); }
h2 { font-size: clamp(1.65rem, 3vw, 2.55rem); }
h3 { font-size: 1.2rem; }
code, pre { font-family: var(--font-mono); }
.container { width: min(100% - 3rem, 75rem); margin-inline: auto; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; top: .6rem; left: .75rem; padding: .7rem 1rem; background: var(--text-strong); color: var(--surface); border-radius: .55rem; transform: translateY(-160%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }
.icon { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.icon-button { display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; padding: 0; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); cursor: pointer; transition: background .2s, border-color .2s, transform .2s; }
.icon-button:hover { background: var(--surface-soft); border-color: var(--line-strong); }
.icon-button:active { transform: scale(.96); }

.site-header { position: sticky; z-index: 100; top: 0; height: var(--header-height); border-bottom: 1px solid color-mix(in srgb, var(--line) 90%, transparent); background: color-mix(in srgb, var(--surface) 91%, transparent); backdrop-filter: blur(18px); }
.site-header__inner { display: flex; align-items: center; gap: 1.25rem; width: min(100% - 2.5rem, 88rem); height: 100%; margin-inline: auto; }
.brand { display: inline-flex; align-items: center; min-width: max-content; }
.brand__logo { display: block; width: 9rem; height: auto; }
[data-theme="dark"] .site-header .brand__logo, [data-theme="dark"] .mobile-drawer .brand__logo { width: 9.5rem; padding: .28rem .42rem; border-radius: .42rem; background: #fff; }
.brand__mark { position: relative; display: grid; grid-template-columns: repeat(2, .7rem); gap: .14rem; width: 1.54rem; height: 1.54rem; transform: rotate(45deg); }
.brand__mark i { display: block; border-radius: .2rem; background: var(--brand); }
.brand__mark i:nth-child(2), .brand__mark i:nth-child(3) { background: var(--blue); }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.18; }
.brand strong { color: var(--text-strong); font-size: .98rem; letter-spacing: -.01em; }
.brand small { margin-top: .15rem; color: var(--muted); font-size: .68rem; }
.top-nav { display: flex; align-items: center; gap: .2rem; margin-left: 1.2rem; }
.top-nav a { padding: .55rem .75rem; color: var(--muted); font-size: .9rem; font-weight: 650; border-radius: .6rem; }
.top-nav a:hover, .top-nav a[aria-current="page"] { color: var(--text-strong); background: var(--surface-soft); }
.header-search { position: relative; display: flex; align-items: center; width: min(23rem, 28vw); margin-left: auto; }
.header-search .icon { position: absolute; left: .8rem; width: 1.05rem; color: var(--muted); pointer-events: none; }
.header-search input { width: 100%; height: 2.65rem; padding: .55rem 2.55rem .55rem 2.35rem; border: 1px solid var(--line); border-radius: .8rem; outline: none; background: var(--bg); color: var(--text); font-size: .88rem; transition: border .2s, box-shadow .2s, background .2s; }
.header-search input:focus { border-color: var(--brand); background: var(--surface); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--brand) 14%, transparent); }
.header-search kbd { position: absolute; right: .65rem; display: grid; place-items: center; width: 1.35rem; height: 1.35rem; border: 1px solid var(--line-strong); border-bottom-width: 2px; border-radius: .3rem; color: var(--muted); background: var(--surface); font: .72rem var(--font-mono); }
.theme-toggle { margin-left: -.55rem; }
.theme-icon--moon, [data-theme="dark"] .theme-icon--sun { display: none; }
[data-theme="dark"] .theme-icon--moon { display: block; }
.menu-toggle { display: none; }
.reading-progress { position: fixed; z-index: 150; top: 0; left: 0; width: 100%; height: .2rem; background: transparent; }
.reading-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--brand), var(--blue)); transition: width .1s linear; }

.mobile-drawer { position: fixed; z-index: 250; inset: 0; visibility: hidden; pointer-events: none; }
.mobile-drawer.is-open { visibility: visible; pointer-events: auto; }
.mobile-drawer__backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(2, 15, 26, .52); opacity: 0; transition: opacity .25s; }
.mobile-drawer.is-open .mobile-drawer__backdrop { opacity: 1; }
.mobile-drawer__panel { position: relative; z-index: 1; width: min(88vw, 22rem); height: 100%; overflow-y: auto; padding: 1rem; background: var(--surface); box-shadow: var(--shadow-md); transform: translateX(-105%); transition: transform .27s ease; }
.mobile-drawer.is-open .mobile-drawer__panel { transform: translateX(0); }
.mobile-drawer__header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; margin-bottom: .6rem; border-bottom: 1px solid var(--line); }
.mobile-drawer nav { display: grid; gap: .2rem; }
.mobile-drawer nav a { display: flex; gap: .8rem; align-items: center; padding: .7rem .6rem; color: var(--muted); font-size: .9rem; font-weight: 650; border-radius: .65rem; }
.mobile-drawer nav a span { width: 1.7rem; color: var(--brand); font: 700 .72rem var(--font-mono); }
.mobile-drawer nav a:hover, .mobile-drawer nav a[aria-current="page"] { color: var(--text-strong); background: var(--surface-soft); }

.eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1rem; color: var(--brand); font-size: .74rem; line-height: 1.2; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow i { width: 1.75rem; height: 1px; background: currentColor; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 3rem; padding: .75rem 1.15rem; border: 1px solid transparent; border-radius: .75rem; font-size: .9rem; font-weight: 750; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s, color .2s, border-color .2s; }
.button:hover { transform: translateY(-2px); }
.button--primary { background: var(--brand); color: #fff; box-shadow: 0 9px 24px color-mix(in srgb, var(--brand) 22%, transparent); }
.button--primary:hover { background: var(--brand-dark); }
.button--ghost { border-color: var(--line-strong); background: var(--surface); color: var(--text-strong); }
.button--ghost:hover { border-color: var(--brand); color: var(--brand); box-shadow: var(--shadow-sm); }
.button--light { background: #fff; color: #15344a; }
.button--small { min-height: 2.6rem; padding: .55rem .9rem; }
.text-link { display: inline-flex; align-items: center; gap: .4rem; color: var(--brand); font-size: .88rem; font-weight: 750; }
.text-link .icon { width: 1rem; transition: transform .2s; }
.text-link:hover .icon { transform: translateX(.22rem); }
.section { padding-block: clamp(4rem, 8vw, 7rem); }
.section--tinted { background: var(--surface-soft); border-block: 1px solid var(--line); }
.section--dark { overflow: hidden; background: #0c3042; color: #dcedf2; }
.section-heading { max-width: 46rem; margin-bottom: 2.6rem; }
.section-heading h2 { margin-bottom: .75rem; }
.section-heading p { margin-bottom: 0; color: var(--muted); }
.section-heading--split { display: flex; align-items: end; justify-content: space-between; gap: 3rem; max-width: none; }
.section-heading--split > div { max-width: 38rem; }
.section-heading--split > p { max-width: 31rem; }

.hero { position: relative; overflow: hidden; padding-top: clamp(4.5rem, 8vw, 7.5rem); background: linear-gradient(145deg, var(--surface) 0%, var(--bg) 52%, var(--surface-soft) 100%); border-bottom: 1px solid var(--line); }
.hero__mesh { position: absolute; inset: 0; opacity: .46; pointer-events: none; background-image: linear-gradient(color-mix(in srgb, var(--brand) 8%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--brand) 8%, transparent) 1px, transparent 1px); background-size: 3.8rem 3.8rem; -webkit-mask-image: linear-gradient(to bottom right, black, transparent 72%); mask-image: linear-gradient(to bottom right, black, transparent 72%); }
.hero__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(25rem, .96fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); min-height: 32rem; }
.hero__copy { padding-bottom: 4.5rem; }
.hero h1 { max-width: 12ch; margin-bottom: 1.4rem; font-size: clamp(3rem, 5.6vw, 5.25rem); }
.hero h1 em { color: var(--brand); font-style: normal; }
.hero__copy > p { max-width: 40rem; margin-bottom: 2rem; color: var(--muted); font-size: clamp(1.04rem, 1.6vw, 1.22rem); }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.hero__trust { display: flex; align-items: center; gap: .8rem; margin-top: 2.1rem; }
.hero__trust > span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; color: var(--brand); background: var(--brand-soft); border-radius: 50%; }
.hero__trust p { display: flex; flex-direction: column; margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.4; }
.hero__trust strong { color: var(--text-strong); font-size: .82rem; }
.hero__visual { position: relative; width: min(100%, 31rem); aspect-ratio: 1; margin-inline: auto; }
.visual-core { position: absolute; z-index: 2; inset: 50% auto auto 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 8.5rem; height: 8.5rem; border: 1px solid color-mix(in srgb, var(--brand) 25%, var(--line)); border-radius: 2rem; background: linear-gradient(145deg, var(--surface), var(--brand-soft)); box-shadow: 0 22px 55px color-mix(in srgb, var(--brand) 21%, transparent); transform: translate(-50%, -50%) rotate(8deg); }
.visual-core > * { transform: rotate(-8deg); }
.visual-core .brand__mark { margin-bottom: .6rem; }
.visual-core strong { color: var(--text-strong); font-size: 1.7rem; line-height: 1; }
.visual-core small { color: var(--muted); font-size: .78rem; }
.orbit { position: absolute; inset: 9%; border: 1px dashed color-mix(in srgb, var(--brand) 34%, transparent); border-radius: 50%; animation: orbit 38s linear infinite; }
.orbit--two { inset: 24%; border-style: solid; opacity: .45; animation-direction: reverse; animation-duration: 24s; }
.visual-card { position: absolute; z-index: 3; display: flex; flex-direction: column; min-width: 9.5rem; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: .9rem; background: color-mix(in srgb, var(--surface) 93%, transparent); box-shadow: var(--shadow-md); backdrop-filter: blur(10px); }
.visual-card span { color: var(--brand); font: 800 .65rem var(--font-mono); }
.visual-card strong { color: var(--text-strong); font-size: .88rem; }
.visual-card small { color: var(--muted); font-size: .68rem; }
.visual-card--portal { top: 8%; left: 2%; transform: rotate(-4deg); }
.visual-card--api { top: 20%; right: -1%; transform: rotate(4deg); }
.visual-card--data { right: 4%; bottom: 10%; transform: rotate(-3deg); }
.visual-dot { position: absolute; width: .65rem; height: .65rem; border: .15rem solid var(--surface); border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px var(--line); }
.visual-dot--a { left: 8%; bottom: 25%; }.visual-dot--b { top: 7%; left: 56%; background: var(--aqua); }.visual-dot--c { right: 14%; top: 52%; background: var(--warning); }
@keyframes orbit { to { transform: rotate(360deg); } }
.stats-bar { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-bottom: 0; border-radius: 1.2rem 1.2rem 0 0; background: var(--surface); box-shadow: var(--shadow-sm); }
.stats-bar > div { display: flex; align-items: baseline; justify-content: center; gap: .65rem; padding: 1.35rem; border-right: 1px solid var(--line); }
.stats-bar > div:last-child { border-right: 0; }
.stats-bar strong { color: var(--text-strong); font-size: 1.45rem; letter-spacing: -.04em; }
.stats-bar span { color: var(--muted); font-size: .78rem; }
.stats-bar--light { border-bottom: 1px solid var(--line); border-radius: var(--radius); }

.path-steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding: 0; margin: 0; list-style: none; }
.path-steps::before { position: absolute; top: 1.55rem; right: 15%; left: 15%; height: 1px; background: var(--line-strong); content: ""; }
.path-steps li { position: relative; display: flex; align-items: center; gap: 1rem; padding: 1.15rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.path-steps li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 3rem; height: 3rem; color: #fff; border: .3rem solid var(--surface); border-radius: 50%; background: var(--brand); font: 800 .75rem var(--font-mono); }
.path-steps div { display: flex; flex-direction: column; }.path-steps strong { color: var(--text-strong); }.path-steps small { color: var(--muted); }

.module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.module-card { position: relative; display: flex; flex-direction: column; min-height: 23rem; padding: 1.35rem; overflow: hidden; border: 1px solid var(--line); border-radius: 1.1rem; background: var(--surface); box-shadow: 0 2px 0 color-mix(in srgb, var(--line) 55%, transparent); transition: transform .22s, box-shadow .22s, border-color .22s; }
.module-card:hover { z-index: 2; border-color: color-mix(in srgb, var(--accent, var(--brand)) 40%, var(--line)); box-shadow: var(--shadow-md); transform: translateY(-5px); }
.module-card__top { display: flex; justify-content: space-between; align-items: center; }
.module-card__top span { color: var(--muted); font: 800 .68rem var(--font-mono); letter-spacing: .08em; }
.module-card__top i { display: block; width: 2.2rem; height: .22rem; border-radius: 1rem; background: var(--accent, var(--brand)); }
.module-card__icon { display: grid; place-items: center; width: 3rem; height: 3rem; margin-top: 1.4rem; color: var(--accent, var(--brand)); border-radius: .85rem; background: color-mix(in srgb, var(--accent, var(--brand)) 12%, var(--surface)); }
.module-card h3 { margin: 1.2rem 0 .65rem; font-size: 1.2rem; }.module-card h3 a::after { position: absolute; inset: 0; content: ""; }
.module-card p { flex: 1; color: var(--muted); font-size: .88rem; }
.module-card__meta { display: flex; gap: .8rem; margin-bottom: .7rem; color: var(--muted); font-size: .72rem; }
.module-card__progress { height: .28rem; margin-bottom: 1.15rem; overflow: hidden; border-radius: 1rem; background: var(--surface-soft); }
.module-card__progress span { display: block; width: 0; height: 100%; background: var(--accent, var(--brand)); transition: width .5s; }
.module-card .text-link { position: relative; z-index: 1; }
[data-module="fundamentos"] { --accent: #087f8c; } [data-module="arquitetura"] { --accent: #1265a8; } [data-module="interoperabilidade"] { --accent: #5d65b8; }
[data-module="informacao-clinica"] { --accent: #267b62; } [data-module="conectores-aghu"] { --accent: #b06427; } [data-module="apis"] { --accent: #2d6fb3; }
[data-module="identidade"] { --accent: #8b5aaa; } [data-module="infraestrutura"] { --accent: #526a7a; } [data-module="aplicacoes"] { --accent: #bd4f72; }
[data-module="operacao"] { --accent: #8a6920; } [data-module="guias"] { --accent: #297a92; } [data-module="engenharia"] { --accent: #4e6b4b; }

.personal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.personal-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.personal-card__icon { display: grid; place-items: center; width: 3rem; height: 3rem; color: var(--brand); border-radius: .85rem; background: var(--brand-soft); }
.personal-card div { display: flex; flex-direction: column; }.personal-card small { color: var(--brand); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.personal-card strong { color: var(--text-strong); }.personal-card p { margin: .15rem 0 0; color: var(--muted); font-size: .78rem; }
.safety-banner { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.safety-banner::after { position: absolute; right: -8rem; bottom: -12rem; width: 26rem; height: 26rem; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(255,255,255,.035), 0 0 0 8rem rgba(255,255,255,.02); content: ""; }
.safety-banner > div { position: relative; z-index: 1; max-width: 48rem; }.safety-banner .eyebrow { color: #78dddd; }.safety-banner h2 { color: #fff; }.safety-banner p { margin-bottom: 0; color: #b9d1da; }
.safety-banner .button { position: relative; z-index: 1; min-width: max-content; }

.site-footer { padding: 4.5rem 0 1.4rem; border-top: 1px solid var(--line); background: var(--surface); }
.site-footer__inner { display: grid; grid-template-columns: 1.6fr .7fr .8fr; gap: 4rem; width: min(100% - 3rem, 75rem); margin-inline: auto; }
.brand--footer { padding: .42rem .58rem; margin-bottom: 1rem; border-radius: .5rem; background: #fff; }.brand--footer .brand__logo { width: 10.5rem; }.site-footer__inner > div:first-child p { max-width: 34rem; margin: 0; color: var(--muted); font-size: .82rem; }
.site-footer__inner > div:not(:first-child) { display: flex; flex-direction: column; gap: .45rem; }
.site-footer__inner > div > strong { margin-bottom: .4rem; color: var(--text-strong); font-size: .8rem; }
.site-footer__inner > div > a:not(.brand) { color: var(--muted); font-size: .78rem; }.site-footer__inner > div > a:hover { color: var(--brand); }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; width: min(100% - 3rem, 75rem); padding-top: 1.3rem; margin: 3.2rem auto 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .7rem; }

.docs-layout { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, var(--content-max)) var(--toc-width); justify-content: center; align-items: start; gap: clamp(1.4rem, 3vw, 3.5rem); width: min(100% - 2rem, 91rem); min-height: calc(100vh - var(--header-height)); margin-inline: auto; }
.docs-layout--module { grid-template-columns: var(--sidebar-width) minmax(0, 62rem); }
.docs-sidebar { position: sticky; top: var(--header-height); height: calc(100vh - var(--header-height)); padding: 1.7rem 1.2rem 2rem 0; overflow-y: auto; border-right: 1px solid var(--line); scrollbar-width: thin; }
.docs-sidebar__home { display: flex; align-items: center; gap: .65rem; padding: .55rem .65rem; margin-bottom: .9rem; color: var(--muted); font-size: .8rem; font-weight: 700; }
.docs-sidebar__home .icon { width: 1rem; }.docs-sidebar nav { display: grid; gap: .14rem; }
.sidebar-module > a { display: flex; align-items: center; gap: .65rem; padding: .52rem .65rem; color: var(--muted); border-radius: .55rem; font-size: .79rem; font-weight: 670; line-height: 1.35; }
.sidebar-module > a span { width: 1.55rem; color: var(--line-strong); font: 800 .64rem var(--font-mono); }
.sidebar-module > a:hover, .sidebar-module.is-active > a { color: var(--text-strong); background: var(--surface-soft); }.sidebar-module.is-active > a span { color: var(--brand); }
.sidebar-contents { display: grid; gap: .08rem; padding: .25rem 0 .5rem 1.55rem; margin-left: 1.42rem; border-left: 1px solid var(--line); }
.sidebar-contents a { padding: .38rem .65rem; color: var(--muted); font-size: .74rem; line-height: 1.35; border-radius: .45rem; }
.sidebar-contents a:hover, .sidebar-contents a[aria-current="page"] { color: var(--brand); background: var(--brand-soft); }
.docs-main { min-width: 0; padding: 2rem 0 5rem; }
.breadcrumbs { margin-bottom: 2rem; }.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .45rem; padding: 0; margin: 0; color: var(--muted); list-style: none; font-size: .72rem; }
.breadcrumbs li { display: flex; align-items: center; gap: .45rem; }.breadcrumbs li:not(:last-child)::after { color: var(--line-strong); content: "/"; }.breadcrumbs a:hover { color: var(--brand); }
.page-toc { position: sticky; top: calc(var(--header-height) + 2rem); padding-top: 2rem; }
.page-toc > strong { display: block; margin-bottom: .75rem; color: var(--text-strong); font-size: .76rem; }.page-toc nav { display: grid; gap: .08rem; border-left: 1px solid var(--line); }
.page-toc nav a { padding: .35rem 0 .35rem .8rem; color: var(--muted); font-size: .7rem; line-height: 1.35; border-left: 2px solid transparent; transform: translateX(-1px); }
.page-toc nav a:hover, .page-toc nav a[aria-current="true"] { color: var(--brand); border-left-color: var(--brand); }
.toc-progress { margin-top: 1.2rem; }.toc-progress > span { display: block; width: 0; height: .2rem; margin-bottom: .35rem; border-radius: 1rem; background: var(--brand); }.toc-progress small { color: var(--muted); font-size: .63rem; }

.module-hero { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 2rem; padding: clamp(2rem, 5vw, 3.5rem); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(135deg, color-mix(in srgb, var(--module-accent, var(--brand)) 10%, var(--surface)), var(--surface)); }
.module-hero::before { position: absolute; top: -8rem; right: -6rem; width: 20rem; height: 20rem; border: 1px solid color-mix(in srgb, var(--module-accent, var(--brand)) 20%, transparent); border-radius: 50%; box-shadow: 0 0 0 3rem color-mix(in srgb, var(--module-accent, var(--brand)) 4%, transparent), 0 0 0 6rem color-mix(in srgb, var(--module-accent, var(--brand)) 2%, transparent); content: ""; }
.module-hero > * { position: relative; z-index: 1; }.module-hero h1 { margin-bottom: .9rem; font-size: clamp(2.3rem, 5vw, 4rem); }.module-hero p { max-width: 42rem; margin-bottom: 0; color: var(--muted); }
.module-hero__badge { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 8rem; height: 8rem; align-self: center; border: 1px solid color-mix(in srgb, var(--module-accent, var(--brand)) 23%, var(--line)); border-radius: 1.5rem; background: color-mix(in srgb, var(--surface) 85%, transparent); box-shadow: var(--shadow-sm); }
.module-hero__badge .icon { width: 1.7rem; height: 1.7rem; color: var(--module-accent, var(--brand)); }.module-hero__badge strong { margin-top: .35rem; color: var(--text-strong); font-size: 1.5rem; }.module-hero__badge span { color: var(--muted); font-size: .7rem; }
.module-hero--fundamentos { --module-accent: #087f8c; }.module-hero--arquitetura { --module-accent: #1265a8; }.module-hero--interoperabilidade { --module-accent: #5d65b8; }.module-hero--informacao-clinica { --module-accent: #267b62; }.module-hero--conectores-aghu { --module-accent: #b06427; }.module-hero--apis { --module-accent: #2d6fb3; }.module-hero--identidade { --module-accent: #8b5aaa; }.module-hero--infraestrutura { --module-accent: #526a7a; }.module-hero--aplicacoes { --module-accent: #bd4f72; }.module-hero--operacao { --module-accent: #8a6920; }.module-hero--guias { --module-accent: #297a92; }.module-hero--engenharia { --module-accent: #4e6b4b; }.module-hero--referencia-documental { --module-accent: #685694; }.module-hero--repasse-core { --module-accent: #9a5b24; }
.learning-objectives { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.35rem; margin: 1.5rem 0 3.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.section-icon { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; color: var(--brand); border-radius: .8rem; background: var(--brand-soft); }.learning-objectives h2 { margin-bottom: .75rem; font-size: 1rem; }.learning-objectives ul { display: grid; gap: .45rem; padding: 0; margin: 0; list-style: none; }.learning-objectives li { display: flex; gap: .55rem; color: var(--muted); font-size: .8rem; }.learning-objectives li .icon { width: 1rem; color: var(--success); }
.module-content-list ol { display: grid; gap: .8rem; padding: 0; margin: 0; list-style: none; }.module-content-list li > a { display: grid; grid-template-columns: auto 1fr auto; gap: 1.2rem; align-items: center; padding: 1.3rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); transition: border .2s, box-shadow .2s, transform .2s; }.module-content-list li > a:hover { border-color: var(--brand); box-shadow: var(--shadow-sm); transform: translateX(.25rem); }
.content-number { display: grid; place-items: center; width: 3rem; height: 3rem; color: var(--brand); border-radius: .8rem; background: var(--brand-soft); font: 800 .72rem var(--font-mono); }.module-content-list small { color: var(--brand); font-size: .65rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.module-content-list h3 { margin: .15rem 0 .35rem; }.module-content-list p { margin-bottom: .4rem; color: var(--muted); font-size: .8rem; }.content-meta { display: flex; align-items: center; color: var(--muted); font-size: .68rem; }.content-meta .icon { width: .9rem; }.content-arrow { color: var(--brand); }
.module-keywords { padding-top: 3.5rem; }.module-keywords h2 { font-size: 1.15rem; }.module-keywords div, .key-concepts div { display: flex; flex-wrap: wrap; gap: .45rem; }.module-keywords span, .key-concepts a { padding: .38rem .65rem; color: var(--brand); border: 1px solid color-mix(in srgb, var(--brand) 20%, var(--line)); border-radius: 2rem; background: var(--brand-soft); font-size: .7rem; font-weight: 700; }

.article-header { padding-bottom: 2.2rem; border-bottom: 1px solid var(--line); }.article-header__meta { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin-bottom: 1.15rem; color: var(--muted); font-size: .68rem; }.article-header__meta span { display: inline-flex; align-items: center; gap: .3rem; }.article-header__meta span:first-child { color: var(--brand); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.article-header__meta .icon { width: .85rem; }.article-header h1 { max-width: 15ch; margin-bottom: 1rem; font-size: clamp(2.4rem, 5vw, 4.25rem); }.article-lead { max-width: 44rem; margin-bottom: 1.3rem; color: var(--muted); font-size: 1.12rem; }
.article-actions { display: flex; gap: .5rem; }.article-actions button { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.35rem; padding: .45rem .7rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--surface); color: var(--muted); font-size: .72rem; font-weight: 700; cursor: pointer; }.article-actions button:hover, .favorite-button[aria-pressed="true"] { color: var(--brand); border-color: var(--brand); background: var(--brand-soft); }.article-actions .icon { width: .95rem; }
.learning-objectives--article { margin: 1.5rem 0 3.2rem; background: var(--surface-soft); }.mobile-toc { display: none; }
.article-body { font-size: 1rem; }.article-section { padding-top: 1.2rem; margin-bottom: 3.8rem; }.article-section > h2 { padding-bottom: .75rem; margin-bottom: 1.2rem; border-bottom: 1px solid var(--line); font-size: clamp(1.55rem, 3vw, 2rem); }.section-intro { color: var(--muted); font-size: 1.05rem; }
.content-block { margin-block: 1.15rem; }.content-block p { color: var(--text); }.content-block p:last-child { margin-bottom: 0; }.content-block h3 { margin-top: 1.7rem; font-size: 1.05rem; }.content-block ul, .content-block ol { padding-left: 1.25rem; }.content-block li { padding-left: .25rem; margin-bottom: .45rem; }.content-block li::marker { color: var(--brand); font-weight: 800; }
.table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }.table-scroll table { width: 100%; border-collapse: collapse; min-width: 34rem; font-size: .78rem; }.table-scroll th, .table-scroll td { padding: .75rem .85rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }.table-scroll th { color: var(--text-strong); background: var(--surface-soft); font-size: .7rem; }.table-scroll tr:last-child td { border-bottom: 0; }
.documentation-map table { min-width: 58rem; }.documentation-map td:first-child { width: 22%; color: var(--text-strong); }.documentation-map td:nth-child(2) { width: 38%; }.documentation-map code { color: var(--muted); font-size: .66rem; overflow-wrap: anywhere; }.documentation-map a { display: inline-flex; align-items: center; gap: .3rem; color: var(--brand); font-weight: 750; }.documentation-map a:hover { text-decoration: underline; }.documentation-map a .icon { width: .85rem; flex: 0 0 auto; }
.map-status { display: inline-flex; padding: .25rem .48rem; border: 1px solid var(--line); border-radius: 2rem; color: var(--muted); background: var(--surface-soft); font-size: .62rem; font-weight: 750; white-space: nowrap; }.map-status--sanitizado { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 32%, var(--line)); background: var(--danger-soft); }.map-status--catalogo-nominal { color: var(--blue); border-color: color-mix(in srgb, var(--blue) 32%, var(--line)); background: var(--blue-soft); }.map-status--galeria-segura { color: var(--success); border-color: color-mix(in srgb, var(--success) 32%, var(--line)); background: color-mix(in srgb, var(--success) 9%, var(--surface)); }
.code-shell { overflow: hidden; border: 1px solid #294153; border-radius: .8rem; background: #0c1823; box-shadow: var(--shadow-sm); }.code-toolbar { display: flex; justify-content: space-between; align-items: center; min-height: 2.7rem; padding: .45rem .7rem .45rem 1rem; color: #9fb6c6; border-bottom: 1px solid #263d4e; background: #122433; font: 700 .68rem var(--font-mono); text-transform: uppercase; letter-spacing: .06em; }.copy-code { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .5rem; border: 1px solid #355064; border-radius: .45rem; background: #172c3b; color: #c2d3dd; font: 650 .65rem var(--font-sans); cursor: pointer; }.copy-code:hover { color: #fff; border-color: #5f859c; }.copy-code .icon { width: .85rem; }.code-shell pre { max-width: 100%; max-height: 32rem; padding: 1.15rem; margin: 0; overflow: auto; color: #d5e2e9; font-size: .78rem; line-height: 1.7; tab-size: 2; }.token-string { color: #a8d79c; }.token-keyword { color: #7fc8ef; }.token-number { color: #e7b872; }.token-comment { color: #6f8a9b; font-style: italic; }.token-tag { color: #e195a0; }
.content-block blockquote { padding: 1.2rem 1.25rem; margin: 1.5rem 0; border-left: .22rem solid var(--brand); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--surface-soft); }.content-block blockquote p { color: var(--text-strong); font-size: 1rem; font-weight: 550; }.content-block cite { color: var(--muted); font-size: .7rem; font-style: normal; }
.callout { display: grid; grid-template-columns: auto 1fr; gap: .8rem; padding: 1rem; margin-block: 1.35rem; border: 1px solid color-mix(in srgb, var(--brand) 25%, var(--line)); border-radius: var(--radius-sm); background: var(--brand-soft); }.callout > .icon { margin-top: .1rem; color: var(--brand); }.callout strong { display: block; margin-bottom: .2rem; color: var(--text-strong); font-size: .82rem; }.callout p { margin: 0; color: var(--muted); font-size: .78rem; }.callout--atencao { border-color: color-mix(in srgb, var(--warning) 35%, var(--line)); background: var(--warning-soft); }.callout--atencao > .icon { color: var(--warning); }.callout--seguranca { border-color: color-mix(in srgb, var(--danger) 35%, var(--line)); background: var(--danger-soft); }.callout--seguranca > .icon { color: var(--danger); }.callout--historico { border-color: color-mix(in srgb, var(--blue) 30%, var(--line)); background: var(--blue-soft); }.callout--historico > .icon { color: var(--blue); }
.concept-card { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.2rem; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(135deg, var(--surface), var(--surface-soft)); }.concept-card > .icon { width: 1.5rem; height: 1.5rem; color: var(--brand); }.concept-card span { color: var(--brand); font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.concept-card h3 { margin: .2rem 0 .35rem; }.concept-card p { color: var(--muted); font-size: .8rem; }
.diagram { margin: 1.5rem 0; }.diagram-open { position: relative; display: block; width: 100%; padding: .75rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); cursor: zoom-in; }.diagram-open img { width: 100%; max-height: 34rem; object-fit: contain; border-radius: .45rem; }.diagram-open > span { position: absolute; right: 1rem; bottom: 1rem; padding: .35rem .65rem; color: #fff; border-radius: 2rem; background: rgba(8, 33, 49, .78); font-size: .65rem; font-weight: 700; }.diagram figcaption { margin-top: .55rem; color: var(--muted); font-size: .7rem; text-align: center; }.ascii-diagram { padding: 1rem; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-soft); color: var(--text-strong); font-size: .78rem; line-height: 1.5; }
.steps { display: grid; gap: .75rem; padding: 0 !important; list-style: none; counter-reset: steps; }.steps li { display: grid; grid-template-columns: auto 1fr; gap: .8rem; padding: .9rem; margin: 0; border: 1px solid var(--line); border-radius: .75rem; background: var(--surface); }.steps li > span { display: grid; place-items: center; width: 2rem; height: 2rem; color: #fff; border-radius: .55rem; background: var(--brand); font: 800 .68rem var(--font-mono); }.steps strong { display: block; color: var(--text-strong); font-size: .82rem; }.steps p { margin: .12rem 0 0; color: var(--muted); font-size: .75rem; }
.highlight-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: .65rem; }.highlight-grid > div { display: flex; flex-direction: column; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); }.highlight-grid strong { color: var(--brand); font-size: 1.45rem; line-height: 1.2; }.highlight-grid span { margin-top: .25rem; color: var(--muted); font-size: .68rem; }
.resource-links { display: grid; gap: .65rem; }.resource-link { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; align-items: center; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); transition: border .2s, box-shadow .2s, transform .2s; }.resource-link:hover { border-color: var(--brand); box-shadow: var(--shadow-sm); transform: translateY(-2px); }.resource-link__icon { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; color: var(--brand); border-radius: .65rem; background: var(--brand-soft); }.resource-link__icon .icon { width: 1.05rem; }.resource-link__copy { min-width: 0; }.resource-link__copy strong { display: block; color: var(--text-strong); font-size: .8rem; line-height: 1.35; }.resource-link__copy small { display: block; margin-top: .2rem; color: var(--muted); font-size: .67rem; line-height: 1.45; }.resource-link__action { display: inline-flex; align-items: center; gap: .3rem; color: var(--brand); font-size: .68rem; font-weight: 750; white-space: nowrap; }.resource-link__action .icon { width: .85rem; }
.takeaways { padding: 1.6rem; margin-top: 4.5rem; border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line)); border-radius: var(--radius-lg); background: linear-gradient(145deg, var(--brand-soft), var(--surface)); }.takeaways h2 { font-size: 1.55rem; }.takeaways ul { display: grid; gap: .65rem; padding: 0; margin: 0; list-style: none; }.takeaways li { display: grid; grid-template-columns: auto 1fr; gap: .65rem; color: var(--text); font-size: .83rem; }.takeaways li .icon { width: 1rem; color: var(--success); }
.key-concepts { padding-top: 3rem; }.key-concepts h2 { font-size: 1.05rem; }
.sources { padding-top: 3.5rem; margin-top: 3.5rem; border-top: 1px solid var(--line); }.sources__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }.sources__heading h2 { font-size: 1.45rem; }.sources__heading p { max-width: 22rem; color: var(--muted); font-size: .7rem; }.sources ul { display: grid; gap: .4rem; padding: 0; list-style: none; }.sources li { padding: .55rem .7rem; overflow-wrap: anywhere; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); }.sources code { color: var(--muted); font-size: .68rem; }
.related { padding-top: 3.5rem; }.related h2 { font-size: 1.45rem; }.related > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; }.related a { position: relative; display: flex; flex-direction: column; min-height: 8rem; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); transition: border .2s, transform .2s; }.related a:hover { border-color: var(--brand); transform: translateY(-3px); }.related small { color: var(--brand); font-size: .61rem; font-weight: 800; text-transform: uppercase; }.related strong { margin-top: .35rem; color: var(--text-strong); font-size: .82rem; line-height: 1.3; }.related a > span { position: absolute; right: .8rem; bottom: .8rem; color: var(--brand); }.related .icon { width: 1rem; }
.sequence-nav { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; padding-top: 4rem; margin-top: 4rem; border-top: 1px solid var(--line); }.sequence-nav a { display: flex; align-items: center; gap: .75rem; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); }.sequence-nav a:last-child { justify-content: flex-end; text-align: right; }.sequence-nav a:hover { border-color: var(--brand); }.sequence-nav a > span { display: flex; flex-direction: column; }.sequence-nav small { color: var(--muted); font-size: .62rem; }.sequence-nav strong { color: var(--text-strong); font-size: .75rem; line-height: 1.35; }

.search-hero, .about-hero { padding: 5.5rem 0 4rem; border-bottom: 1px solid var(--line); background: linear-gradient(145deg, var(--surface), var(--surface-soft)); }.search-hero .container, .about-hero .container { max-width: 65rem; }.search-hero h1, .about-hero h1 { max-width: 17ch; font-size: clamp(2.6rem, 5vw, 4.3rem); }.search-hero p, .about-hero p { max-width: 48rem; color: var(--muted); font-size: 1.08rem; }
.search-hero form { margin-top: 2.2rem; }.search-hero form > label { display: block; margin-bottom: .5rem; color: var(--text-strong); font-size: .75rem; font-weight: 750; }.search-hero form > div:first-of-type { position: relative; display: flex; gap: .6rem; }.search-hero form > div:first-of-type .icon { position: absolute; top: .95rem; left: 1rem; color: var(--muted); }.search-hero input { flex: 1; min-width: 0; height: 3.25rem; padding: .65rem 1rem .65rem 3rem; border: 1px solid var(--line-strong); border-radius: .8rem; background: var(--surface); color: var(--text); outline: none; }.search-hero input:focus { border-color: var(--brand); box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--brand) 12%, transparent); }.filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: 1rem; }.filter-row > span { margin-right: .25rem; color: var(--muted); font-size: .7rem; }.filter-row a { padding: .33rem .6rem; border: 1px solid var(--line); border-radius: 2rem; background: var(--surface); color: var(--muted); font-size: .66rem; }.filter-row a[aria-current="true"], .filter-row a:hover { color: var(--brand); border-color: var(--brand); background: var(--brand-soft); }.filter-row small { margin-left: .18rem; opacity: .75; }
.results-heading { display: flex; align-items: baseline; gap: .6rem; margin-bottom: 1.5rem; }.results-heading h2 { margin: 0; font-size: 1.35rem; }.results-heading p { margin: 0; color: var(--muted); font-size: .78rem; }.result-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: .9rem; }.result-list article { position: relative; display: flex; flex-direction: column; min-height: 14rem; padding: 1.2rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }.result-list article > div:first-child { display: flex; gap: .7rem; color: var(--muted); font-size: .64rem; }.result-list article > div:first-child span:first-child { color: var(--brand); font-weight: 800; text-transform: uppercase; }.result-list h3 { margin: .5rem 0; }.result-list h3 a::after { position: absolute; inset: 0; content: ""; }.result-list p { color: var(--muted); font-size: .78rem; }.result-concepts { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: .3rem; margin-top: auto; }.result-concepts span { color: var(--muted); font-size: .6rem; }.result-list .text-link { position: relative; z-index: 1; margin-top: .7rem; }.empty-state { display: flex; flex-direction: column; align-items: center; max-width: 35rem; padding: 3rem; margin-inline: auto; text-align: center; border: 1px dashed var(--line-strong); border-radius: var(--radius-lg); }.empty-state > .icon { width: 2rem; height: 2rem; margin-bottom: 1rem; color: var(--brand); }.empty-state h2 { font-size: 1.4rem; }.empty-state p { color: var(--muted); }

.about-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.about-grid article { padding: 1.4rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }.about-grid article > span { color: var(--brand); font: 800 .7rem var(--font-mono); }.about-grid h2 { margin: 1.5rem 0 .6rem; font-size: 1.2rem; }.about-grid p { margin: 0; color: var(--muted); font-size: .8rem; }
.methodology { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; }.method-list { display: grid; gap: .7rem; }.method-list > div { padding: 1.1rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); }.method-list strong { color: var(--text-strong); font-size: .85rem; }.method-list p { margin: .25rem 0 0; color: var(--muted); font-size: .75rem; }
.security-review { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2rem 5rem; }.security-review > div p { color: var(--muted); }.security-review > ul { display: grid; gap: .7rem; padding: 0; margin: 0; list-style: none; }.security-review li { display: grid; grid-template-columns: auto 1fr; gap: .7rem; padding: .9rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--surface); }.security-review li > .icon { color: var(--brand); }.security-review li span { display: flex; flex-direction: column; color: var(--muted); font-size: .72rem; }.security-review li strong { color: var(--text-strong); font-size: .8rem; }.security-review > .callout { grid-column: 1 / -1; }
.audit-summary { padding-top: 2rem; }.audit-summary .stats-bar + .stats-bar { margin-top: 1rem; }.audit-summary > p { margin-top: 1rem; color: var(--muted); font-size: .78rem; }.audit-summary code { color: var(--brand); }
.not-found { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 5rem; width: min(100% - 3rem, 70rem); min-height: calc(100vh - var(--header-height)); margin-inline: auto; }.not-found__code { display: block; color: var(--brand); font: 800 1rem var(--font-mono); }.not-found h1 { max-width: 12ch; font-size: clamp(2.6rem, 5vw, 4rem); }.not-found p { max-width: 35rem; color: var(--muted); }.not-found > div:first-child > div { display: flex; gap: .7rem; }.not-found__visual { position: relative; width: min(100%, 25rem); aspect-ratio: 1; margin-inline: auto; }.not-found__visual span { position: absolute; inset: 10%; border: 1px dashed var(--line-strong); border-radius: 50%; }.not-found__visual span:nth-child(2) { inset: 24%; }.not-found__visual span:nth-child(3) { inset: 38%; }.not-found__visual i { position: absolute; inset: 50% auto auto 50%; display: grid; place-items: center; width: 5rem; height: 5rem; color: #fff; border-radius: 1.3rem; background: var(--brand); font: normal 800 2rem var(--font-mono); transform: translate(-50%, -50%) rotate(8deg); box-shadow: var(--shadow-md); }

.image-dialog { width: min(94vw, 84rem); max-width: 84rem; max-height: 92vh; padding: 2.8rem 1rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--text); box-shadow: var(--shadow-md); }.image-dialog::backdrop { background: rgba(1, 12, 20, .78); backdrop-filter: blur(6px); }.image-dialog img { width: 100%; max-height: 78vh; object-fit: contain; }.image-dialog p { margin: .65rem 0 0; color: var(--muted); font-size: .72rem; text-align: center; }.image-dialog__close { position: absolute; top: .55rem; right: .55rem; }
.toast { position: fixed; z-index: 500; right: 1.1rem; bottom: 1.1rem; max-width: min(22rem, calc(100vw - 2rem)); padding: .7rem 1rem; color: #fff; border-radius: .65rem; background: #15394a; box-shadow: var(--shadow-md); font-size: .75rem; opacity: 0; pointer-events: none; transform: translateY(1rem); transition: opacity .2s, transform .2s; }.toast.is-visible { opacity: 1; transform: translateY(0); }

/* Identidade e navegação da Central de Treinamentos */
.global-brand { display: inline-flex; align-items: center; gap: .78rem; min-width: max-content; }
.global-brand .brand__mark { flex: 0 0 auto; grid-template-columns: repeat(2, .58rem); gap: .12rem; width: 1.28rem; height: 1.28rem; }
.global-brand__text { display: flex; flex-direction: column; line-height: 1.1; }
.global-brand__text strong { color: var(--text-strong); font-size: .88rem; letter-spacing: -.015em; }
.global-brand__text small { margin-top: .2rem; color: var(--muted); font-size: .61rem; letter-spacing: .035em; }
.header-context-separator { color: var(--line-strong); font-size: 1.25rem; font-weight: 300; }
.header-training { display: grid; place-items: center; width: 6.2rem; height: 2.35rem; padding: .25rem .45rem; border: 1px solid var(--line); border-radius: .55rem; background: #fff; }
.header-training img { width: 100%; max-height: 1.6rem; object-fit: contain; }
.top-nav + .theme-toggle { margin-left: auto; }
.docs-sidebar__central { display: flex; align-items: center; gap: .55rem; padding: .4rem .65rem; margin-bottom: .25rem; color: var(--brand); font-size: .69rem; font-weight: 750; }
.docs-sidebar__central .icon { width: .9rem; }
.training-breadcrumb { position: relative; z-index: 2; margin-bottom: .4rem; }
.training-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .45rem; padding: 0; margin: 0; color: var(--muted); list-style: none; font-size: .72rem; }
.training-breadcrumb li { display: flex; align-items: center; gap: .45rem; }
.training-breadcrumb li:not(:last-child)::after { color: var(--line-strong); content: "/"; }
.training-breadcrumb a:hover { color: var(--brand); }

/* Identidade dos treinamentos estruturados */
.training-hero--lec { background: radial-gradient(circle at 84% 22%, color-mix(in srgb, #0c5b75 13%, transparent), transparent 27rem), linear-gradient(145deg, var(--surface) 0%, var(--bg) 52%, var(--surface-soft) 100%); }
.training-hero--lec .hero__copy h1 { max-width: 13ch; }
.training-hero--conector-rnds { background: radial-gradient(circle at 84% 22%, color-mix(in srgb, #079ca3 15%, transparent), transparent 27rem), linear-gradient(145deg, var(--surface) 0%, var(--bg) 52%, var(--surface-soft) 100%); }
.training-hero--conector-rnds .hero__copy h1 { max-width: 14ch; }
.training-flow-visual__core { width: 9.2rem; height: 9.2rem; border-color: color-mix(in srgb, var(--training-accent) 32%, var(--line)); background: linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--training-accent) 14%, var(--surface))); }
.training-flow-visual__core strong { max-width: 8rem; color: color-mix(in srgb, var(--training-accent) 82%, var(--text-strong)); font-size: 2rem; line-height: 1; text-align: center; }
.training-flow-visual__core small { max-width: 7rem; margin-top: .35rem; font-size: .61rem; line-height: 1.25; text-align: center; }
[data-theme="dark"] .training-flow-visual__core strong { color: color-mix(in srgb, var(--training-accent) 52%, #fff); }

/* Homepage da Central */
.central-hero { position: relative; overflow: hidden; padding-top: clamp(4.5rem, 7vw, 7rem); border-bottom: 1px solid var(--line); background: radial-gradient(circle at 85% 18%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 25rem), linear-gradient(145deg, var(--surface) 0%, var(--bg) 54%, var(--surface-soft) 100%); }
.central-hero__mesh, .coming-page__mesh { position: absolute; inset: 0; opacity: .5; pointer-events: none; background-image: radial-gradient(color-mix(in srgb, var(--brand) 22%, transparent) .8px, transparent .8px); background-size: 1.8rem 1.8rem; -webkit-mask-image: linear-gradient(125deg, black, transparent 72%); mask-image: linear-gradient(125deg, black, transparent 72%); }
.central-hero__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(24rem, .92fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); min-height: 34rem; padding-bottom: 4.5rem; }
.central-hero__copy h1 { max-width: 13ch; margin-bottom: 1.45rem; font-size: clamp(3rem, 5.4vw, 5.15rem); }
.central-hero__copy h1 em { display: block; margin-top: .22em; color: var(--brand); font-size: .43em; font-style: normal; letter-spacing: .01em; }
.central-hero__copy > p { max-width: 42rem; margin-bottom: 2rem; color: var(--muted); font-size: clamp(1.03rem, 1.55vw, 1.2rem); }
.central-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.central-hero__context { display: flex; align-items: center; gap: .8rem; margin-top: 2rem; }
.central-hero__context > span { display: grid; place-items: center; width: 2.55rem; height: 2.55rem; color: var(--brand); border-radius: 50%; background: var(--brand-soft); }
.central-hero__context p { display: flex; flex-direction: column; margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.4; }
.central-hero__context strong { color: var(--text-strong); font-size: .82rem; }
.central-hero__visual { position: relative; width: min(100%, 30rem); aspect-ratio: 1; margin-inline: auto; }
.central-orbit { position: absolute; inset: 6%; border: 1px dashed color-mix(in srgb, var(--brand) 30%, transparent); border-radius: 50%; animation: orbit 42s linear infinite; }
.central-orbit--inner { inset: 25%; border-style: solid; opacity: .55; animation-direction: reverse; animation-duration: 28s; }
.central-core { position: absolute; z-index: 2; inset: 50% auto auto 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 9.2rem; height: 9.2rem; border: 1px solid color-mix(in srgb, var(--brand) 28%, var(--line)); border-radius: 2.2rem; background: linear-gradient(145deg, var(--surface), var(--brand-soft)); box-shadow: 0 24px 65px color-mix(in srgb, var(--brand) 20%, transparent); transform: translate(-50%, -50%) rotate(7deg); }
.central-core > * { transform: rotate(-7deg); }
.central-core .brand__mark { margin-bottom: .72rem; }
.central-core strong { color: var(--text-strong); font-size: 1.15rem; line-height: 1; }
.central-core small { margin-top: .25rem; color: var(--muted); font-size: .68rem; }
.central-node { position: absolute; z-index: 3; display: flex; align-items: center; gap: .65rem; min-width: 10rem; padding: .8rem .9rem; border: 1px solid var(--line); border-radius: .85rem; background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: var(--shadow-md); backdrop-filter: blur(10px); }
.central-node > .icon { width: 1.35rem; height: 1.35rem; color: var(--brand); }
.central-node > span { display: flex; flex-direction: column; }
.central-node strong { color: var(--text-strong); font-size: .76rem; }
.central-node small { color: var(--muted); font-size: .61rem; }
.central-node--knowledge { top: 7%; left: 1%; transform: rotate(-4deg); }
.central-node--integration { top: 25%; right: -2%; transform: rotate(4deg); }
.central-node--operation { right: 5%; bottom: 9%; transform: rotate(-3deg); }
.central-stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-bottom: 0; border-radius: 1.2rem 1.2rem 0 0; background: var(--surface); box-shadow: var(--shadow-sm); }
.central-stats > div { display: flex; align-items: baseline; justify-content: center; gap: .7rem; padding: 1.35rem; border-right: 1px solid var(--line); }
.central-stats > div:last-child { border-right: 0; }
.central-stats strong { color: var(--text-strong); font-size: 1.55rem; letter-spacing: -.04em; }
.central-stats span { color: var(--muted); font-size: .78rem; }
.systems-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.system-card { position: relative; display: flex; flex-direction: column; min-height: 28.5rem; padding: 1.3rem; overflow: hidden; border: 1px solid var(--line); border-radius: 1.2rem; background: var(--surface); box-shadow: 0 2px 0 color-mix(in srgb, var(--line) 55%, transparent); transition: transform .22s, box-shadow .22s, border-color .22s; }
.system-card::before { position: absolute; top: 0; right: 0; left: 0; height: .22rem; background: var(--system-accent); content: ""; }
.system-card:hover, .system-card:focus-within { z-index: 2; border-color: color-mix(in srgb, var(--system-accent) 44%, var(--line)); box-shadow: var(--shadow-md); transform: translateY(-5px); }
.system-card__top { display: flex; align-items: start; justify-content: space-between; gap: .75rem; min-height: 2rem; }
.system-card__category { max-width: 55%; color: var(--muted); font-size: .63rem; font-weight: 750; line-height: 1.35; letter-spacing: .055em; text-transform: uppercase; }
.status-badge { display: inline-flex; align-items: center; gap: .4rem; min-width: max-content; padding: .3rem .55rem; border: 1px solid var(--line); border-radius: 2rem; font-size: .63rem; font-weight: 800; line-height: 1; }
.status-badge i { width: .42rem; height: .42rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 .18rem color-mix(in srgb, currentColor 13%, transparent); }
.status-badge--success { color: var(--success); border-color: color-mix(in srgb, var(--success) 27%, var(--line)); background: color-mix(in srgb, var(--success) 9%, var(--surface)); }
.status-badge--building { color: var(--warning); border-color: color-mix(in srgb, var(--warning) 27%, var(--line)); background: color-mix(in srgb, var(--warning) 9%, var(--surface)); }
.status-badge--updating { color: var(--blue); border-color: color-mix(in srgb, var(--blue) 27%, var(--line)); background: color-mix(in srgb, var(--blue) 9%, var(--surface)); }
.status-badge--planned { color: var(--muted); background: var(--surface-soft); }
.system-logo { position: relative; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.system-logo img { display: block; width: 100%; max-width: 100%; height: 100%; max-height: 100%; min-width: 0; min-height: 0; object-fit: contain; object-position: center; }
.system-logo__fallback { display: none; align-items: center; justify-content: center; width: 100%; height: 100%; padding: .65rem; color: #fff; background: linear-gradient(145deg, var(--system-accent, var(--brand)), color-mix(in srgb, var(--system-accent, var(--brand)) 62%, #142f45)); font-size: clamp(1rem, 2vw, 1.55rem); font-weight: 850; letter-spacing: -.025em; text-align: center; }
.system-logo.is-fallback .system-logo__fallback { display: flex; }
.system-logo.is-fallback img { display: none; }
.system-logo--card { width: 100%; height: 8.7rem; padding: 1.2rem; margin-top: 1rem; border-radius: 1rem; }
.system-card[data-system="conector-rnds"] .system-logo--card { padding: .65rem; }
.system-card[data-system="hu-digital"] .system-logo--card { padding: 2rem; }
.system-card__body { display: flex; flex: 1; flex-direction: column; padding-top: 1.2rem; }
.system-card__body h3 { margin-bottom: .25rem; font-size: 1.42rem; }
.system-card__subtitle { margin-bottom: .8rem !important; color: var(--system-accent) !important; font-size: .72rem !important; font-weight: 750; }
.system-card__body > p:last-child { margin-bottom: 1.2rem; color: var(--muted); font-size: .82rem; }
.system-card__action { display: flex; align-items: center; justify-content: space-between; gap: .7rem; min-height: 2.8rem; padding: .7rem .85rem; color: var(--system-accent); border: 1px solid color-mix(in srgb, var(--system-accent) 28%, var(--line)); border-radius: .72rem; background: color-mix(in srgb, var(--system-accent) 7%, var(--surface)); font-size: .78rem; font-weight: 800; transition: color .2s, background .2s, border-color .2s; }
.system-card__action .icon { width: 1rem; transition: transform .2s; }
.system-card__action:hover { color: #fff; border-color: var(--system-accent); background: var(--system-accent); }
.system-card__action:hover .icon { transform: translateX(.2rem); }
[data-theme="dark"] .system-card__subtitle, [data-theme="dark"] .system-card__action { color: color-mix(in srgb, var(--system-accent) 48%, #fff) !important; }
[data-theme="dark"] .system-card__action { border-color: color-mix(in srgb, var(--system-accent) 40%, var(--line)); }
[data-theme="dark"] .coming-card > .coming-card__content > .eyebrow { color: color-mix(in srgb, var(--system-accent) 45%, #fff); }
.central-about__inner { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: clamp(3rem, 8vw, 7rem); }
.central-about__inner > div:first-child p { max-width: 35rem; margin-bottom: 0; color: var(--muted); }
.central-pillars { display: grid; gap: .75rem; }
.central-pillars article { display: grid; grid-template-columns: auto 1fr; gap: .9rem; padding: 1.05rem; border: 1px solid var(--line); border-radius: .85rem; background: var(--surface); }
.central-pillars article > .icon { width: 1.35rem; height: 1.35rem; color: var(--brand); }
.central-pillars strong { display: block; color: var(--text-strong); font-size: .84rem; }
.central-pillars p { margin: .2rem 0 0; color: var(--muted); font-size: .74rem; }

/* Treinamentos ainda sem conteúdo publicado */
.coming-page { position: relative; min-height: calc(100vh - var(--header-height)); overflow: hidden; background: radial-gradient(circle at 82% 20%, color-mix(in srgb, var(--system-accent) 14%, transparent), transparent 26rem), linear-gradient(145deg, var(--surface), var(--bg) 58%, var(--surface-soft)); }
.coming-page__container { position: relative; z-index: 1; padding-block: 2rem clamp(4rem, 8vw, 7rem); }
.coming-page__breadcrumbs { margin-bottom: 1.5rem; }
.coming-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(19rem, .9fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); min-height: 35rem; padding: clamp(1.5rem, 5vw, 4rem); border: 1px solid var(--line); border-radius: 1.7rem; background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: var(--shadow-md); backdrop-filter: blur(14px); }
.coming-card__identity { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.coming-card__identity > div:last-child { display: flex; flex-direction: column; align-items: start; gap: .55rem; }
.system-logo--coming { width: 9.5rem; height: 5.8rem; padding: .85rem; border-radius: .85rem; }
.coming-card__category { color: var(--muted); font-size: .65rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.coming-card > .coming-card__content > .eyebrow { color: var(--system-accent); }
.coming-card h1 { margin-bottom: .65rem; font-size: clamp(2.8rem, 5vw, 4.8rem); }
.coming-card__description { max-width: 42rem; color: var(--muted); font-size: 1.02rem; }
.coming-notice { display: grid; grid-template-columns: auto 1fr; gap: .9rem; padding: 1.1rem; margin-top: 1.7rem; border: 1px solid color-mix(in srgb, var(--system-accent) 25%, var(--line)); border-radius: .9rem; background: color-mix(in srgb, var(--system-accent) 7%, var(--surface)); }
.coming-notice > span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; color: var(--system-accent); border-radius: .7rem; background: color-mix(in srgb, var(--system-accent) 13%, var(--surface)); }
.coming-notice h2 { margin-bottom: .25rem; font-size: 1rem; }
.coming-notice p { margin: 0; color: var(--muted); font-size: .76rem; }
.coming-card__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.8rem; }
.coming-card__actions .button--primary { background: var(--system-accent); }
.coming-card__visual { position: relative; width: min(100%, 24rem); aspect-ratio: 1; margin-inline: auto; }
.coming-stack { position: absolute; display: grid; gap: .55rem; width: 11rem; padding: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); box-shadow: var(--shadow-md); }
.coming-stack span { display: block; height: .55rem; border-radius: 1rem; background: var(--surface-soft); }
.coming-stack span:nth-child(1) { width: 48%; background: color-mix(in srgb, var(--system-accent) 40%, var(--surface)); }
.coming-stack span:nth-child(3) { width: 72%; }
.coming-stack--one { top: 10%; left: 1%; transform: rotate(-7deg); }
.coming-stack--two { right: 0; bottom: 9%; transform: rotate(7deg); }
.coming-visual-core { position: absolute; z-index: 2; inset: 50% auto auto 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 9.5rem; height: 9.5rem; color: #fff; border: .45rem solid var(--surface); border-radius: 2rem; background: linear-gradient(145deg, var(--system-accent), color-mix(in srgb, var(--system-accent) 60%, #142f45)); box-shadow: var(--shadow-md); transform: translate(-50%, -50%) rotate(6deg); }
.coming-visual-core > * { transform: rotate(-6deg); }
.coming-visual-core .icon { width: 1.8rem; height: 1.8rem; margin-bottom: .65rem; }
.coming-visual-core strong { font-size: .9rem; }
.coming-visual-core small { opacity: .82; font-size: .65rem; }
.site-footer__context { display: block; margin-top: .75rem; color: var(--brand); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.global-brand--footer { margin-bottom: 1rem; }
.global-brand--footer .brand__mark { grid-template-columns: repeat(2, .7rem); width: 1.54rem; height: 1.54rem; }
.global-brand--footer .global-brand__text strong { font-size: 1rem; }
.global-brand--footer .global-brand__text small { font-size: .68rem; }

@media (max-width: 78rem) {
    :root { --sidebar-width: 15.5rem; --toc-width: 12rem; }
    .docs-layout { gap: 1.5rem; }
    .top-nav { display: none; }
    .module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .systems-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hero__inner { grid-template-columns: 1.08fr .92fr; }
    .central-hero__inner { grid-template-columns: 1.03fr .97fr; }
}

@media (max-width: 64rem) {
    .menu-toggle { display: inline-grid; }
    .site-header__inner { gap: .8rem; }
    .header-search { width: min(23rem, 36vw); }
    .docs-layout, .docs-layout--module { display: block; width: min(100% - 3rem, var(--content-max)); }
    .docs-sidebar, .page-toc { display: none; }
    .mobile-toc { display: block; margin: 1rem 0 1.5rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--surface); }
    .mobile-toc summary { display: flex; justify-content: space-between; align-items: center; padding: .75rem .9rem; color: var(--text-strong); font-size: .78rem; font-weight: 750; cursor: pointer; list-style: none; }.mobile-toc summary::-webkit-details-marker { display: none; }.mobile-toc summary .icon { width: 1rem; transition: transform .2s; }.mobile-toc[open] summary .icon { transform: rotate(90deg); }.mobile-toc nav { display: grid; padding: .2rem .9rem .8rem; }.mobile-toc a { padding: .35rem 0; color: var(--muted); font-size: .72rem; }
    .hero__inner { grid-template-columns: 1fr; }.hero__copy { padding-bottom: 0; }.hero__visual { width: min(100%, 29rem); margin-bottom: 3rem; }.stats-bar { width: min(100% - 3rem, 75rem); }
    .central-hero__inner { grid-template-columns: 1fr; }.central-hero__visual { width: min(100%, 28rem); margin-bottom: 3rem; }.central-stats { width: min(100% - 3rem, 75rem); }
    .central-about__inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .coming-card { grid-template-columns: 1fr; }.coming-card__visual { width: min(100%, 22rem); }
    .section-heading--split { align-items: start; flex-direction: column; gap: .8rem; }
    .methodology, .security-review { grid-template-columns: 1fr; gap: 2rem; }.security-review > .callout { grid-column: auto; }
}

@media (max-width: 48rem) {
    :root { --header-height: 4rem; }
    .container { width: min(100% - 2rem, 75rem); }
    .site-header__inner { width: min(100% - 1rem, 88rem); }.brand small { display: none; }.header-search { margin-left: auto; width: auto; }.header-search input, .header-search kbd { display: none; }.header-search { width: 2.6rem; height: 2.6rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); }.header-search .icon { inset: 50% auto auto 50%; transform: translate(-50%, -50%); }.theme-toggle { margin: 0; }
    .global-brand__text small { display: none; }.global-brand { gap: .6rem; }.global-brand__text strong { font-size: .78rem; }.header-context-separator { display: none; }.header-training { width: 5.3rem; height: 2.25rem; padding-inline: .35rem; }
    .hero { padding-top: 3.5rem; }.hero__inner { min-height: auto; }.hero h1 { font-size: clamp(2.65rem, 12vw, 4rem); }.hero__visual { transform: scale(.92); margin-block: -1rem 1rem; }.visual-card { min-width: 8.3rem; padding: .7rem; }.stats-bar { grid-template-columns: repeat(2, 1fr); width: min(100% - 2rem, 75rem); border-radius: 1rem 1rem 0 0; }.stats-bar > div:nth-child(2) { border-right: 0; }.stats-bar > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.stats-bar > div { flex-direction: column; gap: 0; align-items: center; padding: 1rem; }.stats-bar strong { font-size: 1.25rem; }
    .section { padding-block: 4rem; }.section-heading { margin-bottom: 2rem; }.path-steps, .module-grid, .personal-grid, .about-grid, .result-list { grid-template-columns: 1fr; }.path-steps::before { top: 10%; bottom: 10%; left: 2.55rem; width: 1px; height: auto; }.module-card { min-height: 20rem; }
    .central-hero { padding-top: 3.5rem; }.central-hero__inner { min-height: auto; }.central-hero__copy h1 { font-size: clamp(2.65rem, 12vw, 4rem); }.central-hero__visual { width: min(100%, 23rem); margin-block: .5rem 2rem; }.central-node { min-width: 8.7rem; padding: .65rem; }.central-stats { grid-template-columns: 1fr; width: min(100% - 2rem, 75rem); border-radius: 1rem 1rem 0 0; }.central-stats > div { justify-content: space-between; padding: .9rem 1rem; border-right: 0; border-bottom: 1px solid var(--line); }.central-stats > div:last-child { border-bottom: 0; }.system-card { min-height: 26rem; }.system-logo--card { height: 8rem; }
    .coming-page__container { width: min(100% - 2rem, 75rem); padding-top: 1.2rem; }.coming-card { gap: 2rem; padding: 1.35rem; border-radius: 1.25rem; }.coming-card__identity { align-items: flex-start; flex-direction: column; }.system-logo--coming { width: 100%; height: 7rem; }.coming-card__actions { flex-direction: column; }.coming-card__actions .button { width: 100%; }.coming-card__visual { width: 16rem; }.coming-stack { width: 8rem; padding: .7rem; }.coming-visual-core { width: 7.5rem; height: 7.5rem; border-radius: 1.5rem; }
    .safety-banner { align-items: start; flex-direction: column; gap: 1.5rem; }.safety-banner .button { min-width: 0; }
    .site-footer__inner { grid-template-columns: 1fr 1fr; gap: 2.5rem 1rem; width: min(100% - 2rem, 75rem); }.site-footer__inner > div:first-child { grid-column: 1 / -1; }.site-footer__bottom { flex-direction: column; width: min(100% - 2rem, 75rem); }
    .docs-layout, .docs-layout--module { width: min(100% - 2rem, var(--content-max)); }.docs-main { padding-top: 1.2rem; }.breadcrumbs { margin-bottom: 1.3rem; }.module-hero { grid-template-columns: 1fr; padding: 1.5rem; }.module-hero__badge { display: none; }.learning-objectives { grid-template-columns: 1fr; }.module-content-list li > a { grid-template-columns: auto 1fr; gap: .8rem; padding: 1rem; }.content-arrow { display: none; }
    .article-header h1 { font-size: clamp(2.2rem, 11vw, 3.3rem); }.article-lead { font-size: 1rem; }.article-header__meta span:last-child { flex-basis: 100%; }.article-section { margin-bottom: 3rem; }.resource-link { grid-template-columns: auto minmax(0, 1fr); }.resource-link__action { grid-column: 2; }.related > div { grid-template-columns: 1fr; }.sequence-nav { grid-template-columns: 1fr; }.sequence-nav > span { display: none; }.sources__heading { align-items: start; flex-direction: column; gap: .2rem; }.sources__heading p { max-width: none; }.search-hero, .about-hero { padding: 3.5rem 0 3rem; }.search-hero form > div:first-of-type { flex-direction: column; }.search-hero form > div:first-of-type .icon { top: .95rem; }.search-hero .button { width: 100%; }.stats-bar--light { grid-template-columns: repeat(2, 1fr); border-radius: var(--radius); }
    .not-found { grid-template-columns: 1fr; gap: 1rem; width: min(100% - 2rem, 70rem); padding-block: 3rem; }.not-found__visual { width: 14rem; order: -1; }.not-found > div:first-child > div { flex-direction: column; }.not-found .button { width: 100%; }
}

@media (max-width: 40rem) {
    .systems-grid { grid-template-columns: 1fr; }
    .central-hero__visual { display: none; }
    .central-hero__inner { padding-bottom: 3rem; }
}

@media (max-width: 27rem) {
    .site-header__inner { gap: .4rem; }.site-header .brand__logo { width: 7.3rem; }.brand__mark { grid-template-columns: repeat(2, .58rem); width: 1.3rem; height: 1.3rem; }.global-brand { gap: .4rem; }.global-brand__text strong { max-width: 6.7rem; font-size: .7rem; line-height: 1.05; }.header-training { width: 4.4rem; }.icon-button, .header-search { width: 2.35rem; height: 2.35rem; }.hero__actions, .central-hero__actions { flex-direction: column; }.hero__actions .button, .central-hero__actions .button { width: 100%; }.visual-card--api { right: -4%; }.visual-card--data { right: -2%; }.central-node--integration { right: -4%; }.central-node--operation { right: -2%; }.personal-card { grid-template-columns: auto 1fr; }.personal-card .button { grid-column: 1 / -1; width: 100%; }.article-actions { flex-wrap: wrap; }.highlight-grid { grid-template-columns: 1fr 1fr; }.content-number { width: 2.45rem; height: 2.45rem; }.module-content-list li > a { gap: .55rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media print {
    .site-header, .docs-sidebar, .page-toc, .mobile-toc, .article-actions, .sequence-nav, .related, .site-footer, .reading-progress { display: none !important; }
    body { background: #fff; color: #111; }.docs-layout { display: block; width: 100%; }.docs-main { max-width: none; padding: 0; }.article-section { break-inside: avoid; }.code-shell { border-color: #bbb; background: #f5f5f5; }.code-shell pre { color: #111; }.sources code { color: #333; }
}
