:root{--green:#173d40;--muted:#657871;--line:#dce5df;--bg:#f5f8f5}*{box-sizing:border-box}body{margin:0;font-family:'Segoe UI',Arial,sans-serif;font-size:21px;line-height:1.5;color:var(--green);background:var(--bg)}a{color:inherit}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px max(5vw,24px);background:#fff;border-bottom:1px solid var(--line)}header>a:last-child{font-size:18px}.brand{display:block;width:160px;height:78px;overflow:hidden;position:relative}.brand img{position:absolute;width:209px;left:-26px;top:-68px}main{max-width:1350px;margin:auto;padding:42px 32px}.entry{max-width:1100px;padding-top:64px}h1{font-size:44px;line-height:1.15;margin:14px 0 24px}h2{font-size:29px;line-height:1.3;margin:18px 0}.eyebrow{font-size:16px;letter-spacing:2px}.lead{font-size:24px;max-width:760px;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px;display:flex;flex-direction:column;align-items:flex-start}.card p{margin:10px 0 16px}.muted,.meta{color:var(--muted);font-size:18px}.tag{font-size:16px;background:#e7f2ec;color:#316951;border-radius:5px;padding:6px 10px}.button{display:inline-block;margin-top:18px;border:0;border-radius:6px;background:var(--green);color:#fff;padding:12px 22px;text-decoration:none;font-size:20px}.button.secondary{background:#fff;color:var(--green);border:1px solid var(--line)}footer{max-width:1350px;margin:30px auto;padding:24px 32px;color:var(--muted);font-size:17px;border-top:1px solid var(--line)}.toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin:24px 0}.toolbar label{display:block;font-size:17px}.toolbar select{font:inherit;padding:9px;background:#fff;border:1px solid var(--line);border-radius:5px}.toolbar .button{margin:0}.notice{padding:18px 22px;background:#fff6e5;border:1px solid #efdab0;border-radius:8px;font-size:19px}.summary{display:flex;gap:36px;flex-wrap:wrap;border-block:1px solid var(--line);padding:24px 0;margin:28px 0}.summary strong{display:block;font-size:36px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;text-align:left;font-size:19px}th,td{padding:18px 20px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600;background:#eff4f0}td small{display:block;margin-top:7px;color:var(--muted);font-size:16px}td .tag{display:inline-block}.balance{font-size:17px;min-width:1250px}.balance th,.balance td{padding:12px}.balance td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.balance tfoot{background:#eef5ef;font-weight:600}.balance th:first-child{min-width:270px}.return{font-size:19px}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #c99950;outline-offset:4px}@media(max-width:750px){body{font-size:20px}header{padding:16px}.brand{width:125px}.entry,main{padding:32px 18px}h1{font-size:35px}.lead{font-size:22px}.cards{grid-template-columns:1fr;gap:20px}.card{padding:24px}.summary{gap:24px}.table-wrap{border-radius:6px}}@media print{header,footer,.toolbar,.return,.button{display:none}body{background:white;color:#111;font-size:10pt}main{padding:0;max-width:none}h1{font-size:20pt}.table-wrap{overflow:visible;border:0}.balance{min-width:0;font-size:8pt}.balance th:first-child{min-width:0}.balance th,.balance td{padding:4px}th{background:#eee}tr{break-inside:avoid}@page{size:A4 landscape;margin:10mm}}

.auth-form{max-width:540px;display:grid;gap:10px;background:white;padding:28px;border:1px solid var(--line);border-radius:10px}.auth-form label{margin-top:10px;font-size:20px}.auth-form input:not([type=hidden]){width:100%;font:inherit;padding:12px;border:1px solid #9aac9f;border-radius:6px}.auth-form .button{justify-self:start}.session-exit{text-align:right}@media print{.session-exit{display:none}}

.company-nav{display:flex;flex-wrap:wrap;column-gap:1.5rem;row-gap:.75rem;margin-bottom:1.5rem}@media print{.company-nav{display:none}}

.company-identity{display:flex;align-items:center;gap:16px;min-width:260px}.company-identity>div{min-width:0}.company-logo{display:flex;align-items:center;justify-content:center;width:96px;height:64px;flex:0 0 96px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative}.company-logo>img{width:100%;height:100%;object-fit:contain;padding:4px}.company-logo--nt>img{position:absolute;width:126px;height:auto;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);padding:0}.company-logo--initials{font-size:22px;font-weight:600;background:#edf4ef;color:#63857a}.company-heading{display:flex;align-items:center;gap:24px;margin:24px 0}.company-heading h1{margin:0 0 10px}.company-heading .meta{margin:0}.company-heading .company-logo{width:132px;height:88px;flex-basis:132px}.company-heading .company-logo--nt>img{width:172px}.balance th:nth-child(n+2){text-align:right}@media(max-width:750px){.company-identity{gap:12px;min-width:220px}.company-logo{width:80px;height:56px;flex-basis:80px}.company-logo--nt>img{width:108px}.company-heading{gap:16px}.company-heading .company-logo{width:96px;height:64px;flex-basis:96px}.company-heading .company-logo--nt>img{width:126px}}@media print{.company-heading{margin:0 0 12px;gap:12px}.company-heading .company-logo{width:80px;height:54px;flex-basis:80px}.company-heading .company-logo--nt>img{width:106px}}

/* Claridad ejecutiva: shared brand and portfolio presentation. */
.portal-claridad{--green:#173d40;--muted:#52666a;--line:#d8e1e1;--bg:#f3f6f6}
.portal-claridad .portal-header{padding:18px max(4vw,24px)}
.portal-claridad h1{letter-spacing:-.7px}
.portal-claridad button,.portal-claridad .button,.portal-claridad select{min-height:44px}
.portal-claridad a:focus-visible,.portal-claridad button:focus-visible,.portal-claridad select:focus-visible,.portal-claridad input:focus-visible,.portal-claridad summary:focus-visible{outline:3px solid #a6500a;outline-offset:4px}
.portal-skip-link{position:absolute;left:16px;top:12px;z-index:20;background:#173d40;color:#fff;padding:12px 20px;transform:translateY(-180%)}
.portal-skip-link:focus{transform:none}
.portfolio-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.portfolio-controls .eyebrow{margin:0;font-size:16px;color:var(--muted);letter-spacing:1.5px}
.portfolio-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.portfolio-actions form{margin:0}
.portfolio-actions .button{margin:0;font-size:20px}
.portal-claridad:not(.client-preview) .summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;border:0;padding:0;margin:30px 0}
.portal-claridad:not(.client-preview) .summary>div{padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0}
.portal-claridad:not(.client-preview) .summary>div:nth-child(2){border-top:3px solid #dd791a;padding-top:22px}
.portal-claridad:not(.client-preview) .summary span{font-size:20px;color:var(--muted)}
.portal-claridad:not(.client-preview) .summary strong{font-size:38px;line-height:1.2;margin:10px 0;overflow-wrap:anywhere}
.portal-claridad:not(.client-preview) .summary small{display:block;font-size:18px}
.portal-claridad:not(.client-preview) .table-wrap{border-radius:12px;overscroll-behavior-x:contain}
.portal-claridad:not(.client-preview) table thead th{background:#edf2ef;color:var(--muted);font-size:19px}
.portal-claridad .company-identity strong{overflow-wrap:anywhere}
@media(max-width:750px){
  .portal-claridad .portal-header{padding:16px 18px}
  .portfolio-controls{align-items:flex-start;gap:18px}
  .portfolio-actions{gap:12px}
  .portal-claridad:not(.client-preview) .summary{grid-template-columns:1fr;gap:16px}
  .portal-claridad:not(.client-preview) .table-wrap>table{min-width:750px}
}
@media print{.portfolio-controls,.portal-skip-link{display:none}.portal-claridad:not(.client-preview) .summary{display:flex}.portal-claridad:not(.client-preview) .summary>div{border:0;padding:0;background:transparent}}
