/* Tema optativo: lectura guiada en pantallas de 320 a 2560 píxeles. */
.guide-reader {
  --ink:#203b35; --muted:#536b62; --paper:#f3f6f3; --surface:#fff;
  --accent:#235f4b; --accent-soft:#e8f1eb; --line:#d8e2da;
  --sidebar-width:clamp(15rem,20vw,18.5rem); --header-height:clamp(4rem,6vw,4.7rem);
  --sdk-bg-primary:#f3f6f3; --sdk-bg-secondary:#fff; --sdk-bg-tertiary:#edf3ee;
  --sdk-border:#cbd9cf; --sdk-text-primary:#203b35; --sdk-text-secondary:#52665b;
  --sdk-accent:#235f4b; --sdk-success:#245f3d; --sdk-danger:#a13325;
  --dbe-bg:#fff; --dbe-text:#203b35; --dbe-muted:#536b62; --dbe-border:#cbd9cf;
  --dbe-accent:#235f4b; color-scheme:light; margin:0; background:var(--paper);
  color:var(--ink); font:400 1rem/1.7 "Segoe UI",system-ui,sans-serif;
}
.guide-reader * {box-sizing:border-box}
.guide-reader :is(p,li,dd,blockquote,figcaption) {width:100%;max-width:100%;min-width:0;text-align:var(--text-align-reading, start);white-space:normal;overflow-wrap:normal;word-break:normal}
.guide-reader :is(th,td) {overflow-wrap:break-word}
.guide-reader a[href] {overflow-wrap:break-word}
.guide-reader :is(p,li,dd) > code {overflow-wrap:anywhere}
.guide-reader :is(button,input,select,textarea) {font:inherit;max-width:100%;min-width:0}
.guide-reader button {cursor:pointer;min-height:2.75rem}
.guide-reader a {color:var(--accent);text-underline-offset:.2em}
.guide-reader a:hover {text-decoration-thickness:.13em}
.guide-reader :focus-visible {outline:3px solid #ab5b16;outline-offset:4px}
.guide-reader [hidden] {display:none!important}
.guide-reader .skip {position:fixed;top:-8rem;left:1rem;z-index:100;background:#fff;padding:.7rem 1rem}
.guide-reader .skip:focus {top:.5rem}
.guide-topbar {
  position:sticky;top:0;z-index:20;display:flex;align-items:center;flex-wrap:wrap;
  gap:clamp(.65rem,2vw,1.7rem);min-height:var(--header-height);padding:.6rem clamp(1rem,2vw,2rem);
  border-bottom:1px solid var(--line);background:#fcfdfb;
}
.guide-brand {display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:750;line-height:1.3}
.guide-brand svg {width:2.2rem;height:2.2rem;flex:none;color:var(--accent)}
.guide-brand small {display:block;font-size:.72rem;letter-spacing:.08em;color:var(--muted);font-weight:550}
.guide-breadcrumb {display:none;flex:1;font-size:.85rem;color:var(--muted);min-width:0}
.guide-topbar .phase-label {margin-left:auto;font-size:.75rem;font-weight:650;padding:.3rem .65rem;background:var(--accent-soft);border-radius:.35rem}
.guide-menu {display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:.35rem;padding:.4rem .8rem;color:var(--ink)}
.guide-reader .layout {display:grid;gap:clamp(1rem,2.5vw,2.7rem);max-width:100%;margin:auto;padding:clamp(1rem,2vw,2rem)}
.guide-sidebar {padding:1.1rem;background:#fcfdfb;border:1px solid var(--line);border-radius:.55rem;align-self:start;min-width:0}
.guide-sidebar__label {font-size:.72rem;letter-spacing:.11em;color:var(--muted);font-weight:750;margin:0 0 .4rem}
.guide-sidebar__progress {font-size:.8rem;color:var(--muted);margin:.25rem 0 1.25rem}
.guide-search-label {display:block;font-size:.8rem;font-weight:650;margin-bottom:.4rem}
.guide-sidebar input {width:100%;padding:.6rem .7rem;border:1px solid #b8cbbc;border-radius:.35rem;background:#fff;color:var(--ink);font-size:1rem}
.guide-sidebar ol,.guide-sidebar ul {list-style:none;padding:0;margin:1rem 0}
.guide-sidebar li {margin:.25rem 0}
.guide-sidebar a {display:flex;align-items:flex-start;gap:.7rem;padding:.65rem .7rem;text-decoration:none;line-height:1.4;border-radius:.35rem;font-size:.85rem;color:#3e564a}
.guide-sidebar a:hover {background:#edf3ee}
.guide-sidebar a[aria-current] {background:#e2eee5;color:#164e3c;font-weight:700;box-shadow:inset 3px 0 var(--accent)}
.guide-step-number {display:inline-flex;justify-content:center;align-items:center;min-width:1.6rem;min-height:1.6rem;border:1px solid #bfcec2;border-radius:50%;font-size:.7rem;flex:none;background:#fff}
.guide-sidebar .is-current .guide-step-number {color:#fff;background:var(--accent);border-color:var(--accent)}
.guide-nav-group {border-top:1px solid var(--line);padding-top:.8rem;margin-top:.8rem}
.guide-sidebar .guide-nav-group a {font-size:.82rem}
.guide-sidebar__save {font-size:.72rem;color:var(--muted);margin:1rem .4rem 0}
.guide-sidebar__save::before {content:"●";color:var(--accent);margin-right:.4rem}
.guide-reader [data-reader-empty] {font-size:.85rem;background:#fff3df;padding:.7rem}
.guide-reader main {min-width:0;max-width:100%}
.guide-reader main > section {padding:clamp(1.2rem,3vw,3.1rem);background:var(--surface);border:1px solid var(--line);border-radius:.55rem;margin:0 0 1.25rem;min-width:0}
.guide-reader.reader-ready main > section {display:none}
.guide-reader h1 {font-size:clamp(1.9rem,3.1vw,3.3rem);line-height:1.15;letter-spacing:-.035em;margin:.7rem 0 1.2rem;max-width:27ch;font-weight:750}
.guide-reader h2 {font-size:clamp(1.6rem,2.4vw,2.35rem);line-height:1.22;letter-spacing:-.025em;margin:.5rem 0 1.5rem;font-weight:730;max-width:34ch}
.guide-reader h3 {font-size:clamp(1.12rem,1.5vw,1.35rem);line-height:1.4;margin:2rem 0 .8rem;font-weight:700}
.guide-reader h4 {font-size:1rem;letter-spacing:0}
.guide-reader :is(p,li,dd) {max-width:100%}
.guide-reader p {margin:.8rem 0 1.1rem}
.guide-reader li {margin:.45rem 0}
.guide-reader .eyebrow,.guide-reader .module-meta {font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:750;margin:0 0 .9rem}
.guide-intro-lead {font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--muted);max-width:100%}
.guide-hero-meta {display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin:1.3rem 0;color:var(--muted);font-size:.8rem}
.guide-hero-meta span+span::before {content:"·";margin-right:1rem;color:#91a899}
.guide-actions {display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0 1.8rem}
.guide-actions a {display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:.65rem 1rem;border-radius:.35rem;text-decoration:none;font-size:.9rem;font-weight:650;border:1px solid #b3c8ba}
.guide-actions .guide-primary {color:#fff;background:var(--accent);border-color:var(--accent)}
.guide-actions .guide-secondary {background:#fff;color:var(--accent)}
.guide-overview-note {padding:1rem 1.25rem;border-left:3px solid var(--accent);background:#f0f5f1;margin:1.4rem 0}
.guide-reader .callout {padding:1rem 1.2rem;border-left:3px solid var(--accent);background:#edf4ef;border-radius:0 .3rem .3rem 0;margin:1.25rem 0}
.guide-reader .warning {border-left-color:#a1692d;background:#fcf5e9;color:#614425}
.guide-reader details {margin:1.1rem 0;padding:0;border:1px solid var(--line);border-radius:.4rem;background:#fff;min-width:0}
.guide-reader summary {cursor:pointer;padding:.9rem 1.1rem;font-size:.9rem;font-weight:650;line-height:1.55}
.guide-reader details[open] > summary {border-bottom:1px solid var(--line);margin-bottom:1rem;background:#f4f8f4}
.guide-reader details > :not(summary) {margin-left:clamp(.8rem,2vw,1.3rem);margin-right:clamp(.8rem,2vw,1.3rem)}
.guide-reader .guide-evidence {margin-top:2.2rem;border-color:#b3cabb;background:#f6f9f5}
.guide-reader .guide-evidence > summary {color:var(--accent);display:list-item;font-size:1rem;padding:1.2rem}
.guide-reader .guide-evidence > summary small {display:block;font-weight:400;color:var(--muted);font-size:.8rem;margin-top:.3rem}
.guide-reader .dbe-estacion {margin:0 0 1.3rem!important;border:0!important;box-shadow:none!important;padding:clamp(.6rem,2vw,1.4rem)!important;background:transparent!important;color:var(--ink)}
.guide-reader .dbe-estacion__cabecera {padding:0!important;background:transparent!important;color:var(--ink);border-bottom:1px solid var(--line)}
.guide-reader .dbe-estacion__cabecera h3 {margin:.6rem 0 1rem;font-size:1.2rem}
.guide-reader .dbe-estacion__pie {padding:.9rem 0!important;text-align:var(--text-align-reading, start)}
.guide-reader .dbe-estacion__pie :is(button,a) {font-size:.8rem}
.guide-reader .dbe-estacion__campo textarea {min-height:7rem}
.guide-reader .dbe-estacion__lista {max-width:none}
.guide-reader .lab {padding:clamp(1rem,2vw,1.5rem);margin:1.75rem 0;border:1px solid #b7cfc0;border-top:3px solid var(--accent);border-radius:.45rem;background:#f4f8f5;min-width:0}
.guide-reader .lab > h3 {margin:.2rem 0 .65rem}
.guide-reader .lab > p {color:var(--muted);font-size:.9rem}
.guide-reader .sdk-form-engine {background:transparent;border:0;padding:0;box-shadow:none;min-width:0}
.guide-reader .sdk-form-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;max-width:none}
.guide-reader .sdk-form-group {display:flex;flex-direction:column;gap:.35rem;min-width:0}
.guide-reader .sdk-form-group label {color:var(--ink);font-size:.85rem;font-weight:650}
.guide-reader :is(.sdk-form-group input,.sdk-form-group textarea,.sim-input,.dbe-estacion textarea) {padding:.7rem;border:1px solid #adc3b4;border-radius:.35rem;background:#fff;color:var(--ink);font-size:1rem;width:100%;line-height:1.5}
.guide-reader .sdk-form-actions {display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;grid-column:1/-1}
.guide-reader .sdk-btn {font-size:.85rem;font-weight:650;border-radius:.35rem;padding:.65rem .9rem;border:1px solid #afc7b7;background:#fff;color:var(--accent);box-shadow:none;line-height:1.4}
.guide-reader .sdk-btn-primary {background:var(--accent);border-color:var(--accent);color:#fff}
.guide-reader .sdk-form-status:empty,.guide-reader .sdk-table-toolbar:empty {display:none}
.guide-reader .lab output {display:block;white-space:pre-wrap;overflow-wrap:break-word;min-height:3rem;background:#e7f0e9;padding:1rem;color:#234b39;border-radius:.35rem;font-size:.95rem;margin:1rem 0 0}
.guide-reader .lab output[data-state=error] {background:#fff0e6;color:#8d3320;border:1px solid #e9bc9e}
.guide-reader .lab output[data-state=empty] {background:transparent;color:var(--muted);padding:.6rem 0;font-size:.85rem}
.guide-reader .lab-history {background:transparent;font-size:.8rem;margin-top:1rem}
.guide-reader table {display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}
.guide-reader :is(th,td) {border:1px solid var(--line);padding:.65rem .8rem;text-align:var(--text-align-reading, start);vertical-align:top}
.guide-reader th {background:#edf3ee;font-weight:650;color:#304d3a}
.guide-reader caption {text-align:var(--text-align-reading, start);font-size:.8rem;color:var(--muted);padding:.4rem 0 .65rem}
.guide-reader tr:nth-child(even) td {background:#fafcf9}
.guide-reader code {font-family:Consolas,"Cascadia Code",monospace;font-size:.9em}
.guide-reader p > code,.guide-reader li > code {background:#eef3ee;padding:.12rem .3rem;border-radius:.2rem;color:#31543f;overflow-wrap:anywhere}
.guide-reader pre {max-width:100%;overflow-x:auto;white-space:pre;word-break:normal}
.guide-reader pre code {white-space:pre;word-break:normal}
.guide-reader .db-code {margin:1.5rem 0;max-width:100%;font-size:.85rem}
.guide-reader .db-code :is(button,input) {min-height:1.8rem}
.guide-reader .status {font-size:.75rem;color:var(--muted);margin:.15rem .25rem .8rem;padding:0;border:0;background:transparent}
.guide-reader .status p {margin:.2rem 0}
.guide-reader .status button {padding:.4rem .8rem;border:1px solid var(--line);border-radius:.3rem;background:#fff;color:var(--accent)}
.guide-reader .loading-skeleton {height:.6rem;width:min(100%,26rem);background:linear-gradient(90deg,#dce8df,#f5faf5,#dce8df);background-size:200%;animation:guide-loading 1.5s ease-in-out infinite;border-radius:.3rem}
.guide-reader .grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem}
.guide-reader .sena-dossier-sheet {font-family:"Segoe UI",system-ui,sans-serif;padding:clamp(.8rem,2vw,1.5rem);border:1px solid var(--line);border-radius:.4rem;background:#fff}
.guide-reader .sena-dossier-sheet .dossier-header {padding:0;background:#fff;color:var(--ink)}
.guide-reader .sena-dossier-sheet .dossier-section {padding:0;margin:1.5rem 0;border:0;background:transparent}
.guide-reader .sena-dossier-sheet h2 {font-size:1.1rem}
.guide-reader .sena-dossier-sheet table {font-size:.8rem}
.guide-reader .evidence-form-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))!important}
.guide-reader .dbe-dossier input {font-family:inherit}
.guide-reader dt {font-weight:700;margin-top:1rem}
.guide-reader dd {margin-left:0;color:var(--muted)}
.guide-reader [id] {scroll-margin-top:calc(var(--header-height) + 1.2rem)}
.guide-reader select {padding:.7rem;border:1px solid #adc3b4;border-radius:.35rem;background:#fff;color:var(--ink);width:100%;line-height:1.5}
.guide-concept {margin:1.8rem 0;padding:1.1rem;background:#f2f7f3;border:1px solid var(--line);border-radius:.4rem}
.guide-concept figcaption {font-size:.9rem;font-weight:700;margin:0 0 1rem}
.guide-concept-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.8rem}
.guide-concept-card {padding:1rem;background:#fff;border:1px solid var(--line);border-radius:.3rem;min-width:0}
.guide-concept-card strong {font-size:.8rem;color:var(--accent);display:block}
.guide-concept-card code {display:block;margin:.7rem 0;font-size:.8rem;overflow-wrap:anywhere}
.guide-concept-card p {font-size:.85rem;margin:.5rem 0 0}
.guide-pager {display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:1rem 0 2rem}
.guide-pager button {flex:1 1 12rem;border:1px solid #b9cbbd;border-radius:.4rem;padding:.8rem 1rem;background:#fff;color:var(--accent);font-size:.85rem;text-align:left;line-height:1.5}
.guide-pager button:last-child {text-align:right;background:var(--accent);color:#fff;border-color:var(--accent)}
.guide-pager button:disabled {opacity:.5;cursor:default;background:#edf2ed;color:#53675b}
.guide-reader > footer {padding:.5rem 1rem 1.5rem;text-align:center;font-size:.75rem;color:var(--muted)}
@media(max-width:63.99rem) {
  .guide-reader.reader-ready .guide-sidebar {display:none}
  .guide-reader.reader-ready[data-reader-menu-state=open] .guide-sidebar {display:block;position:fixed;z-index:25;top:calc(var(--header-height) + .5rem);left:1rem;right:1rem;bottom:auto;height:calc(100dvh - var(--header-height) - 1.5rem);max-height:calc(100dvh - var(--header-height) - 1.5rem);align-self:auto;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 .5rem 2rem #203b3526}
  .guide-topbar .phase-label {display:none}
  .guide-menu {margin-left:auto}
}
@media(max-width:22.5rem) {.guide-brand small {display:none}}
@media(min-width:64rem) {
  .guide-reader .layout {grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
  .guide-sidebar {position:sticky;top:calc(var(--header-height) + 1rem);max-height:calc(100dvh - var(--header-height) - 2rem);overflow-y:auto;border:0;background:transparent;padding:.5rem 0 1rem}
  .guide-breadcrumb {display:block}
  .guide-menu {display:none}
}
@media(min-width:120rem) {.guide-reader .layout {max-width:100%;gap:clamp(2.5rem,4vw,5rem)}.guide-reader main {max-width:100%}}
@media(min-width:160rem) {.guide-reader .layout {max-width:100%}.guide-reader main > section {padding:clamp(2.5rem,3vw,4rem)}}
@keyframes guide-loading {to{background-position:-200%}}
@media(prefers-reduced-motion:reduce) {.guide-reader * {scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print {
  .guide-reader.reader-ready main > section {display:block!important}
  .guide-reader .guide-evidence {display:block}
  .guide-topbar,.guide-sidebar,.guide-pager,.guide-reader .status,.guide-reader .lab {display:none!important}
  .guide-reader .layout {display:block;padding:0}
  .guide-reader main > section {padding:1rem;border:0;break-inside:auto}
}

/* devbrain-prose-contract:start */
/* Contrato 7.4: cada región ocupa su espacio y conserva sus controles. */
:where(p, dd, blockquote) {
    --text-align-reading: start;
    box-sizing: border-box;
    inline-size: 100%;
    max-inline-size: 100%;
    min-inline-size: 0;
    text-align: var(--text-align-reading);
    text-align-last: start;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
    -webkit-hyphens: none;
}
:where(dd, blockquote) { margin-inline: 0; }
/* devbrain-prose-contract:end */
