@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap');
:root { --ink:#173b3a; --deep:#0e2928; --paper:#f7f1e5; --cream:#fffaf1; --coral:#e4604f; --gold:#d5a536; --muted:#5b706a; --line:rgba(23,59,58,.15); --header:78px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:'DM Sans',sans-serif; font-size:15px; }
a { color:inherit; text-underline-offset:3px; }
button,input,select { font:inherit; }
a:focus-visible,summary:focus-visible,input:focus-visible { outline:2px solid var(--coral); outline-offset:4px; }
.skip { position:fixed; left:-9999px; top:10px; background:var(--cream); padding:12px; z-index:100; }
.skip:focus { left:12px; }
.site-header { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--line); background:var(--cream); }
.header-inner { max-width:1440px; height:var(--header); padding:0 34px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; }
.brand-mark { width:38px; height:38px; border-radius:45% 55% 52% 48%; background:var(--coral); color:white; display:grid; place-items:center; font-family:Georgia,serif; font-weight:800; font-size:1.3rem; transform:rotate(-8deg); }
.brand-copy { line-height:1; }
.brand-copy strong,.brand-copy small { display:block; letter-spacing:.18em; }
.brand-copy strong { font-size:.95rem; }
.brand-copy small { margin-top:6px; font-size:.53rem; letter-spacing:.23em; }
.site-header nav { display:flex; align-items:center; gap:28px; font-size:.82rem; }
.site-header nav a { text-decoration:none; }
.site-header nav a:hover,.site-header nav a[aria-current=page] { color:#b34739; }
.docs-layout { display:grid; grid-template-columns:244px minmax(0,1fr) 194px; max-width:1440px; margin:auto; min-height:calc(100vh - var(--header)); }
.sidebar { min-width:0; border-right:1px solid var(--line); background:var(--paper); }
.sidebar-menu { position:sticky; top:var(--header); max-height:calc(100vh - var(--header)); overflow:auto; scrollbar-width:thin; }
.sidebar-menu > summary { display:none; }
.sidebar-inner { padding:30px 20px 40px 30px; }
.search-label { display:block; margin-bottom:9px; color:var(--muted); font-size:.73rem; }
.search-input { min-width:0; width:100%; padding:10px 12px; border:1px solid var(--line); background:var(--cream); border-radius:7px; color:var(--ink); font-size:.79rem; }
.search-results { margin:10px 0 20px; padding:4px; border:1px solid var(--line); border-radius:8px; background:var(--cream); }
.search-results a { display:block; padding:10px 8px; border-radius:5px; text-decoration:none; }
.search-results a:hover { background:var(--paper); }
.search-results strong,.search-results small { display:block; font-size:.78rem; line-height:1.5; }
.search-results small { color:var(--muted); font-size:.68rem; margin-top:4px; }
.search-results p { font-size:.78rem; padding:10px; line-height:1.6; margin:0; }
.nav-home { display:block; font-size:.79rem; margin:24px 0; text-decoration:none; color:var(--muted); }
.nav-group { margin:23px 0 0; }
.nav-service { display:block; text-decoration:none; color:var(--muted); font-size:.73rem; font-weight:700; line-height:1.5; padding:3px 0 8px; }
.nav-service:hover { color:var(--ink); }
.nav-topics { margin:0 0 0 6px; border-left:1px solid var(--line); padding-left:9px; }
.nav-topics a { display:block; text-decoration:none; font-size:.78rem; line-height:1.5; padding:9px 10px; margin:2px 0; border-left:2px solid transparent; border-radius:0 5px 5px 0; }
.nav-topics a:hover { background:rgba(23,59,58,.04); }
.nav-topics a[aria-current=page] { border-left-color:var(--coral); background:rgba(23,59,58,.06); font-weight:700; }
.service-access { display:block; font-size:.74rem; text-decoration:none; margin-top:32px; padding-top:20px; border-top:1px solid var(--line); line-height:1.6; }
.doc-content { min-width:0; padding:46px clamp(26px,4vw,65px) 74px; }
.doc-content article { max-width:760px; margin:auto; }
.breadcrumb { margin:0 0 30px; font-size:.77rem; color:var(--muted); line-height:1.7; }
.breadcrumb a { text-decoration:none; }
.breadcrumb a:hover { text-decoration:underline; }
.breadcrumb span { margin:0 8px; }
h1,h2,h3 { color:var(--ink); }
h1 { font-family:'Newsreader',Georgia,serif; font-size:clamp(2.2rem,3.5vw,3.25rem); font-weight:500; letter-spacing:-.035em; line-height:1.1; margin:0 0 22px; }
h2 { font-family:'Newsreader',Georgia,serif; font-size:1.85rem; font-weight:500; letter-spacing:-.025em; line-height:1.2; margin:40px 0 18px; }
h3 { font-size:1rem; line-height:1.5; margin:27px 0 12px; }
p,li { line-height:1.8; }
p { margin:0 0 19px; }
.article-lead { font-size:1.04rem; color:var(--muted); line-height:1.8; margin-bottom:32px; }
.section-body { color:#4e655d; }
.section-body strong { color:var(--ink); font-weight:700; }
.section-body p { margin:0 0 20px; }
.section-body ul,.section-body ol { padding-left:22px; margin:18px 0 24px; }
.section-body li { padding-left:4px; margin:9px 0; }
.section-body li::marker { color:var(--muted); }
[id] { scroll-margin-top:105px; }
.note,.release-note { background:var(--paper); padding:19px 22px; border-left:3px solid var(--gold); border-radius:0 6px 6px 0; margin:28px 0; font-size:.9rem; }
.note p,.release-note p { margin:8px 0 0; line-height:1.75; }
.release-note { border-left-color:var(--coral); background:#f9eee2; font-size:.78rem; margin-bottom:30px; }
.release-note strong { font-weight:700; }
.page-toc { align-self:start; min-width:0; position:sticky; top:calc(var(--header) + 44px); padding:0 24px 30px 0; max-height:calc(100vh - var(--header) - 60px); overflow:auto; font-size:.74rem; }
.page-toc nav { border-left:1px solid var(--line); }
.page-toc p { margin:0 0 16px; padding-left:16px; color:var(--muted); line-height:1.5; }
.page-toc a { display:block; padding:8px 14px; border-left:2px solid transparent; margin-left:-1px; text-decoration:none; line-height:1.65; color:var(--muted); }
.page-toc a:hover,.page-toc a[aria-current=location] { color:var(--ink); border-left-color:var(--coral); }
.guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0 34px; }
.guide-card { display:flex; flex-direction:column; align-items:start; gap:14px; padding:23px; border:1px solid var(--line); border-radius:9px; text-decoration:none; }
.guide-card:hover { background:var(--paper); }
.guide-card small { color:var(--muted); font-size:.72rem; }
.guide-card h3 { font-family:'Newsreader',Georgia,serif; font-weight:500; font-size:1.6rem; margin:0; }
.guide-card p { color:var(--muted); font-size:.82rem; line-height:1.7; margin:0; }
.guide-card > span { margin-top:auto; font-size:.76rem; color:#ae473b; }
.topic-list { border-top:1px solid var(--line); margin:24px 0 36px; }
.topic-list a { display:grid; grid-template-columns:26px minmax(0,1fr) 14px; gap:14px; align-items:center; padding:17px 3px; border-bottom:1px solid var(--line); text-decoration:none; }
.topic-list a:hover { color:#ae473b; }
.topic-list span { font-size:.72rem; color:var(--muted); }
.topic-list strong { font-weight:500; font-size:.91rem; line-height:1.6; }
.doc-pagination { display:grid; grid-template-columns:1fr 1fr; gap:18px; border-top:1px solid var(--line); padding-top:26px; margin-top:52px; }
.doc-pagination a { display:grid; gap:9px; text-decoration:none; font-size:.83rem; line-height:1.6; }
.doc-pagination a:last-child:not(:first-child) { text-align:right; }
.doc-pagination small { color:var(--muted); font-weight:400; }
.doc-pagination strong { font-weight:500; }
.role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.role-grid article { padding:18px; border:1px solid var(--line); border-radius:7px; }
.role-grid article > span { color:var(--muted); font-size:.66rem; }
.role-grid h3 { margin:14px 0; }
.role-grid p { font-size:.79rem; line-height:1.7; }
.lifecycle { display:flex; gap:9px; flex-wrap:wrap; margin:25px 0; font-size:.8rem; }
.lifecycle span { padding:7px 11px; background:var(--paper); border-radius:4px; }
.footer { display:flex; justify-content:space-between; gap:22px; padding:23px max(30px,calc((100% - 1380px)/2)); border-top:1px solid var(--line); color:var(--muted); font-size:.69rem; line-height:1.7; background:var(--paper); }
@media(max-width:1150px) { .docs-layout { grid-template-columns:224px minmax(0,1fr); }.page-toc { display:none; }.sidebar-inner { padding-left:22px; }.doc-content { padding-left:42px; padding-right:42px; } }
@media(max-width:760px) {
  :root { --header:68px; }
  .header-inner { padding:0 20px; gap:15px; }.site-header nav { gap:14px; font-size:.74rem; }.site-header nav a:last-child { display:none; }
  .docs-layout { display:block; }.sidebar { border-right:0; border-bottom:1px solid var(--line); }
  .sidebar-menu { position:static; max-height:none; overflow:visible; }.sidebar-menu > summary { display:flex; justify-content:space-between; align-items:center; list-style:none; padding:17px 22px; font-size:.82rem; cursor:pointer; }.sidebar-menu > summary::-webkit-details-marker { display:none; }
  .sidebar-inner { padding:8px 22px 28px; }.nav-topics a { padding:11px 12px; }.nav-home { margin:18px 0; }.sidebar-menu[open] { border-bottom:1px solid var(--line); }
  .doc-content { padding:30px 23px 55px; }.breadcrumb { margin-bottom:22px; font-size:.72rem; } h1 { font-size:2.4rem; } h2 { font-size:1.75rem; margin-top:32px; }
  .section-body { font-size:.94rem; }.guide-grid { grid-template-columns:minmax(0,1fr); }.guide-card { padding:21px; }.role-grid { grid-template-columns:minmax(0,1fr); }
  .release-note,.note { padding:17px 18px; }.doc-pagination { grid-template-columns:minmax(0,1fr); }.doc-pagination a:last-child:not(:first-child) { text-align:left; }.footer { flex-direction:column; gap:7px; padding:22px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Apps Cristianas provider identity; the existing documentation typography/palette is retained. */
.brand-mark { background:none; transform:none; border-radius:0; }
.brand-mark img { display:block; width:38px; height:38px; }
.brand-copy strong { letter-spacing:.06em; }
