/* Public editorial site; tools and owner workspace remain private. */
.private-public{background:var(--paper);color:var(--ink);min-height:100vh}
.private-public .topline{display:none}
.private-public .site-header{background:var(--paper)}
.private-public .site-header .brand-mark{border-color:var(--accent);color:var(--accent)}
.private-public .brand small{color:var(--accent)}
.private-public .main-nav a[href="/simulador"],.private-public .main-nav a[href="/consumo"],.private-public .main-nav a[href="/originacion"],.private-public .site-footer a[href="/simulador"],.private-public .site-footer a[href="/consumo"],.private-public .site-footer a[href="/originacion"]{display:none}
.private-public .nav-account{background:transparent;color:var(--accent);border:1px solid var(--accent);padding:10px 16px;border-radius:6px}
.private-public .site-footer a[href="/portales"]{font-weight:700;color:var(--hero-accent)}
.private-public .closing{background:var(--tint)}
.private-public #main{min-height:70vh}
.private-login .site-header,.private-login .site-footer{display:none}
.private-login #main{min-height:100vh}
.private-public .preview{min-height:calc(100vh - 82px);display:grid;grid-template-rows:1fr auto;background:var(--inverse);color:var(--on-inverse)}
.preview-inner{width:min(1180px,calc(100% - 64px));margin:auto;padding:56px 0 80px}
.preview-mark{font:700 17px/1.2 'DM Sans',sans-serif;letter-spacing:.18em;color:var(--hero-accent)}
.preview-mark span{font-size:12px;letter-spacing:.04em;color:var(--on-inverse-muted);font-weight:500}
.preview h1{font:500 clamp(44px,5.6vw,80px)/1 'Newsreader',serif;letter-spacing:-.025em;margin:clamp(24px,4vw,56px) 0 30px;max-width:1040px;text-wrap:balance}
.preview h1 em{font-style:normal;color:var(--hero-accent)}
.preview p{max-width:650px;color:var(--on-inverse-muted);font-size:clamp(17px,2vw,21px);line-height:1.65;margin:0}
.preview-actions{display:flex;gap:30px;align-items:center;margin-top:54px;flex-wrap:wrap}
.preview-actions span{color:var(--on-inverse-muted);font-size:13px}
.preview-quiet{color:var(--on-inverse);text-underline-offset:5px;font-weight:700;text-decoration:none}.preview-quiet:hover{text-decoration:underline}
.preview-status{font-size:13px!important;color:var(--on-inverse-muted)!important;margin-top:40px!important}
.preview-login{min-height:48px;display:inline-flex;align-items:center;padding:12px 22px;background:var(--accent-bg);color:var(--on-accent);text-decoration:none;font-weight:700;border-radius:4px}
.preview-login:hover{background:var(--accent-bg-hover)}
.preview-rail{display:flex;gap:30px;justify-content:space-between;border-top:1px solid var(--rule);padding:21px max(32px,calc((100vw - 1180px)/2));color:var(--on-inverse-muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.public-section{padding:88px 0;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(36px,7vw,110px);align-items:start}
.public-section h2{font:500 clamp(39px,4vw,64px)/1 'Newsreader',serif;letter-spacing:-.025em;margin:0 0 20px;max-width:650px}
.public-section p{color:var(--muted);font-size:17px;line-height:1.65;max-width:650px;margin:0}
.public-links{border-top:1px solid var(--line-strong)}.public-links a{display:flex;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--line-strong);text-decoration:none;align-items:baseline}.public-links strong{font-size:17px}.public-links span{color:var(--accent);font-size:13px;white-space:nowrap}.public-links a:hover strong{text-decoration:underline;text-underline-offset:4px}
.public-team{display:block;background:var(--tint)}.public-team-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.5fr);gap:60px;align-items:center}.public-team p{margin-bottom:24px}.public-team a{color:var(--accent);font-weight:700;text-underline-offset:5px}.public-team img{width:min(100%,320px);height:auto;aspect-ratio:1;object-fit:cover;filter:grayscale(100%)}
.private-access{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);color:var(--ink)}
.private-access-side{background:var(--burgundy);color:var(--on-burgundy);padding:clamp(36px,7vw,100px);display:flex;flex-direction:column;justify-content:space-between}
.private-access-side h1{font:500 clamp(54px,6vw,92px)/.97 'Newsreader',serif;letter-spacing:-.025em;margin:auto 0 24px;max-width:550px}
.private-access-side p{max-width:430px;color:var(--on-inverse-muted);font-size:17px;line-height:1.6}
.private-access-form{padding:clamp(36px,7vw,100px);display:flex;flex-direction:column;justify-content:center}
.private-access-form>a{align-self:flex-start;color:var(--accent);font-size:14px;text-decoration:none;margin-bottom:70px}
.private-access-form h2{font:500 54px/1 'Newsreader',serif;margin:0 0 30px}
.private-access-form form{max-width:430px;width:100%}
.private-access-form .field label{font-size:15px}
.private-access-form .field input{border-radius:5px;background:var(--white);min-height:52px}
.private-owner{background:var(--paper);color:var(--ink)}
.private-owner .topline{background:var(--burgundy);color:var(--on-burgundy);font-size:12px}
.private-owner .site-header{width:min(1440px,calc(100% - 56px))}
.private-owner .site-footer{display:none}
.private-owner .brand-mark{border-color:var(--accent);color:var(--accent)}
.private-owner .brand small{color:var(--accent)}
.private-owner .main-nav{gap:17px}
.private-owner .main-nav>a{font-size:12px}
.private-owner .main-nav .nav-action{display:none}
.private-owner .workspace{width:min(1320px,calc(100% - 56px));margin:0 auto;padding:64px 0 100px;min-height:75vh}
.workspace-intro{display:flex;justify-content:space-between;gap:36px;align-items:start}
.workspace-overline{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 22px}
.workspace h1{font:500 clamp(52px,5vw,82px)/.95 'Newsreader',serif;letter-spacing:-.025em;margin:0 0 20px}
.workspace-intro p:not(.workspace-overline),.workspace-form-page>p{max-width:650px;color:var(--muted);font-size:17px;line-height:1.55;margin:0}
.workspace-badge,.workspace-case-state{display:inline-block;padding:8px 12px;background:var(--accent-tint);color:var(--accent);border-radius:3px;font-size:12px;font-weight:700;white-space:nowrap}
.workspace-summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:58px 0 38px}
.workspace-summary>div{padding:22px 24px;border-right:1px solid var(--line);display:flex;align-items:baseline;gap:15px}
.workspace-summary>div:first-child{padding-left:0}.workspace-summary>div:last-child{border:0}
.workspace-summary strong{font:500 42px/1 'Newsreader',serif;font-variant-numeric:tabular-nums}
.workspace-summary span{color:var(--muted);font-size:13px}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr);gap:24px}
.workspace-panel{background:var(--white);padding:32px;border-radius:8px;box-shadow:0 12px 34px var(--shadow)}
.workspace-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:22px}
.workspace-panel h2{font:500 34px/1.1 'Newsreader',serif;margin:0}
.workspace-panel-head span{font-size:12px;color:var(--muted)}
.workspace-empty{padding:58px 0}
.workspace-empty h3{font:500 30px/1.1 'Newsreader',serif;margin:0 0 8px}
.workspace-empty p{max-width:480px;color:var(--muted);line-height:1.6;margin:0}
.workspace-cta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0 0;text-decoration:none;font-weight:700;color:var(--accent)}
.workspace-tools>a{display:flex;flex-direction:column;gap:6px;padding:21px 0;text-decoration:none;border-bottom:1px solid var(--line)}
.workspace-tools>a strong{font-size:16px}.workspace-tools>a span,.workspace-deferred span{font-size:13px;color:var(--muted)}
.workspace-deferred{padding:22px 0 0;display:flex;flex-direction:column;gap:7px}
.workspace-deferred strong{color:var(--muted);font-size:14px}
.workspace-case{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.workspace-case h3{font:500 25px/1.1 'Newsreader',serif;margin:10px 0 5px}.workspace-case p{font-size:13px;color:var(--muted);margin:0}.workspace-case a{font-size:13px;font-weight:700;color:var(--accent);white-space:nowrap}
.workspace-form-page{max-width:840px!important}.workspace-back{display:inline-block;margin-bottom:54px;color:var(--accent);text-decoration:none;font-weight:700;font-size:14px}
.workspace-form{background:var(--white);border-radius:8px;padding:clamp(24px,4vw,48px);margin-top:38px;box-shadow:0 12px 34px var(--shadow)}
.workspace-form .field label{font-size:14px}.workspace-form .field input,.workspace-form .field select,.workspace-form .field textarea{border-radius:4px;background:var(--white);min-height:52px}
.workspace-form .field textarea{min-height:160px}.workspace-case-links{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.workspace-footnote{font-size:13px!important;margin-top:25px!important}
.private-owner a:focus-visible,.private-public a:focus-visible,.private-owner button:focus-visible,.private-public button:focus-visible,.private-owner input:focus-visible,.private-public input:focus-visible,.private-owner select:focus-visible,.private-owner textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.private-public ::selection{background:var(--accent-bg);color:var(--on-accent)}.private-owner ::selection{background:var(--accent-bg);color:var(--on-accent)}
@media(max-width:900px){.workspace-grid{grid-template-columns:1fr}.private-access{grid-template-columns:1fr}.private-access-side{min-height:320px}.private-access-side h1{margin:50px 0 15px}.private-access-form>a{margin-bottom:36px}}
@media(min-width:821px) and (max-width:1160px){.private-public .main-nav{top:82px}}
@media(max-width:820px){.private-public .main-nav{top:70px}.public-section,.public-team-grid{grid-template-columns:1fr;gap:30px}.public-section{padding:64px 0}.public-team img{max-width:260px}}
@media(max-width:600px){.preview-inner{width:calc(100% - 36px);padding:36px 0 50px}.preview h1{font-size:clamp(36px,9vw,52px);margin:24px 0 22px;overflow-wrap:anywhere}.preview-rail{padding:19px 18px;gap:10px;font-size:9px}.private-owner .workspace{width:calc(100% - 32px);padding:42px 0 70px}.workspace-intro{display:block}.workspace-badge{margin-top:24px}.workspace-summary{margin:36px 0 22px}.workspace-summary>div{display:block;padding:16px 9px}.workspace-summary strong{display:block;font-size:34px}.workspace-summary span{display:block;margin-top:5px;font-size:11px}.workspace-panel{padding:22px}.workspace-panel-head{display:block}.workspace-panel-head span{display:block;margin-top:7px}.workspace-case{display:block}.workspace-case a{display:inline-block;margin-top:12px}.private-access-side,.private-access-form{padding:32px 24px}.private-owner .app-content{padding:32px 16px}.private-owner .site-header{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){.preview-login,.workspace-cta{transition:none}}

/* Directorio de portales: un rol, una puerta y un límite verificable. */
.portal-directory .page-hero{background:var(--paper)}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0;background:var(--line);border:1px solid var(--line)}.portal-card{display:flex;min-height:285px;flex-direction:column;padding:clamp(25px,4vw,46px);background:var(--white);color:var(--ink);text-decoration:none;transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.portal-card:hover,.portal-card:focus-visible{background:var(--inverse);color:var(--on-inverse)}.portal-card>span{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--accent)}.portal-card:hover>span,.portal-card:focus-visible>span{color:var(--accent-bg)}.portal-card h2{font:500 clamp(30px,3.2vw,46px)/1.02 'Newsreader',serif;letter-spacing:-.025em;margin:22px 0 14px}.portal-card p{max-width:42ch;color:var(--muted);font-size:14px;line-height:1.58;margin:0}.portal-card:hover p,.portal-card:focus-visible p{color:var(--on-inverse-muted)}.portal-card strong{margin-top:auto;padding-top:26px;font-size:13px}.portal-card-consumo{grid-column:1/-1;min-height:210px;background:var(--tint)}.portal-boundary{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr);gap:50px;border-top:1px solid var(--line)}.portal-boundary h2{font:500 34px/1.05 'Newsreader',serif;margin:0}.portal-boundary p{max-width:68ch;margin:0;color:var(--muted);line-height:1.65}.portal-back{color:var(--accent-bg);text-underline-offset:4px;font-size:13px;font-weight:700}.private-access-side .portal-back{margin-top:32px}
@media(max-width:700px){.portal-grid{grid-template-columns:1fr}.portal-card,.portal-card-consumo{grid-column:auto;min-height:220px}.portal-boundary{grid-template-columns:1fr;gap:16px}.portal-boundary h2{font-size:30px}}

/* Espacio de trabajo: expediente, corridas y decisión. */
.workspace-summary{grid-template-columns:repeat(4,1fr)}
.workspace-flow{list-style:none;margin:26px 0 0;padding:0;counter-reset:flow}
.workspace-flow li{counter-increment:flow;display:grid;grid-template-columns:34px 1fr;gap:0 12px;padding:16px 0;border-top:1px solid var(--line)}
.workspace-flow li::before{content:counter(flow);grid-row:span 2;display:grid;place-items:center;width:26px;height:26px;background:var(--tint);color:var(--accent);font-size:12px;font-weight:700}
.workspace-flow strong{font-size:14px}.workspace-flow span{font-size:13px;line-height:1.45;color:var(--muted);margin-top:3px}
.scenario-ledger{margin:52px 0 0;border-top:2px solid var(--ink)}
.scenario-ledger-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.scenario-ledger-head h2{font:500 31px/1.1 'Newsreader',serif;margin:0}.scenario-ledger-head span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.scenario-history article{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:21px 0;border-bottom:1px solid var(--line)}.scenario-history span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.scenario-history h3{font:500 23px/1.1 'Newsreader',serif;margin:7px 0}.scenario-history p{font-size:13px;color:var(--muted);margin:0}.scenario-history p strong{font-variant-numeric:tabular-nums;color:var(--ink)}.scenario-history a{font-size:13px;font-weight:700;color:var(--accent);text-decoration:none}.scenario-history a:hover{text-decoration:underline;text-underline-offset:4px}
.scenario-empty{background:var(--tint);padding:24px;margin-top:18px}.scenario-empty strong{font-size:15px}.scenario-empty p{color:var(--muted);font-size:13px;line-height:1.55;margin:7px 0 0}.scenario-save{margin-top:26px;padding-top:24px;border-top:1px solid var(--line-strong)}.scenario-save .field{margin-bottom:12px}.scenario-save .field input{min-height:48px}.scenario-save .button{min-height:46px}
@media(max-width:700px){.workspace-summary{grid-template-columns:1fr 1fr}.workspace-summary>div{padding:16px 10px}.workspace-summary>div:nth-child(2){border-right:0}.workspace-summary>div:nth-child(3){padding-left:0}.scenario-history article{align-items:flex-start;flex-direction:column;gap:10px}.scenario-ledger-head h2{font-size:27px}}
.preview-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--hero-accent);margin:28px 0 18px!important}.segment-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(234,234,234,.16);border-radius:6px;margin-bottom:34px;flex-wrap:wrap}.segment-switch button{border:0;background:transparent;color:var(--on-inverse-muted);font-size:13px;font-weight:600;padding:10px 16px;border-radius:4px;min-height:44px}.segment-switch button[aria-selected=true]{background:var(--accent-bg);color:var(--on-accent)}.segment-switch button:focus-visible{outline:2px solid var(--accent-bg);outline-offset:2px}.preview-badge{margin-top:34px!important;font-size:13px!important}.preview-badge a{color:var(--hero-accent);text-underline-offset:4px}.public-more{display:inline-block;margin-top:22px;color:var(--accent);font-weight:700;text-underline-offset:5px}.operation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.operation-grid article{background:var(--white);padding:28px}.operation-grid span{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--accent)}.operation-grid h3{font:500 25px/1.15 var(--serif);margin:10px 0 12px}.operation-grid p{font-size:14px!important;line-height:1.6!important}.public-tech{display:block;background:var(--tint)}.public-tech-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(36px,7vw,110px)}.public-tech p+p{margin-top:16px}.public-overline{display:block;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}@media(max-width:820px){.operation-grid,.public-tech-grid{grid-template-columns:1fr}}.preview-shadow{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 22px;border:1px solid var(--hero-accent);border-radius:4px;color:var(--hero-accent);font-weight:700;text-decoration:none}.preview-shadow:hover,.preview-shadow:focus-visible{background:var(--accent-bg);color:var(--on-accent)}.preview-nota{max-width:640px;margin-top:22px!important;padding-left:14px;border-left:1px solid var(--accent-bg);font-size:14px!important;color:var(--on-inverse-muted)!important}.preview-nota strong{color:var(--on-inverse)}/* Portada: composición Apple × Kowalski. Titular grande, un solo gesto de movimiento, controles con respuesta inmediata. */
.preview-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,96px);align-items:center;padding:clamp(56px,9vw,128px) 0 clamp(64px,9vw,120px)}
.preview h1{font-size:clamp(48px,6.4vw,92px);letter-spacing:-.03em;line-height:.98;margin:0 0 28px}
.preview-login,.preview-shadow{border-radius:980px;min-height:48px;padding:12px 24px;transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),transform var(--t-press) var(--ease-out)}
.preview-login:active,.preview-shadow:active{transform:scale(.97)}
.preview-actions{gap:14px;margin-top:40px}
.ladder{margin:0;padding:clamp(20px,3vw,32px);background:var(--white);border:1px solid var(--line);border-radius:20px}
.ladder svg{display:block;width:100%;height:auto;overflow:visible}
.ladder rect{fill:var(--accent-tint);stroke:var(--accent);stroke-width:1.2}
.ladder .ladder-step:last-of-type rect{fill:var(--accent)}
.ladder text{fill:var(--ink);font:600 12px var(--mono);font-variant-numeric:tabular-nums}
.ladder-base{stroke:var(--line-strong);stroke-width:1.2;fill:none}
.ladder figcaption{margin-top:16px;font-size:13px;line-height:1.5;color:var(--muted)}
@media(prefers-reduced-motion:no-preference){.ladder-step{animation:ladder-in 520ms var(--ease-out) both;animation-delay:calc(var(--i)*60ms + 120ms)}@keyframes ladder-in{from{opacity:0;transform:translateY(10px)}}}
@media(max-width:860px){.preview-inner{grid-template-columns:1fr}}
