/* Public editorial site; tools and owner workspace remain private. */
.private-public{--paper:#f3f5f2;--white:#fff;--ink:#132329;--muted:#50646a;--line:#cbd7d3;--wine:#31565d;--wine-dark:#23464b;--tint:#e2ebe7;background:#f3f5f2;color:#132329;min-height:100vh}
.private-public .topline{display:none}
.private-public .site-header{background:#f3f5f2}
.private-public .site-header .brand-mark{border-color:#31565d;color:#31565d}
.private-public .brand small{color:#31565d}
.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:#142730;color:#fff;padding:11px 16px;border-radius:4px}
.private-public .site-footer a[href="/portales"]{font-weight:700;color:#e9cc90}
.private-public .closing{background:#e2ebe7}
.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:#101b22;color:#f4f0e7}
.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:#e9cc90}
.preview-mark span{font-size:12px;letter-spacing:.04em;color:#aab8bb;font-weight:500}
.preview h1{font:500 clamp(58px,8vw,112px)/.96 'Newsreader',serif;letter-spacing:-.025em;margin:clamp(72px,10vw,140px) 0 34px;max-width:1000px;text-wrap:balance}
.preview h1 em{font-style:normal;color:#c9e0da}
.preview p{max-width:650px;color:#c7d2d1;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:#aab8bb;font-size:13px}
.preview-quiet{color:#d6e8e2;text-underline-offset:5px;font-weight:700;text-decoration:none}.preview-quiet:hover{text-decoration:underline}
.preview-status{font-size:13px!important;color:#aab8bb!important;margin-top:40px!important}
.preview-login{min-height:48px;display:inline-flex;align-items:center;padding:12px 22px;background:#e9cc90;color:#101b22;text-decoration:none;font-weight:700;border-radius:4px}
.preview-login:hover{background:#f9e4bb}
.preview-rail{display:flex;gap:30px;justify-content:space-between;border-top:1px solid #ffffff30;padding:21px max(32px,calc((100vw - 1180px)/2));color:#aab8bb;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:#50646a;font-size:17px;line-height:1.65;max-width:650px;margin:0}
.public-links{border-top:1px solid #bbc9c4}.public-links a{display:flex;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid #bbc9c4;text-decoration:none;align-items:baseline}.public-links strong{font-size:17px}.public-links span{color:#31565d;font-size:13px;white-space:nowrap}.public-links a:hover strong{text-decoration:underline;text-underline-offset:4px}
.public-team{display:block;background:#e2ebe7}.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:#1f5b57;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:#f6f7f4;color:#132329}
.private-access-side{background:#142730;color:#f4f0e7;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:#c7d2d1;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:#31565d;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:#fff;min-height:52px}
.private-owner{background:#f3f5f2;color:#132329}
.private-owner .topline{background:#142730;color:#c7d2d1;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:#31565d;color:#31565d}
.private-owner .brand small{color:#31565d}
.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:#31565d;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:#50646a;font-size:17px;line-height:1.55;margin:0}
.workspace-badge,.workspace-case-state{display:inline-block;padding:8px 12px;background:#deebe6;color:#244d47;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 #cbd7d3;border-bottom:1px solid #cbd7d3;margin:58px 0 38px}
.workspace-summary>div{padding:22px 24px;border-right:1px solid #cbd7d3;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:#50646a;font-size:13px}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr);gap:24px}
.workspace-panel{background:#fff;padding:32px;border-radius:8px;box-shadow:0 12px 34px #1427300c}
.workspace-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;border-bottom:1px solid #dce4e0;padding-bottom:22px}
.workspace-panel h2{font:500 34px/1.1 'Newsreader',serif;margin:0}
.workspace-panel-head span{font-size:12px;color:#63777b}
.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:#50646a;line-height:1.6;margin:0}
.workspace-cta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #dce4e0;padding:20px 0 0;text-decoration:none;font-weight:700;color:#1f5b57}
.workspace-tools>a{display:flex;flex-direction:column;gap:6px;padding:21px 0;text-decoration:none;border-bottom:1px solid #dce4e0}
.workspace-tools>a strong{font-size:16px}.workspace-tools>a span,.workspace-deferred span{font-size:13px;color:#50646a}
.workspace-deferred{padding:22px 0 0;display:flex;flex-direction:column;gap:7px}
.workspace-deferred strong{color:#617276;font-size:14px}
.workspace-case{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid #dce4e0}
.workspace-case h3{font:500 25px/1.1 'Newsreader',serif;margin:10px 0 5px}.workspace-case p{font-size:13px;color:#50646a;margin:0}.workspace-case a{font-size:13px;font-weight:700;color:#1f5b57;white-space:nowrap}
.workspace-form-page{max-width:840px!important}.workspace-back{display:inline-block;margin-bottom:54px;color:#31565d;text-decoration:none;font-weight:700;font-size:14px}
.workspace-form{background:#fff;border-radius:8px;padding:clamp(24px,4vw,48px);margin-top:38px;box-shadow:0 12px 34px #1427300c}
.workspace-form .field label{font-size:14px}.workspace-form .field input,.workspace-form .field select,.workspace-form .field textarea{border-radius:4px;background:#fff;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 #d3a64d;outline-offset:3px}
.private-public ::selection{background:#e9cc90;color:#101b22}.private-owner ::selection{background:#c9e0da;color:#132329}
@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(43px,12vw,64px);margin:90px 0 26px;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:#f3f5f2}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0;background:#cbd7d3;border:1px solid #cbd7d3}.portal-card{display:flex;min-height:285px;flex-direction:column;padding:clamp(25px,4vw,46px);background:#fff;color:#132329;text-decoration:none;transition:background .2s ease,color .2s ease}.portal-card:hover,.portal-card:focus-visible{background:#142730;color:#fff}.portal-card>span{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#31565d}.portal-card:hover>span,.portal-card:focus-visible>span{color:#c9e0da}.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:#50646a;font-size:14px;line-height:1.58;margin:0}.portal-card:hover p,.portal-card:focus-visible p{color:#d3e0dc}.portal-card strong{margin-top:auto;padding-top:26px;font-size:13px}.portal-card-consumo{grid-column:1/-1;min-height:210px;background:#e2ebe7}.portal-boundary{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr);gap:50px;border-top:1px solid #cbd7d3}.portal-boundary h2{font:500 34px/1.05 'Newsreader',serif;margin:0}.portal-boundary p{max-width:68ch;margin:0;color:#50646a;line-height:1.65}.portal-back{color:#c9e0da;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 #dce4e0}
.workspace-flow li::before{content:counter(flow);grid-row:span 2;display:grid;place-items:center;width:26px;height:26px;background:#e2ebe7;color:#244d47;font-size:12px;font-weight:700}
.workspace-flow strong{font-size:14px}.workspace-flow span{font-size:13px;line-height:1.45;color:#50646a;margin-top:3px}
.scenario-ledger{margin:52px 0 0;border-top:2px solid #142730}
.scenario-ledger-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid #cbd7d3}
.scenario-ledger-head h2{font:500 31px/1.1 'Newsreader',serif;margin:0}.scenario-ledger-head span{font-size:12px;color:#50646a;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 #dce4e0}.scenario-history span{font-size:11px;color:#50646a;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:#50646a;margin:0}.scenario-history p strong{font-variant-numeric:tabular-nums;color:#132329}.scenario-history a{font-size:13px;font-weight:700;color:#1f5b57;text-decoration:none}.scenario-history a:hover{text-decoration:underline;text-underline-offset:4px}
.scenario-empty{background:#eaf0ed;padding:24px;margin-top:18px}.scenario-empty strong{font-size:15px}.scenario-empty p{color:#50646a;font-size:13px;line-height:1.55;margin:7px 0 0}.scenario-save{margin-top:26px;padding-top:24px;border-top:1px solid #b8c8c1}.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}}
