/* Documentos completos y obra · Ing. Víctor Marín · 08/10/2026. */
#portalView .portal-page:is(#documentos,#modelo,#costos,#planos){max-width:1500px}
#portalView .document-workspace{grid-template-columns:1fr;gap:20px}
#portalView .document-index{display:flex;flex-wrap:wrap;gap:10px;max-height:none;overflow:visible;padding:18px;border-radius:6px;background:#f8f7f3}
#portalView .document-list-label,#portalView .plan-group-title{flex-basis:100%;margin:5px 0}
#portalView .document-index .document-item{flex:1 1 240px;max-width:450px;min-height:82px;margin:0;border:1px solid #e1dfd6;background:#fff}
#portalView .document-index .document-item.active{border-color:#c4a052;background:#fff8e7;color:#153a5a}
#portalView .document-preview{border-radius:6px;background:#fff}
#portalView .document-preview-content{display:grid;grid-template-columns:1fr auto;padding:24px 28px;gap:12px 25px}
#portalView .document-preview-content h3{grid-column:1;margin:0;font-size:clamp(27px,3vw,42px)}
#portalView .document-preview-content>p{grid-column:1;margin:0;max-width:850px;font-size:14px;line-height:1.7}
#portalView .document-seal{display:none}
#portalView .document-meta{grid-column:1;margin:0;display:flex;flex-wrap:wrap;gap:12px 30px}
#portalView .document-preview-actions{grid-column:2;grid-row:1 / 4;align-self:center;display:flex;flex-wrap:wrap;gap:8px;max-width:280px}
#portalView .document-frame{height:clamp(650px,82svh,1100px);min-height:600px;margin:0 18px 18px;border-radius:3px;background:#e9edf1}
#portalView .document-frame iframe{display:block;width:100%;height:100%;border:0}
#portalView #planFrame{height:clamp(700px,90svh,1250px)}
#portalView .plan-image-stage{padding:0 18px 18px}
#portalView .plan-image-expand,#portalView .plan-image-expand img{max-height:none;min-height:0}
#portalView .plan-image-expand img{height:auto;max-width:100%;object-fit:contain}
#portalView .drive-access-note{margin:0;padding:12px 24px 20px;color:#6c7e8e;font-size:12px;line-height:1.65}
#portalView .expediente-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}
#portalView .expediente-overview article{padding:20px 22px;border:1px solid #e6e1d4;border-radius:5px;background:linear-gradient(150deg,#fff,#faf7ef)}
#portalView .expediente-overview span,#portalView .expediente-overview small{display:block;color:#6b7e8f;font-size:12px}
#portalView .expediente-overview strong{display:block;margin:9px 0;font:400 38px/1 Georgia,serif;color:#113956}
#portalView .investment-dashboard{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;margin:24px 0 30px}
#portalView .investment-visual{position:relative;overflow:hidden;min-height:450px;background:#092944;border-radius:6px}
#portalView .investment-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#portalView .investment-visual>div:not(.investment-blueprint){position:absolute;inset:auto 0 0;padding:80px 28px 28px;background:linear-gradient(transparent,rgba(3,23,41,.95));color:#fff}
#portalView .investment-visual span{font-size:11px;letter-spacing:.12em;color:#f6c761;text-transform:uppercase}
#portalView .investment-visual strong{display:block;margin:12px 0;font:400 34px/1.1 Georgia,serif}
#portalView .investment-visual a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#fff}
#portalView .investment-blueprint{display:grid;place-items:center;height:100%;color:#cfa74e;font-size:120px;background:url('contacto-trazo.svg') center/cover}
#portalView .investment-insight{padding:24px;border:1px solid #e4e5e5;border-radius:6px}
#portalView .investment-insight h3{margin:10px 0 20px;font:400 32px/1.15 Georgia,serif;color:#103854}
#portalView .investment-total strong{display:block;color:#123856;font-size:36px;letter-spacing:-.04em}
#portalView .investment-total>span{display:block;margin-top:6px;color:#667d90;font-size:12px}
#portalView .investment-bars{display:grid;gap:17px;margin:25px 0}
#portalView .investment-bar>div:first-child{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:#35546c}
#portalView .investment-bar strong{font-size:13px;white-space:nowrap}
#portalView .investment-bar small{display:block;margin-top:6px;color:#768797;font-size:11px}
#portalView .investment-track{height:7px;margin-top:9px;overflow:hidden;border-radius:8px;background:#e9edf0}
#portalView .investment-track i{display:block;height:100%;background:linear-gradient(90deg,#b68423,#f0c759);border-radius:8px}
#portalView .investment-note{margin:0;color:#697f91;font-size:12px;line-height:1.75}
#portalView .schedule-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
#portalView .schedule-dashboard article{padding:23px;border:1px solid #e5dfd0;background:#fffaf0;border-radius:5px}
#portalView .schedule-dashboard small,#portalView .schedule-dashboard span{display:block;color:#6e7e89;font-size:12px;line-height:1.6}
#portalView .schedule-dashboard strong{display:block;margin:10px 0;color:#113652;font:400 27px/1.15 Georgia,serif}
#portalView .model-mode-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
#portalView .model-mode-tabs button,#portalView .work-filters button,#portalView .work-photos button#workRefresh,#portalView #workMore{min-height:46px;padding:12px 18px;border:1px solid #d4dce2;border-radius:5px;background:#fff;color:#28516e;font-size:13px;cursor:pointer}
#portalView .model-mode-tabs button[aria-pressed=true]{border-color:#123c5a;background:#123c5a;color:#fff}
#portalView .model-mode-tabs button span{margin-left:12px;font-size:11px;opacity:.7}
#portalView .work-heading{display:flex;justify-content:space-between;gap:20px;margin:30px 0 20px}
#portalView .work-heading h3{margin:9px 0;font:400 38px/1.15 Georgia,serif;color:#123856}
#portalView .work-heading p{font-size:14px;line-height:1.7;color:#6e8192}
#portalView #workDemo{align-self:start;border:1px solid #e4c789;border-radius:20px;background:#fff5d9;color:#966b18;padding:8px 12px;font-size:11px}
#portalView .work-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0}
#portalView .work-stats article{display:flex;flex-direction:column;justify-content:center;padding:23px;border:1px solid #e2e4e2;border-radius:6px;background:#f9faf9}
#portalView .work-stats small{color:#617a8d;font-size:12px}
#portalView .work-stats strong{margin-top:12px;color:#143c59;font-size:26px;letter-spacing:-.025em}
#portalView .work-stats article.work-progress-ring{display:grid;place-items:center;padding:15px}
#portalView .work-progress-ring>div{display:flex;flex-direction:column;align-items:center;justify-content:center;width:130px;height:130px;border-radius:50%;background:radial-gradient(closest-side,#f9faf9 82%,transparent 83%),conic-gradient(#c89c3d var(--progress),#e4e8ea 0)}
#portalView .work-progress-ring strong{font-size:31px;margin:0 0 6px}
#portalView .work-progress-ring small{font-size:10px}
#portalView .work-section-label{display:flex;justify-content:space-between;gap:15px;margin:28px 0 14px;color:#264a65;font-size:15px;font-weight:700}
#portalView .work-section-label span{font-size:12px;font-weight:400;color:#758b9b}
#portalView .work-photos{margin-top:38px}
#portalView .work-photos>header{display:flex;align-items:center;justify-content:space-between;gap:15px}
#portalView .work-photos h4{margin:10px 0;font:400 34px/1.2 Georgia,serif;color:#153c57}
#portalView #workSync{font-size:12px;line-height:1.7;color:#667f91}
#portalView .work-filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
#portalView .work-filters button[aria-pressed=true]{border-color:#b68b33;background:#fff5d8;color:#7c5919}
#portalView .work-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#portalView .work-gallery figure{margin:0;border:1px solid #e2e5e7;border-radius:6px;overflow:hidden;background:#fff}
#portalView .work-gallery figure button{display:block;width:100%;height:340px;padding:0;border:0;background:#102b40;color:#c6d4df;cursor:zoom-in}
#portalView .work-gallery img{display:block;width:100%;height:100%;object-fit:contain}
#portalView .work-gallery figcaption{padding:19px 22px}
#portalView .work-gallery small{font-size:10px;color:#aa802a;letter-spacing:.1em;text-transform:uppercase}
#portalView .work-gallery strong{display:block;margin:9px 0;color:#1c415d;font-size:16px}
#portalView .work-gallery figcaption span{color:#7a8c99;font-size:12px}
#portalView .work-empty{grid-column:1 / -1;padding:45px 25px;border:1px dashed #b9c9d3;background:#f5f8f9;color:#35566e;text-align:center}
#portalView .work-empty strong{font:400 28px Georgia,serif}
#portalView .work-empty p{font-size:14px;line-height:1.7}
#portalView #workMore{display:block;margin:22px auto}
#portalView .progress-hide{display:none}
.work-photo-dialog{width:95vw;max-width:1500px;max-height:95dvh;padding:20px;border:1px solid #476074;border-radius:8px;background:#071f35;color:#fff}
.work-photo-dialog::backdrop{background:rgba(2,15,27,.88)}
.work-photo-dialog button{display:block;margin:0 0 16px auto;min-height:44px;padding:10px 18px;border:1px solid #688193;border-radius:4px;background:none;color:#fff;cursor:pointer}
.work-photo-dialog img{display:block;width:100%;max-height:75dvh;object-fit:contain}
.work-photo-dialog p{font-size:14px;text-align:center}
@media(max-width:800px){#portalView .investment-dashboard{grid-template-columns:1fr}#portalView .investment-visual{min-height:350px}#portalView .work-stats{grid-template-columns:repeat(2,1fr)}#portalView .schedule-dashboard{grid-template-columns:1fr}#portalView .document-preview-content{grid-template-columns:1fr;padding:22px}#portalView .document-preview-actions{grid-column:1;grid-row:auto;max-width:none}#portalView .document-frame{margin:0 10px 10px;height:75svh;min-height:500px}#portalView #planFrame{height:80svh;min-height:550px}#portalView .work-heading{flex-direction:column}}
@media(max-width:560px){#portalView .expediente-overview{grid-template-columns:repeat(2,1fr)}#portalView .work-gallery{grid-template-columns:1fr}#portalView .work-gallery figure button{height:300px}#portalView .work-stats article{padding:16px}#portalView .work-stats strong{font-size:23px}#portalView .work-section-label{flex-direction:column}#portalView .document-index .document-item{max-width:none}#portalView .investment-insight{padding:20px}#portalView .work-photos>header{align-items:start;flex-direction:column}}
#portalView .plan-specialties{flex-wrap:wrap;overflow:visible;padding-bottom:0}
@media(min-width:801px) and (max-width:1100px){#portalView .work-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
