:root{font-family:Manrope,Inter,"Segoe UI",Arial,sans-serif;color:#13243a;background:#edf3f8;--navy:#102d46;--navy-deep:#06152d;--teal:#07897e;--teal-bright:#10a99a;--line:#d5e0ea;--muted:#64758a;--soft:#f4f7fa}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}

.login-shell{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(500px,1fr);overflow:hidden;background:#f4f7fb}.login-story{position:relative;min-height:100svh;padding:clamp(42px,6vw,86px);color:#fff;display:flex;flex-direction:column;isolation:isolate;background:#06152d url("assets/client-portal-network-v1.png") center/cover no-repeat}.login-story::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,17,42,.96) 0%,rgba(4,25,54,.78) 48%,rgba(4,31,57,.35) 100%),linear-gradient(0deg,rgba(2,13,31,.72),transparent 58%)}.login-story-logo{width:clamp(132px,11vw,172px);height:auto;filter:brightness(0) invert(1);object-fit:contain;object-position:left center}.login-story-copy{margin:auto 0;max-width:650px;padding-bottom:80px}.login-story .eyebrow{color:#6ce0d1}.login-story-copy h1{margin:12px 0 24px;font-size:clamp(36px,4vw,62px);line-height:1.13;letter-spacing:-.045em}.login-story-copy h1 span{color:#19b7a7}.login-story-copy>p:last-child{max-width:560px;margin:0;font-size:clamp(16px,1.25vw,20px);line-height:1.75;color:#dae6f1}.login-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:680px;margin-bottom:44px}.login-trust article{display:grid;align-content:start;gap:5px;min-height:116px;padding:0 24px;border-right:1px solid rgba(255,255,255,.22)}.login-trust article:first-child{padding-left:0}.login-trust article:last-child{border-right:0}.trust-icon{width:38px;height:38px;margin-bottom:5px;border:2px solid #12aa9d;border-radius:50%;display:grid;place-items:center;color:#69e1d4;font-size:21px}.login-trust strong{font-size:15px}.login-trust small{color:#c8d6e3;line-height:1.5;font-size:12px}
.login-access{min-height:100svh;padding:54px clamp(34px,6vw,100px);display:grid;place-items:center;background:radial-gradient(circle at 100% 0,#dce9fa 0,transparent 34%),linear-gradient(145deg,#f8fafc,#edf3fa)}.login-card{width:min(610px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(203,216,229,.8);border-radius:24px;padding:clamp(30px,4vw,52px);box-shadow:0 32px 85px rgba(15,40,68,.14),0 6px 18px rgba(15,40,68,.06);backdrop-filter:blur(12px)}.login-card-logo{display:block;width:132px;max-width:44%;height:auto;margin-bottom:28px;object-fit:contain;object-position:left center}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--teal);font-size:12px;font-weight:800;margin:0 0 8px}.login-card h2,.workspace h1,.card h2{margin:0}.login-card h2{font-size:clamp(27px,2.15vw,35px);line-height:1.18;letter-spacing:-.035em;color:#0c213d}.intro{color:var(--muted);line-height:1.65;margin:14px 0 26px;font-size:15px}label{display:grid;gap:8px;font-weight:700;font-size:14px}input,select,textarea{width:100%;border:1px solid #bdccda;border-radius:11px;padding:13px 14px;color:#13243a;background:white}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #0c8c7d22;border-color:var(--teal)}button{border:0;border-radius:10px;padding:13px 18px;background:linear-gradient(95deg,#07897e,#0aa092);color:white;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 9px 24px rgba(7,137,126,.2)}button:disabled{opacity:.42;cursor:not-allowed}.login-card form{display:grid;gap:16px}.login-card form>button[type="submit"]{width:100%;display:flex;justify-content:center;align-items:center;gap:12px;font-size:15px}.link-button{background:transparent;color:var(--teal);padding:5px;box-shadow:none!important}.link-button:hover{transform:none!important}.message{min-height:22px;color:#a23c35;margin:12px 0 0;font-size:13px;line-height:1.5}.otp-fieldset{min-width:0;margin:0;padding:0;border:0}.otp-fieldset legend{margin-bottom:10px;font-size:14px;font-weight:800}.otp-inputs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(7px,1vw,12px)}.otp-inputs input{aspect-ratio:1/1;min-width:0;padding:0;text-align:center;border-radius:12px;font-size:24px;font-weight:800;caret-color:var(--teal)}.otp-note{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:center;padding:13px 15px;background:#f2f6f8;border-radius:11px;color:#4f6177;font-size:13px;line-height:1.5}.otp-note>span{width:25px;height:25px;border:2px solid var(--teal);border-radius:50%;display:grid;place-items:center;color:var(--teal);font-weight:800}.otp-note p{margin:0}.login-help{display:flex;align-items:center;justify-content:center;gap:9px;padding-top:23px;margin-top:22px;border-top:1px solid #dfe7ee;font-size:13px;color:#43556b}.login-help>a{color:var(--teal);font-weight:800;text-decoration:none}.login-legal{position:absolute;left:0;bottom:0;width:50%;padding:14px 20px;color:#9eb0c4;text-align:center;font-size:11px;letter-spacing:.02em}

.portal-loading{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#fff}.portal-loading-content{text-align:center}.portal-loading img{display:block;width:min(310px,55vw);height:auto;animation:portal-logo-arrive .85s cubic-bezier(.2,.8,.2,1) both}.portal-loading p{margin:20px 0 0;color:#526579;font-size:15px;font-weight:700;letter-spacing:.08em;animation:portal-loading-copy .45s ease .58s both}.loading-dots::after{content:"";animation:portal-dots 1.2s steps(4,end) infinite}@keyframes portal-logo-arrive{from{opacity:0;transform:translateX(180px)}to{opacity:1;transform:translateX(0)}}@keyframes portal-loading-copy{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-dots{0%{content:""}25%{content:"."}50%{content:".."}75%,100%{content:"..."}}

.portal-shell{min-height:100dvh;display:grid;grid-template-columns:260px 1fr}.portal-shell>aside{position:sticky;top:0;height:100dvh;background:var(--navy);color:white;padding:26px 18px;display:flex;flex-direction:column}.brand{padding:0 10px 26px;border-bottom:1px solid #ffffff20}.brand img{display:block;width:173px;height:auto;filter:brightness(0) invert(1);object-fit:contain;object-position:left center;margin-bottom:12px}.brand span{font-size:13px;color:#b8c9d8}nav{display:grid;gap:7px;padding-top:22px}nav button{display:flex;justify-content:space-between;background:transparent;text-align:left;color:#cfdae4}nav button.active,nav button:hover{background:#ffffff14;color:white}nav b{background:#fff;color:var(--navy);border-radius:99px;padding:1px 7px}.account{margin-top:auto;border-top:1px solid #ffffff20;padding:20px 10px 0;display:grid;gap:5px}.account span{color:#b8c9d8;font-size:12px}.account button{margin-top:12px;background:#ffffff12;text-align:left}.workspace{padding:32px clamp(20px,4vw,54px) 0;min-width:0;min-height:100dvh;display:flex;flex-direction:column}.workspace>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.workspace>header h1{font-size:30px}.panel-view{width:100%}.card{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 26px #17324d0a}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.metric{padding:20px}.metric span{color:var(--muted);font-size:13px}.metric strong{display:block;font-size:28px;margin-top:8px}.card-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.card-body{padding:10px 22px}.case-groups{display:grid;gap:18px}.cases-summary{display:flex;align-items:end;justify-content:space-between;padding:2px 2px 4px}.case-row{display:grid;grid-template-columns:120px 1fr 150px 130px;gap:18px;align-items:center;padding:18px 4px;border-bottom:1px solid #e5ebf1;cursor:pointer}.case-row:last-child{border:0}.case-row:hover{background:#f8fbfc}.ticket{font-weight:900}.subtle{color:var(--muted);font-size:13px}.badge{display:inline-flex;width:max-content;border-radius:99px;padding:6px 10px;background:#e8f5f2;color:#086f66;font-size:12px;font-weight:800}.badge.warn{background:#fff3cf;color:#875b00}.empty{padding:50px 20px;text-align:center;color:var(--muted)}.form-card{max-width:1080px}.form-card form{padding:20px 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.full{grid-column:1/-1}.attachment-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 18px;padding:14px 16px;border:1px dashed #b9cad8;border-radius:12px;background:#f8fbfc}.attachment-field>div:first-child{display:grid;gap:3px}.attachment-field span{color:var(--muted);font-size:12px}.attachment-picker{display:block;padding:11px 14px;border:1px solid #bfd0dc;border-radius:9px;background:#fff;color:var(--teal);cursor:pointer;white-space:nowrap}.attachment-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.attachment-preview{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.attachment-preview[hidden]{display:none}.attachment-thumb{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff;aspect-ratio:4/3}.attachment-thumb img{width:100%;height:100%;object-fit:cover}.attachment-thumb button{position:absolute;right:5px;top:5px;width:27px;height:27px;padding:0;border-radius:50%;background:#102d46dd}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.secondary{background:white;color:#17324d;border:1px solid #c9d5e0}.flash{padding:13px 16px;margin-bottom:18px;border-radius:10px;background:#e7f6f3;color:#086f66}.detail-grid{display:grid;grid-template-columns:1fr 330px;gap:20px}.detail-main,.detail-side{display:grid;gap:18px;align-content:start}.detail-copy{padding:22px;line-height:1.65}.case-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:20px}.case-photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:10px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fact{padding:16px;background:var(--soft);border-radius:10px}.fact span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.timeline{display:grid;gap:12px;padding:18px 22px}.timeline article{border-left:3px solid #67cabe;padding:4px 0 4px 14px}.reply{padding:20px}.reply textarea{margin:10px 0}.approval-row{display:grid;grid-template-columns:1fr auto;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line)}.approval-row:last-child{border:0}.workspace>footer{text-align:center;color:#7a8897;font-size:12px;padding:28px;margin-top:auto}.danger{color:#a43c35}.primary{background:var(--teal);color:white}

@media(max-width:1050px){.login-shell{grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr)}.login-story{padding:42px}.login-story-copy{padding-bottom:40px}.login-trust small{display:none}.login-trust article{min-height:auto}.login-legal{width:45%}}
@media(min-width:821px) and (max-height:800px){.login-story{padding:28px 50px}.login-story-logo{width:138px}.login-story-copy{padding-bottom:16px}.login-story-copy h1{font-size:40px;margin:7px 0 14px}.login-story-copy>p:last-child{font-size:14px;line-height:1.55}.login-trust{margin-bottom:20px}.login-trust article{min-height:88px}.login-access{padding:22px 48px}.login-card{padding:34px 48px}.login-card-logo{margin-bottom:18px}.login-help{padding-top:17px;margin-top:17px}}
@media(max-width:820px){.login-shell{display:block;overflow:auto}.login-story{min-height:360px;padding:34px 28px}.login-story-copy{margin:50px 0 30px;padding:0}.login-story-copy h1{font-size:38px}.login-story-copy>p:last-child{font-size:15px}.login-trust{display:none}.login-access{min-height:auto;padding:30px 20px 65px}.login-card{margin-top:-54px;position:relative;padding:30px;border-radius:20px}.login-legal{position:absolute;width:100%;color:#63778d}.portal-shell{grid-template-columns:1fr}.portal-shell>aside{height:auto;position:static;padding:14px}.portal-shell>aside nav{grid-template-columns:repeat(4,1fr);padding-top:12px}.brand,.account{display:none}.workspace{padding:22px 22px 0}.metrics{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.case-row{grid-template-columns:100px 1fr}.case-row>:nth-child(3),.case-row>:nth-child(4){display:none}.attachment-field{grid-template-columns:1fr}}
@media(max-width:560px){.login-story{min-height:320px}.login-story-copy{margin-top:38px}.login-story-copy h1{font-size:31px}.login-card{padding:26px 22px}.login-card-logo{width:112px;margin-bottom:22px}.login-card h2{font-size:26px}.otp-inputs{gap:6px}.otp-inputs input{font-size:20px;border-radius:9px}.login-help{flex-wrap:wrap}.portal-shell>aside nav{grid-template-columns:1fr 1fr}.metrics,.form-grid,.facts{grid-template-columns:1fr}.workspace>header{align-items:flex-start}.workspace>header>[data-open-new]{display:none}.case-row{grid-template-columns:1fr}.case-row .ticket{margin-bottom:-10px}.portal-shell>aside nav button{padding:11px 10px;font-size:13px;gap:6px}.portal-shell>aside nav b{padding:1px 6px}}

.login-story-copy h1:first-child{margin-top:0}
.login-story-copy .client-login-title span{display:block;color:inherit}
.login-story-logo{width:clamp(264px,22vw,344px)}
.service-notice-dialog{width:min(520px,calc(100vw - 32px));padding:0;border:0;border-radius:20px;color:var(--navy);box-shadow:0 30px 90px rgba(4,25,54,.3)}.service-notice-dialog::backdrop{background:rgba(6,21,45,.66);backdrop-filter:blur(4px)}.service-notice-card{padding:34px;text-align:center}.service-notice-icon{width:58px;height:58px;margin:0 auto 18px;border-radius:18px;display:grid;place-items:center;background:#e5f5f2;color:var(--teal);font-size:32px;font-weight:800}.service-notice-card h2{margin:0 0 12px;font-size:26px;letter-spacing:-.025em}.service-notice-card>p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.65}.service-notice-next{display:grid;gap:5px;margin:22px 0;padding:15px;border:1px solid #cfe0e8;border-radius:12px;background:#f5f9fb}.service-notice-next span{color:var(--muted);font-size:12px}.service-notice-next strong{font-size:16px}.service-notice-card .service-notice-sla{padding:0 12px;font-size:13px}.service-notice-card button{width:100%;margin-top:22px}
.login-help svg{width:18px;height:18px;flex:0 0 18px;color:var(--teal)}
@media(min-width:821px) and (max-height:800px){.login-story-logo{width:276px}}
@media(max-width:560px){.login-story-logo{width:min(264px,82vw)}}
@media(prefers-reduced-motion:reduce){.portal-loading img,.portal-loading p{animation:none}.loading-dots::after{animation:none;content:"..."}button{transition:none}}

/* Portal compacto y autorizaciones integradas. */
.portal-shell{grid-template-columns:232px minmax(0,1fr)}.portal-shell>aside{padding:24px 16px}.brand{padding:0 8px 22px}.brand img{width:158px}nav{gap:5px;padding-top:18px}nav button{min-height:42px;padding:10px 12px;border-radius:9px;font-size:14px}nav b{display:inline-grid;min-width:20px;height:20px;padding:0 6px;place-items:center;font-size:11px;font-weight:800}.workspace{padding:26px clamp(20px,3vw,42px) 0}.workspace>header,.workspace>.flash,.workspace>.panel-view,.workspace>footer{width:min(100%,1260px);margin-left:auto;margin-right:auto}.workspace>header{margin-bottom:18px}.workspace>header h1{font-size:26px;letter-spacing:-.025em}.portal-heading{align-items:center;display:flex;gap:14px}.portal-back{background:#fff;border:1px solid #c7d7e2;color:#17324d;min-height:38px;padding:8px 13px}.portal-back:hover{background:#f5f9fb;box-shadow:none}.card{border-radius:13px;box-shadow:0 6px 20px rgba(23,50,77,.045)}.card-head{padding:16px 18px}.card-head h2{font-size:20px}.card-body{padding:6px 18px}.metrics{gap:12px;margin-bottom:16px}.metric{padding:16px 18px}.metric strong{font-size:23px;margin-top:5px}.case-row{min-height:68px;padding:13px 5px}.case-row:nth-child(even),.approval-row.is-zebra{background:#f4f8fa}.case-detail-title{display:-webkit-box;font-size:22px!important;line-height:1.35!important;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.detail-grid{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.detail-main,.detail-side{gap:16px}.detail-copy{padding:18px}.reply{padding:18px}.approvals-card{overflow:hidden}.approval-total{background:#eef6f5;border:1px solid #cee5e1;border-radius:999px;color:#08766d;font-size:12px;font-weight:750;padding:5px 9px}.approval-row{align-items:center;display:grid;gap:16px;grid-template-columns:minmax(170px,.75fr) minmax(240px,1.35fr) 105px 180px 82px;min-height:78px;padding:13px 18px}.approval-reference,.approval-diagnosis{display:grid;gap:4px;min-width:0}.approval-reference span,.approval-diagnosis span{color:var(--muted);font-size:12px}.approval-diagnosis strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-open{min-height:36px;padding:8px 12px}.approval-detail{display:grid;gap:16px;max-width:1080px}.approval-summary-card{overflow:hidden}.approval-summary-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(170px,.7fr) minmax(150px,.55fr);gap:1px;background:var(--line)}.approval-summary-grid>div{background:#fff;padding:16px 18px}.approval-summary-grid span{color:var(--muted);display:block;font-size:12px;margin-bottom:6px}.approval-summary-grid p{line-height:1.55;margin:0}.approval-items{overflow-x:auto;padding:0 18px 16px}.approval-items table{border-collapse:collapse;width:100%}.approval-items th,.approval-items td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left}.approval-items th{color:#496075;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.approval-items td span{color:var(--muted);display:block;font-size:11px;margin-top:2px}.approval-items th:last-child,.approval-items td:last-child{text-align:right}.approval-items tbody tr:nth-child(even){background:#f4f8fa}.approval-terms{padding:0 18px 18px}.approval-terms p{color:var(--muted);margin:5px 0 0}.approval-response-card{padding:18px}.approval-response-card>div:first-child{margin-bottom:16px}.approval-response-card h2{font-size:20px}.approval-response-card form{display:grid;gap:14px}.approval-decisions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.approval-decisions label{align-items:start;background:#f8fbfc;border:1px solid var(--line);border-radius:11px;cursor:pointer;display:grid;gap:10px;grid-template-columns:auto 1fr;padding:13px}.approval-decisions label:has(input:checked){background:#eaf7f4;border-color:var(--teal)}.approval-decisions input{accent-color:var(--teal);height:17px;margin:2px 0 0;padding:0;width:17px}.approval-decisions span{display:grid;gap:3px}.approval-decisions small{color:var(--muted);font-weight:500}.approval-signature{display:grid;gap:8px}.approval-signature>div{align-items:center;display:flex;justify-content:space-between}.approval-signature canvas{background:#fff;border:1px solid #bdccda;border-radius:10px;height:150px;touch-action:none;width:100%}.approval-signature button{min-height:32px;padding:6px 10px}.approval-error{color:#a23c35;font-size:13px;min-height:18px;margin:0}.approval-closed{display:flex;gap:10px;padding:18px}.approval-closed span{color:var(--muted)}
@media(max-width:1050px){.approval-row{grid-template-columns:1fr 1.4fr auto}.approval-row>:nth-child(4){display:none}.approval-summary-grid{grid-template-columns:1fr 1fr}.approval-summary-grid>div:first-child{grid-column:1/-1}}@media(max-width:820px){.portal-shell{grid-template-columns:1fr}.workspace>header{align-items:center}.portal-heading{align-items:flex-start;flex-direction:column;gap:8px}.approval-row{grid-template-columns:1fr auto}.approval-row>:nth-child(2){grid-column:1/-1;grid-row:2}.approval-row>:nth-child(3){grid-column:2;grid-row:1}.approval-row>:nth-child(5){grid-column:2;grid-row:2}.approval-summary-grid,.approval-decisions{grid-template-columns:1fr}.approval-summary-grid>div:first-child{grid-column:auto}}
/* Compact self-service command center. */
.portal-command-center{display:grid;gap:16px;margin-bottom:22px}.portal-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px 26px;border:1px solid #cbdbe6;border-radius:18px;background:linear-gradient(125deg,#fff 0%,#f4faf9 58%,#e7f5f2 100%);box-shadow:0 16px 35px rgba(15,42,67,.06)}.portal-welcome h2{margin:3px 0 5px;color:#082b4c;font-size:clamp(24px,2.3vw,34px);letter-spacing:-.035em}.portal-welcome p:not(.eyebrow){margin:0;color:#526b80}.portal-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.portal-summary span{padding:8px 11px;border:1px solid #c7ddd9;border-radius:999px;background:rgba(255,255,255,.82);color:#365468;font-size:13px;white-space:nowrap}.portal-summary b{color:#087e75}.portal-global-search{position:relative}.portal-global-search>label{display:block;margin:0 0 7px;color:#29445c;font-size:13px;font-weight:750}.portal-search-control{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #bfd3e1;border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(15,42,67,.045)}.portal-search-control:focus-within{border-color:#07958a;box-shadow:0 0 0 3px rgba(7,149,138,.11)}.portal-search-control>span{color:#087e75;font-size:22px;transform:rotate(-20deg)}.portal-search-control input{width:100%;height:52px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font:inherit}.portal-search-control kbd{padding:3px 6px;border:1px solid #d6e1e9;border-radius:6px;background:#f3f7fa;color:#6a7f90;font:600 10px/1 inherit}.portal-search-results{position:absolute;z-index:30;top:calc(100% + 6px);right:0;left:0;overflow:hidden;border:1px solid #c9d9e4;border-radius:13px;background:#fff;box-shadow:0 18px 45px rgba(8,43,76,.16)}.portal-search-results button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border:0;border-bottom:1px solid #e3ebf1;background:#fff;color:#102f4c;text-align:left;cursor:pointer}.portal-search-results button:hover{background:#eff8f7}.portal-search-results button:last-child{border-bottom:0}.portal-search-results button span:first-child{display:grid;gap:2px}.portal-search-results small{color:#647b8d}.portal-search-empty{padding:16px;color:#62798b}.portal-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.portal-quick-actions button{display:grid;grid-template-columns:38px 1fr;column-gap:11px;align-items:center;padding:14px;border:1px solid #cbdbe6;border-radius:14px;background:#fff;color:#173650;text-align:left;cursor:pointer;transition:border-color .16s,transform .16s,box-shadow .16s}.portal-quick-actions button:hover{transform:translateY(-1px);border-color:#75bdb6;box-shadow:0 10px 24px rgba(15,42,67,.08)}.portal-quick-actions button>span{grid-row:1/3;display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#e3f3f1;color:#087e75;font-size:19px;font-weight:800}.portal-quick-actions strong{align-self:end;font-size:14px}.portal-quick-actions small{align-self:start;color:#667d8e}.portal-attention{display:grid;width:100%;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px 15px;border:1px solid #efc67f;border-radius:14px;background:#fffaf0;color:#173650;text-align:left;cursor:pointer}.portal-attention>span:first-child,.portal-attention-check{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#fff0d5;color:#9a5c00}.portal-attention>span:nth-child(2){display:grid;gap:2px}.portal-attention small{color:#6e675c}.portal-attention i{color:#087e75;font-style:normal;font-weight:750}.portal-attention.is-calm{border-color:#c9dfdc;background:#f5fbfa;cursor:default}.portal-attention.is-calm .portal-attention-check{background:#dff2ee;color:#087e75}.portal-case-journey{margin-bottom:16px;padding:18px 20px;border:1px solid #ccdce7;border-radius:16px;background:#fff}.portal-journey-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:17px}.portal-journey-heading h3{margin:2px 0 0;color:#102f4c}.portal-journey-heading small{color:#61798b}.portal-case-journey ol{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none}.portal-case-journey li{position:relative;display:grid;justify-items:center;gap:7px;color:#8193a1;font-size:12px;text-align:center}.portal-case-journey li:before{content:"";position:absolute;z-index:0;top:13px;right:50%;left:-50%;height:2px;background:#dce5eb}.portal-case-journey li:first-child:before{display:none}.portal-case-journey li span{position:relative;z-index:1;display:grid;width:28px;height:28px;place-items:center;border:2px solid #d2dee6;border-radius:50%;background:#fff;font-weight:800}.portal-case-journey li.is-complete,.portal-case-journey li.is-current{color:#087e75}.portal-case-journey li.is-complete:before,.portal-case-journey li.is-current:before{background:#70bdb5}.portal-case-journey li.is-complete span{border-color:#087e75;background:#087e75;color:#fff}.portal-case-journey li.is-current span{border-color:#087e75;box-shadow:0 0 0 4px #e1f3f0}.case-detail-title{display:-webkit-box;max-width:780px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:clamp(22px,2.4vw,31px)!important;line-height:1.2!important;letter-spacing:-.025em}#approvalBadge[hidden]{display:none!important}@media(max-width:760px){.portal-welcome{align-items:flex-start;flex-direction:column;padding:20px}.portal-summary{justify-content:flex-start}.portal-quick-actions{grid-template-columns:1fr}.portal-attention{grid-template-columns:auto 1fr}.portal-attention i{display:none}.portal-journey-heading{align-items:flex-start;flex-direction:column}.portal-case-journey{padding:16px 12px}.portal-case-journey li b{font-size:10px}.portal-case-journey li span{width:24px;height:24px}.portal-case-journey li:before{top:11px}}

/* Portal hierarchy refinement. */
.workspace>header:has(+ #flash + #dashboardPanel:not([hidden])){display:none}
.portal-welcome{align-items:center;padding:21px 24px;border-color:#c9d9e4;background:#fff;box-shadow:none}
.portal-welcome h2{font-size:clamp(25px,2.1vw,32px);font-weight:720}
.portal-global-search .portal-search-control,.portal-quick-actions button,.portal-command-center .portal-attention,#dashboardPanel [data-view-button]{box-shadow:none}
.portal-quick-actions button:hover{box-shadow:none;transform:none;background:#f5faf9}
.portal-shell>aside footer{display:grid;gap:3px;align-content:end;padding-top:20px;text-align:left}
.portal-shell>aside footer #accountName{margin:0;color:#fff;font-size:16px;font-weight:650;line-height:1.25;letter-spacing:-.01em}
.portal-shell>aside footer #clientName{margin:0 0 14px;color:#b9d1df;font-size:13px;font-weight:400;line-height:1.45}
.portal-shell>aside footer button{width:100%;min-height:46px;margin:0;padding:10px 14px;border:1px solid rgba(202,221,232,.14);border-radius:11px;background:rgba(255,255,255,.07);box-shadow:none;color:#eaf3f7;font-size:14px;font-weight:600;text-align:left}
.portal-shell>aside footer button:hover{background:rgba(255,255,255,.11)}
#dashboardPanel>.dashboard-grid,#dashboardPanel>.panel-card{box-shadow:none}
@media(max-width:760px){.portal-welcome{padding:18px}.portal-shell>aside footer #accountName{font-size:15px}.portal-shell>aside footer button{min-height:44px}}
/* Client knowledge center. */
.portal-knowledge{display:grid;gap:16px}.portal-knowledge-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid #cadbe5;border-radius:15px;background:#fff}.portal-knowledge-heading h2{margin:3px 0;color:#0b2d4e}.portal-knowledge-heading p{margin:0;color:#60778a}.portal-knowledge-heading input{width:min(360px,100%);height:44px}.portal-knowledge-layout{display:grid;grid-template-columns:minmax(250px,34%) 1fr;overflow:hidden;min-height:460px;border:1px solid #cadbe5;border-radius:15px;background:#fff}.portal-knowledge-list{border-right:1px solid #d9e4eb}.portal-knowledge-list button{display:grid;width:100%;gap:4px;padding:15px 17px;border:0;border-bottom:1px solid #e1e9ee;background:#fff;color:#173650;text-align:left;cursor:pointer}.portal-knowledge-list button:nth-child(even){background:#f7fafc}.portal-knowledge-list button:hover,.portal-knowledge-list button.active{background:#e8f5f3}.portal-knowledge-list small{color:#657c8e}.portal-knowledge-reader{padding:25px 28px}.portal-knowledge-reader h2{margin:4px 0 7px;color:#0b2d4e}.portal-knowledge-summary{color:#60778a}.portal-knowledge-content{margin-top:20px;line-height:1.65}.portal-knowledge-empty,.portal-knowledge-loading{padding:28px;color:#657c8e}.portal-knowledge-empty.is-error{color:#a83b32}@media(max-width:760px){.portal-knowledge-heading{align-items:stretch;flex-direction:column}.portal-knowledge-layout{grid-template-columns:1fr}.portal-knowledge-list{border-right:0;border-bottom:1px solid #d9e4eb}.portal-knowledge-reader{padding:20px}}
.portal-shell>aside footer button{text-align:center}

/* Professional case hierarchy and workshop delivery state. */
.case-row>div:nth-child(2)>strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:15px;font-weight:620;line-height:1.35;letter-spacing:-.01em}.case-detail-title{max-width:900px;font-size:clamp(24px,2.4vw,34px)!important;font-weight:650!important;line-height:1.2!important}.badge{width:auto!important;min-width:0!important;height:auto!important;max-width:170px;padding:7px 11px!important;border-radius:999px!important;line-height:1.2!important;text-align:center}.card-head>.badge{flex:0 0 auto}.workshop-ready-notice{display:flex;align-items:center;gap:12px;margin:0 20px;padding:13px 15px;border:1px solid #bcded8;border-radius:12px;background:#f1faf8;color:#164b49}.workshop-ready-notice>span{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:50%;background:#0a8b80;color:#fff;font-weight:800}.workshop-ready-notice>div{display:grid;gap:2px}.workshop-ready-notice small{color:#55736f}.workshop-ready-notice.is-pending{border-color:#ead39e;background:#fffaf0;color:#765314}.workshop-ready-notice.is-pending>span{background:#c18419}.delivery-notification-state{display:grid;gap:3px;margin-top:16px;padding:12px;border-radius:10px;background:#eaf6f4;color:#17645e}.delivery-notification-state span{font-size:12px}.delivery-notification-state.is-pending{background:#fff5df;color:#7a5513}.portal-case-journey li.is-complete:last-child span{box-shadow:0 0 0 4px #e1f3f0}@media(max-width:760px){.case-detail-title{font-size:23px!important}.workshop-ready-notice{margin:0 14px}.badge{max-width:140px}}
/* Professional paginated case directory. */
.case-directory{overflow:hidden;border:1px solid #cbdbe6;border-radius:16px;background:#fff}.case-directory-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 15px}.case-directory-heading h2{margin:3px 0;color:#0b2d4e;font-size:23px;font-weight:680}.case-directory-heading span{color:#667d8e;font-size:13px}.case-directory-scopes{display:flex;gap:5px;padding:0 22px 14px;border-bottom:1px solid #d9e4eb}.case-directory-scopes button{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:#526b80;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.case-directory-scopes button b{display:grid;min-width:22px;height:22px;place-items:center;padding:0 6px;border-radius:999px;background:#eaf0f4;color:#526b80;font-size:11px}.case-directory-scopes button:hover{background:#f1f6f8}.case-directory-scopes button.active{border-color:#9acfc9;background:#e8f5f3;color:#087e75}.case-directory-scopes button.active b{background:#087e75;color:#fff}.case-directory-filters{display:grid;grid-template-columns:minmax(240px,1.7fr) repeat(3,minmax(145px,1fr)) auto;gap:10px;align-items:end;padding:15px 22px;background:#f6f9fb}.case-directory-filters label{display:grid;gap:5px}.case-directory-filters label>span{color:#526b80;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.045em}.case-directory-filters input,.case-directory-filters select{width:100%;height:42px;padding:0 11px;border:1px solid #c5d7e3;border-radius:9px;background:#fff;color:#173650;font:inherit;font-size:13px}.case-directory-filters input:focus,.case-directory-filters select:focus{outline:0;border-color:#0a9187;box-shadow:0 0 0 3px rgba(10,145,135,.09)}.case-directory-clear{height:42px;padding:0 13px;border:1px solid #c5d7e3;border-radius:9px;background:#fff;color:#35536a;font-weight:650;cursor:pointer}.case-directory-result{display:flex;justify-content:space-between;padding:10px 22px;border-top:1px solid #e0e8ee;color:#6b8091;font-size:12px}.case-directory-table{border-top:1px solid #d9e4eb}.case-directory-columns,.case-directory-row{display:grid;grid-template-columns:120px minmax(280px,1.8fr) minmax(130px,.7fr) minmax(145px,.8fr) 140px;gap:18px;align-items:center}.case-directory-columns{padding:10px 18px;background:#edf3f6;color:#4c667a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.case-directory-row{width:100%;min-height:72px;padding:12px 18px;border:0;border-top:1px solid #e0e8ee;background:#fff;color:#153650;text-align:left;cursor:pointer}.case-directory-row:nth-child(odd){background:#f7fafb}.case-directory-row:hover{background:#eaf6f4}.case-directory-row>span{min-width:0}.case-directory-ticket,.case-directory-subject,.case-directory-owner{display:grid;gap:3px}.case-directory-ticket b{font-size:14px}.case-directory-row small,.case-directory-row time{color:#6a8091;font-size:12px}.case-directory-subject b{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px;font-weight:620;line-height:1.35}.case-directory-owner b{overflow:hidden;font-size:13px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.case-directory-row .badge{justify-self:start;font-size:11px}.case-directory-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px;border-top:1px solid #d9e4eb}.case-directory-pagination button{height:38px;padding:0 14px;border:1px solid #c5d7e3;border-radius:9px;background:#fff;color:#173650;font-weight:650;cursor:pointer}.case-directory-pagination button:disabled{cursor:not-allowed;opacity:.45}.case-directory-pagination span{color:#647b8d;font-size:12px}.case-directory-empty{display:grid;justify-items:center;gap:5px;padding:45px 20px;color:#647b8d}.case-directory-empty b{color:#25455e}@media(max-width:1050px){.case-directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.case-directory-search{grid-column:1/-1}.case-directory-columns,.case-directory-row{grid-template-columns:105px minmax(230px,1fr) 130px 135px}.case-directory-columns span:nth-child(4),.case-directory-row .case-directory-owner{display:none}}@media(max-width:720px){.case-directory-heading{padding:17px 15px 12px}.case-directory-scopes{overflow-x:auto;padding:0 15px 12px}.case-directory-scopes button{flex:0 0 auto}.case-directory-filters{grid-template-columns:1fr;padding:13px 15px}.case-directory-search{grid-column:auto}.case-directory-result{padding:9px 15px}.case-directory-columns{display:none}.case-directory-row{grid-template-columns:1fr auto;gap:7px 12px;padding:14px 15px}.case-directory-ticket{grid-column:1}.case-directory-subject{grid-column:1/-1;grid-row:2}.case-directory-row>span:nth-child(3){grid-column:2;grid-row:1;justify-self:end}.case-directory-row time{grid-column:1/-1;grid-row:3}.case-directory-pagination{position:sticky;bottom:0;background:#fff}}
/* Flat NextDesk interaction for case filters. */
.case-directory-scopes button,
.case-directory-scopes button:hover,
.case-directory-scopes button:focus,
.case-directory-scopes button:focus-visible,
.case-directory-scopes button:active {
  transform: none !important;
  translate: none !important;
  filter: none !important;
  box-shadow: none !important;
}
.case-directory-scopes button:focus-visible {
  outline: 2px solid #73bdb6;
  outline-offset: 2px;
}
/* Detalle informativo del caso y evidencias del portal. */
.case-information{display:grid;margin-top:18px;border-top:1px solid var(--line)}
.case-section{padding:18px 0;border-bottom:1px solid var(--line)}
.case-section:last-child{border-bottom:0;padding-bottom:0}
.case-section h3{margin:3px 0 10px;color:#102f4c;font-size:17px;font-weight:700}
.case-section-copy{max-width:78ch;margin:0;color:#294761;line-height:1.65;white-space:pre-wrap}
.case-section-empty{margin:0;color:var(--muted)}
.case-equipment{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #cbdbe6;border-radius:10px;background:var(--soft)}
.case-equipment>span{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:#dff2ee;color:#087e75;font-size:11px;font-weight:800;letter-spacing:.08em}
.case-equipment strong,.case-equipment small{display:block}.case-equipment small{margin-top:3px;color:var(--muted)}
.case-photos{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));margin-top:12px}
.case-evidence{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:#17324d;text-decoration:none}
.case-evidence img{border:0;border-radius:0;background:#edf3f6}.case-evidence span{display:block;padding:8px 10px;font-size:12px;font-weight:700}
.reply-terminal .terminal-mark{display:grid;width:38px;height:38px;margin-bottom:14px;place-items:center;border-radius:50%;background:#dff2ee;color:#087e75;font-weight:800}
.reply-terminal h3{margin:4px 0 8px}.reply-terminal p:last-child{margin-bottom:0;line-height:1.55}
@media(max-width:560px){.case-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}


.case-section-rich{max-width:78ch;color:#294761;line-height:1.65}.case-section-rich>:first-child{margin-top:0}.case-section-rich>:last-child{margin-bottom:0}.case-section-rich p,.case-section-rich ul,.case-section-rich ol{margin:0 0 12px}.case-section-rich img{display:block;width:auto;max-width:100%;height:auto;max-height:520px;margin:12px 0;border:1px solid var(--line);border-radius:10px;background:#edf3f6;object-fit:contain}.case-section-rich a{color:#087e75;text-decoration:underline;text-underline-offset:2px}

/* Historial completo de avances en el portal. */
.portal-work-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.portal-work-heading h3{margin-bottom:0}.portal-work-heading>span{display:inline-flex;border:1px solid #c5ded9;border-radius:999px;background:#edf7f5;color:#08786f;font-size:12px;font-weight:750;padding:5px 9px;white-space:nowrap}.portal-work-history{display:grid;gap:12px}.portal-work-entry{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.portal-work-entry>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 13px;border-bottom:1px solid var(--line);background:#f5f8fa}.portal-work-entry>header>div{display:grid;gap:2px}.portal-work-entry>header span,.portal-work-entry>header time{color:var(--muted);font-size:11px}.portal-work-entry>header strong{color:#17324d;font-size:13px}.portal-work-entry>.case-section-rich{max-width:none;padding:14px}.portal-work-entry>.case-section-rich img{max-height:440px}@media(max-width:560px){.portal-work-heading,.portal-work-entry>header{align-items:flex-start;flex-direction:column}}

/* Constancias de firma y transparencia para clientes. */
.closure-proof-heading,.approval-evidence-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.closure-proof-heading h3,.approval-evidence-head h3{margin-bottom:0}.closure-proof-heading>span,.approval-evidence-head>span{border:1px solid #c5ded9;border-radius:999px;background:#edf7f5;color:#08786f;font-size:11px;font-weight:750;padding:5px 9px}.closure-signature{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(260px,1fr);gap:14px;align-items:stretch}.closure-signature>div:first-child,.approval-evidence-person{display:grid;align-content:center;gap:4px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#f5f8fa}.closure-signature span,.approval-evidence-body span{color:var(--muted);font-size:11px}.closure-signature strong,.approval-evidence-body strong{color:#17324d}.closure-signature small,.approval-evidence-body small{color:var(--muted)}.closure-signature figure,.approval-evidence figure{display:grid;justify-items:center;gap:7px;margin:0;padding:12px;border:1px solid #c9dbe6;border-radius:10px;background:#fff}.closure-signature img,.approval-evidence img{display:block;width:auto;max-width:100%;height:110px;object-fit:contain}.closure-signature figcaption,.approval-evidence figcaption{color:var(--muted);font-size:10px}.closure-waived{padding:14px 15px;border:1px solid #ead49e;border-radius:10px;background:#fff9e9}.closure-waived p{margin:5px 0}.closure-waived small{color:#765f2c}.closure-signature-missing,.approval-evidence-missing,.approval-evidence-empty{display:grid;place-items:center;min-height:110px;padding:14px;border:1px dashed #c9d6df;border-radius:10px;color:var(--muted);text-align:center}.approval-evidence{display:block;padding:0}.approval-evidence-head{margin:0;padding:16px 18px;border-bottom:1px solid var(--line)}.approval-evidence-body{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr);gap:14px;padding:18px}.approval-evidence-body figure{grid-column:1/-1}.approval-evidence-body>div:not(.approval-evidence-person){padding:14px;border:1px solid var(--line);border-radius:10px}.approval-evidence-body p{margin:5px 0 0}.approval-evidence-empty{margin:18px}@media(max-width:700px){.closure-proof-heading,.approval-evidence-head{flex-direction:column}.closure-signature,.approval-evidence-body{grid-template-columns:1fr}}

/* Galería integrada de evidencias. */
.case-evidence{padding:0;font:inherit;text-align:left;cursor:pointer}.case-evidence:hover{border-color:#70bdb5;background:#f5faf9}.case-section-rich img{cursor:zoom-in}.portal-evidence-gallery{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:22px}.portal-evidence-gallery[hidden]{display:none}.portal-evidence-backdrop{position:absolute;inset:0;background:rgba(6,23,39,.88);backdrop-filter:blur(5px)}.portal-evidence-gallery>section{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100%);height:min(88vh,860px);overflow:hidden;border:1px solid rgba(210,229,239,.3);border-radius:16px;background:#0b1d2c;box-shadow:0 28px 80px rgba(0,0,0,.38)}.portal-evidence-gallery header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff}.portal-evidence-gallery header>div{display:grid;gap:2px}.portal-evidence-gallery header span{color:#75d4c7;font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.portal-evidence-gallery header strong{font-size:14px}.portal-evidence-gallery header button{display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:24px}.portal-evidence-stage{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;min-height:0;padding:16px}.portal-evidence-stage figure{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;width:100%;height:100%;min-height:0;margin:0}.portal-evidence-stage img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(88vh - 145px);object-fit:contain}.portal-evidence-stage figcaption{padding-top:10px;color:#b9cbd7;font-size:12px}.portal-evidence-nav{display:grid;width:42px;height:48px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:32px;cursor:pointer}.portal-evidence-nav:hover{background:rgba(255,255,255,.15)}.portal-evidence-nav:disabled{visibility:hidden}.gallery-open{overflow:hidden}@media(max-width:700px){.portal-evidence-gallery{padding:0}.portal-evidence-gallery>section{width:100%;height:100dvh;border:0;border-radius:0}.portal-evidence-stage{grid-template-columns:42px minmax(0,1fr) 42px;padding:10px}.portal-evidence-nav{width:36px;height:44px}.portal-evidence-stage img{max-height:calc(100dvh - 135px)}}

/* v2.65.0: chat modal consistente para el portal de clientes. */
.portal-chat-launch{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:76px;padding:14px;border:1px solid #bfd1dc;border-radius:12px;background:#fff;color:var(--navy);text-align:left;cursor:pointer}.portal-chat-launch:hover,.portal-chat-launch:active{transform:none;box-shadow:none;background:#f5faf9;border-color:#9fc9c4}.portal-chat-launch-icon{display:grid;width:44px;height:44px;place-items:center;border:1px solid #a9d7d1;border-radius:11px;background:#e8f6f3;color:var(--teal)}.portal-chat-launch-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.portal-chat-launch>span:nth-child(2){display:grid;min-width:0;gap:3px}.portal-chat-launch strong{font-size:14px}.portal-chat-launch small{overflow:hidden;color:var(--muted);font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.portal-chat-launch>b{color:#668092;font-size:16px;font-weight:500}.portal-chat-dialog{width:min(820px,calc(100vw - 32px));max-width:none;padding:0;border:0;border-radius:15px;background:transparent;box-shadow:none}.portal-chat-dialog::backdrop{background:rgba(9,31,48,.58);backdrop-filter:blur(2px)}.portal-chat-dialog>section{display:grid;grid-template-rows:auto minmax(240px,1fr) auto;max-height:min(86dvh,800px);overflow:hidden;border:1px solid #aacbc9;border-radius:15px;background:#eef4f6;box-shadow:0 18px 50px rgba(8,37,57,.18)}.portal-chat-dialog>section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #244b63;background:#0d344e;color:#fff}.portal-chat-dialog header h2{margin:3px 0 2px;font-size:21px}.portal-chat-dialog header>div>span{color:#c5d8e3;font-size:12px}.portal-chat-dialog header .eyebrow{color:#74d4ca}.portal-chat-dialog header>button{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1}.portal-chat-dialog header>button:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.14)}.portal-chat-history{display:flex;flex-direction:column;gap:11px;min-height:260px;margin:18px 18px 0;padding:18px;border:1px solid #d3e0e7;border-radius:12px;background:#f8fbfc;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.portal-chat-message{width:min(78%,600px);padding:11px 13px;border:1px solid #d1dde5;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(16,48,70,.04)}.portal-chat-message.is-team{align-self:flex-start;border-top-left-radius:4px}.portal-chat-message.is-client{align-self:flex-end;border-color:#abd6d0;border-top-right-radius:4px;background:#eaf6f3}.portal-chat-message header{display:flex;align-items:center;justify-content:space-between;gap:14px}.portal-chat-message strong{font-size:12px}.portal-chat-message time,.portal-chat-message small{color:var(--muted);font-size:10px}.portal-chat-message p{margin:7px 0 5px;color:#263f52;font-size:14px;line-height:1.5}.portal-chat-message.is-client small{color:#08786f}.portal-chat-empty{display:grid;align-content:center;justify-items:center;gap:5px;height:100%;min-height:190px;color:var(--muted);text-align:center}.portal-chat-empty>span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#e5f3f1;color:var(--teal);font-size:22px}.portal-chat-empty strong{color:var(--navy)}.portal-chat-empty p{margin:0;font-size:12px}.portal-chat-composer{display:grid;gap:10px;margin:14px 18px 18px;padding:16px;border:1px solid #cbdbe4;border-radius:12px;background:#fff}.portal-chat-composer>label{color:#29485f;font-size:12px;font-weight:800}.portal-chat-composer textarea{min-height:92px;padding:12px 14px;border-radius:9px;resize:vertical}.portal-chat-composer>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.portal-chat-composer small{color:var(--muted);font-size:11px}.portal-chat-composer button{min-width:148px}.portal-chat-readonly{display:grid;gap:4px;margin:14px 18px 18px;padding:15px 16px;border:1px solid #cbdbe4;border-radius:12px;background:#fff}.portal-chat-readonly span{color:var(--muted);font-size:12px;line-height:1.5}@media(max-width:760px){.portal-chat-dialog{width:calc(100vw - 16px)}.portal-chat-dialog>section{height:calc(100dvh - 16px);max-height:none}.portal-chat-dialog>section>header{padding:17px 18px}.portal-chat-history{min-height:180px;margin:10px 10px 0;padding:12px}.portal-chat-message{width:92%}.portal-chat-composer{margin:10px;padding:12px}.portal-chat-composer>div{align-items:stretch;flex-direction:column}.portal-chat-composer button{width:100%}.portal-chat-readonly{margin:10px}}
/* v2.65.2: orientación y seguimiento automático del chat. */
.portal-chat-message.is-client{align-self:flex-start;border-color:#d1dde5;border-radius:4px 12px 12px 12px;background:#fff}.portal-chat-message.is-team{align-self:flex-end;border-color:#abd6d0;border-radius:12px 4px 12px 12px;background:#eaf6f3}.portal-chat-message.is-client small{color:var(--muted)}.portal-chat-message.is-team small{color:#08786f}.portal-chat-history{scroll-behavior:smooth}.portal-chat-composer{position:relative;z-index:2}.portal-chat-composer textarea{max-height:150px}
/* NextDesk 2.75.6: portal de clientes aprobado. */
#loginView.login-shell{background:#f5fafc;grid-template-columns:minmax(0,1.06fr) minmax(470px,.94fr)}
#loginView .login-story{background:#eaf5f8 url("assets/client-login-dell.webp") center/cover no-repeat;color:#09244a;padding:clamp(38px,5vw,76px)}
#loginView .login-story::before{background:linear-gradient(90deg,rgba(245,251,253,.98) 0%,rgba(245,251,253,.9) 38%,rgba(245,251,253,.28) 72%,rgba(245,251,253,.05) 100%)}
#loginView .login-story-logo{filter:none;width:clamp(150px,12vw,190px)}#loginView .login-story-copy{margin:auto 0;max-width:580px;padding:0}#loginView .login-story .eyebrow{color:#07897e;margin-bottom:16px}
#loginView .client-login-title{color:#09244a;font-size:clamp(42px,4.7vw,76px);letter-spacing:-.055em;line-height:.98;margin:0}#loginView .login-story-copy>p:last-child{color:#536c84;font-size:clamp(16px,1.2vw,19px);line-height:1.6;margin:24px 0 0;max-width:510px}
#loginView .login-access{background:radial-gradient(circle at 100% 0,#dcecf8 0,transparent 38%),linear-gradient(145deg,#f9fbfc,#edf5f8);padding:clamp(30px,5vw,76px)}#loginView .login-card{border-radius:24px;max-width:560px;padding:clamp(34px,4vw,52px)}
#loginView .login-card-logo{max-width:52%;width:205px}#loginView .login-card h2{color:#0b2344;font-size:clamp(30px,2.5vw,40px)}#loginView .login-trust{display:none}#loginView .login-help{justify-content:center}
@media(max-width:820px){#loginView.login-shell{display:block}#loginView .login-story{min-height:330px;padding:30px 28px 86px}#loginView .client-login-title{font-size:42px}#loginView .login-access{padding:0 20px 64px}}
/* NextDesk 2.111.0: encuesta de satisfacción al cierre. */
.satisfaction-card{display:grid;gap:12px}.satisfaction-card h3,.satisfaction-card p{margin:0}.satisfaction-stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}.satisfaction-stars label{cursor:pointer}.satisfaction-stars input{position:absolute;opacity:0;pointer-events:none}.satisfaction-stars span{color:#c8d3da;font-size:34px;line-height:1;transition:color .15s}.satisfaction-stars label:hover span,.satisfaction-stars label:hover~label span,.satisfaction-stars input:checked~span,.satisfaction-stars label:has(input:checked)~label span{color:#e8a51f}.satisfaction-card textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;resize:vertical}.satisfaction-result{color:#e8a51f;font-size:28px;letter-spacing:2px}.satisfaction-card.is-complete{border-color:#b9dcd6;background:#f5fbfa}
.portal-loan-list{display:grid;gap:10px;margin-top:14px}.portal-loan-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:14px;border:1px solid #d5e2e9;border-radius:12px;background:#f8fbfc}.portal-loan-list article>div{display:grid;gap:3px}.portal-loan-list article small,.portal-loan-list article p{color:#65798a}.portal-loan-list article p{grid-column:1/-1;margin:0;font-size:13px}.portal-loan-list article>span{align-self:start;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.portal-loan-list article>span.is-active{background:#e5f5f2;color:#087d74}.portal-loan-list article>span.is-returned{background:#edf1f4;color:#5e6f7d}

/* NextDesk: compact approval history action. */
.approval-open-view{align-items:center;display:inline-flex;gap:6px;justify-content:center;min-width:68px;padding:7px 10px;white-space:nowrap}.approval-open-view svg{fill:none;height:16px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:16px}.approval-open-view:hover{background:#eef8f6;border-color:#9ccfc8;color:#08766d}.approval-open-view:focus-visible{outline:3px solid rgba(8,118,109,.2);outline-offset:2px}

/* NextDesk: unified authorization table. */
.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}.approval-table-wrap{overflow-x:auto;width:100%}.approval-table{border-collapse:collapse;min-width:840px;table-layout:fixed;width:100%}.approval-table th{background:#edf5f7;color:#526a7d;font-size:10px;font-weight:800;letter-spacing:.065em;padding:10px 14px;text-align:left;text-transform:uppercase}.approval-table th:nth-child(1){width:105px}.approval-table th:nth-child(2){width:190px}.approval-table th:nth-child(4){width:120px}.approval-table th:nth-child(5){width:190px}.approval-table td{border-top:1px solid var(--line);padding:14px;vertical-align:middle}.approval-table tbody tr:first-child td{border-top:0}.approval-table tbody tr:nth-child(even){background:#f5f9fa}.approval-table tbody tr:hover{background:#eef7f7}.approval-directory-row{cursor:pointer}.approval-directory-row:focus-visible{background:#e8f5f3;outline:3px solid rgba(8,118,109,.22);outline-offset:-3px}.approval-table .approval-diagnosis strong{white-space:normal}.approval-date{color:var(--muted);font-size:12px}.approval-type{border:1px solid #c8e2df;border-radius:999px;color:#08766d;display:inline-flex;font-size:11px;font-weight:800;padding:5px 8px;white-space:nowrap}.approval-type-loan{background:#eef4fb;border-color:#cfdeed;color:#315d83}.approval-type-rental{background:#f5f0fc;border-color:#ddd0ee;color:#67468b}.approval-type-workshop{background:#edf8f6}.approval-terms p{white-space:pre-line}@media(max-width:820px){.approval-table-wrap{border-top:1px solid var(--line)}.approval-table{min-width:700px}.approval-table th,.approval-table td{padding-left:12px;padding-right:12px}.approval-table th:nth-child(2){width:165px}.approval-table th:nth-child(5){width:150px}}

.approval-pagination{align-items:center;background:#f8fbfc;border-top:1px solid var(--line);display:flex;justify-content:center;min-height:78px;padding:16px}.approval-pagination>div{align-items:center;display:flex;gap:14px;justify-content:center}.approval-pagination strong{color:#34546a;font-size:12px;font-weight:700;min-width:90px;text-align:center;white-space:nowrap}.approval-pagination button{min-height:40px;min-width:90px;padding:8px 14px}.approval-pagination button:disabled{background:#f3f6f8;border-color:#dbe4e9;color:#9aabb6;cursor:not-allowed;opacity:1}@media(max-width:620px){.approval-pagination{min-height:72px;padding:14px 10px}.approval-pagination>div{gap:9px;width:100%}.approval-pagination strong{min-width:82px}.approval-pagination button{font-size:12px;min-width:82px;padding-inline:10px}}
