:root{--bg:#f3f8f6;--paper:#fff;--ink:#13171f;--muted:#5c6872;--line:#d7e4df;--accent:#243457;--accent-dark:#13171f;--accent-soft:#e7fbf0;--brand-green:#58df93;--brand-green-dark:#209765;--brand-navy:#243457;--brand-ink:#13171f;--good:#168459;--warn:#9a6200;--danger:#9a2f2f;--shadow:0 14px 36px rgba(19,23,31,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1180px,calc(100% - 32px));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-row{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand:hover{text-decoration:none}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--accent);color:white;font-weight:800;letter-spacing:.04em}.brand-logo-wrap{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex:0 0 auto}.brand-logo{display:block;max-width:54px;max-height:54px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(19,23,31,.08))}.brand-copy strong{display:block;letter-spacing:.06em}.brand-copy small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.mainnav{display:flex;align-items:center;gap:20px;font-size:14px}.mainnav a{color:var(--ink)}.mainnav .admin-link{color:var(--accent);font-weight:700}.mainnav form{margin:0}.link-button{background:none;border:0;padding:0;color:var(--ink);font:inherit;cursor:pointer}.nav-toggle{display:none}.site-footer{margin-top:64px;padding:28px 0;border-top:5px solid var(--brand-green);color:#dce5ef;font-size:13px;background:var(--brand-navy)}.hero{background:linear-gradient(180deg,#fff 0%,#fbf8f9 100%);border-bottom:1px solid var(--line);padding:54px 0 40px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:var(--accent);margin-bottom:10px}.hero h1,.page-head h1,.manage-head h1,.form-card h1{font-size:clamp(32px,4vw,54px);line-height:1.04;margin:0 0 14px;letter-spacing:-.035em}.hero p,.manage-head p,.page-head p{color:var(--muted);font-size:17px;max-width:760px;line-height:1.6}.hero-search{display:flex;gap:10px;margin-top:24px;max-width:760px}.hero-search input,.filter-form input,.manage-search input{flex:1;min-width:0;height:50px;border:1px solid var(--line);border-radius:10px;padding:0 15px;background:#fff;font-size:16px}.hero-search button,.filter-form button,.manage-search button{border:0;border-radius:10px;background:var(--accent);color:white;font-weight:700;padding:0 22px;cursor:pointer}.hero-stats{display:flex;gap:28px;margin-top:18px;color:var(--muted);font-size:13px}.hero-stats strong{color:var(--ink);font-size:18px;margin-right:5px}.process-shell{display:grid;grid-template-columns:155px minmax(0,1fr) 155px;gap:22px;align-items:stretch;padding-top:40px}.process-map{min-width:0}.flow-side{align-self:stretch;border:1px solid var(--line);background:white;border-radius:14px;padding:22px 16px;display:flex;flex-direction:column;justify-content:center;gap:9px;text-align:center;color:var(--muted);box-shadow:var(--shadow);font-size:13px}.flow-side strong{color:var(--ink);letter-spacing:.06em}.macro-card{background:white;border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow)}.macro-card header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px}.macro-card h2{font-size:20px;margin:0}.macro-card header>span{font-size:12px;color:var(--muted);white-space:nowrap}.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}.process-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px 13px;color:var(--ink);background:#fff;min-height:54px;transition:.15s ease}.process-chip:hover{text-decoration:none;border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.process-chip span{font-size:14px;font-weight:650}.process-chip small{color:var(--muted);white-space:nowrap}.flow-arrow{text-align:center;font-size:28px;line-height:34px;color:#8c9399}.reference-note{margin-top:22px}.reference-note details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}.reference-note summary{cursor:pointer;font-weight:650}.reference-note img{width:100%;margin-top:14px;border-radius:8px;border:1px solid var(--line)}.page-head{padding-top:42px;padding-bottom:24px}.page-head.compact{padding-bottom:18px}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-bottom:20px}.breadcrumbs a{color:var(--muted)}.page-head-row,.document-heading,.manage-head,.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.count-badge{min-width:96px;height:96px;border-radius:18px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:28px;box-shadow:var(--shadow)}.count-badge small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.doc-section{margin:16px 0 28px}.doc-section h2{font-size:18px;margin:0 0 10px}.doc-list{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.doc-row{display:grid;grid-template-columns:145px minmax(0,1fr) 120px 24px;gap:14px;align-items:center;padding:15px 16px;border-bottom:1px solid var(--line);color:var(--ink)}.doc-row:last-child{border-bottom:0}.doc-row:hover{text-decoration:none;background:#fbf8f9}.doc-code{font-weight:800;color:var(--accent);font-size:13px}.doc-title{min-width:0}.doc-title small{display:block;color:var(--muted);margin-top:4px}.doc-meta{font-size:12px;color:var(--muted);text-align:right}.arrow{text-align:right;color:var(--accent);font-size:20px}.warning-pill{font-style:normal;font-size:10px;background:#fff2d7;color:#805100;border:1px solid #eed39a;padding:3px 6px;border-radius:999px;margin-left:7px;white-space:nowrap}.empty-state{padding:34px;background:#fff;border:1px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted)}.code-heading{display:block;font-size:15px;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}.actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:9px;background:var(--accent);color:white;border:1px solid var(--accent);padding:0 15px;font-weight:700;font-size:13px;cursor:pointer}.button:hover{text-decoration:none;background:var(--accent-dark)}.button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:var(--accent);color:var(--accent)}.button.small{min-height:34px;padding:0 11px}.button.full{width:100%}.document-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}.viewer-panel,.metadata-panel,.panel,.form-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.viewer-toolbar{min-height:52px;padding:10px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.viewer-toolbar div{display:flex;gap:14px}.pdf-frame{display:block;width:100%;height:760px;border:0;border-radius:0 0 14px 14px;background:#e8ebee}.metadata-panel{padding:20px}.metadata-panel h2{margin-top:0;font-size:17px}.metadata-panel dl{margin:0}.metadata-panel dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:16px}.metadata-panel dd{margin:4px 0 0;font-size:14px}.status{display:inline-block;border-radius:999px;padding:3px 8px;background:#eef1f3;font-size:11px;font-weight:700}.status-current{background:#e8f5ed;color:var(--good)}.status-draft,.status-review{background:#fff2d7;color:var(--warn)}.status-obsolete{background:#f1f1f1;color:#777}.warning-box,.info-box{margin-top:18px;padding:12px;border-radius:10px;background:#fff6df;border:1px solid #ecd7a9;font-size:13px;line-height:1.5}.no-preview{padding:70px 28px;text-align:center;color:var(--muted)}.no-preview strong{display:block;color:var(--ink);font-size:20px}.no-preview .button{margin:8px 4px 0}.versions{margin-top:24px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.table-wrap th,.table-wrap td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.table-wrap th{background:#f8f8f7;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.table-wrap tr:last-child td{border-bottom:0}.text-action{border:0;background:none;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;padding:0}.filter-form{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(220px,1fr) 190px auto;gap:10px;margin-top:24px}.filter-form select,.input,.auth-card input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:#fff;font-size:15px}.filter-form button{min-height:46px}.results-head{margin:0 0 10px;color:var(--muted);font-size:13px}.messages{padding-top:14px}.message{padding:12px 14px;border-radius:9px;background:#e8f5ed;color:var(--good);border:1px solid #badfc9}.message.error{background:#fceaea;color:var(--danger);border-color:#e6b9b9}.manage-head{padding-top:40px;padding-bottom:20px}.manage-head h1{font-size:42px}.manage-nav{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:22px}.manage-nav a{padding:8px 11px;border-radius:8px;color:var(--ink);font-size:13px;font-weight:650}.manage-nav a:hover{background:#fff;text-decoration:none}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px}.metric strong{display:block;font-size:32px}.metric span{color:var(--muted);font-size:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.panel{padding:20px}.panel h2{font-size:17px;margin:0 0 14px}.issue-list>div,.audit-list>div{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;font-size:13px}.issue-list>div:last-child,.audit-list>div:last-child{border-bottom:0}.issue-list span,.audit-list span,.audit-list small{color:var(--muted)}.audit-list>div{display:grid;grid-template-columns:1fr}.manage-search{display:flex;gap:10px;margin-bottom:14px}.manage-search button{height:46px}.dot-warning{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:5px;border-radius:50%;background:#fff2d7;color:var(--warn);font-size:11px}.form-shell{padding-top:42px}.form-shell .form-card{max-width:760px;margin:auto;padding:26px}.form-shell.wide .form-card{max-width:980px}.form-card h1{font-size:36px}.form-card form{margin-top:18px}.field{margin:0 0 16px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.field .errorlist{color:var(--danger);font-size:12px;margin:6px 0;padding-left:18px}.field small{display:block;color:var(--muted);margin-top:5px}.field-check{display:flex;align-items:center;gap:10px}.field-check label{margin:0}.field-check .checkbox{order:-1;width:20px;height:20px}.form-actions{display:flex;gap:10px;margin-top:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.span-2{grid-column:1/-1}.form-note{padding:12px;background:#f7f7f5;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:13px}.manage-map{display:grid;gap:14px}.manage-macro{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.manage-macro>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;background:#faf9f8;border-bottom:1px solid var(--line)}.manage-macro h2{font-size:17px;margin:0}.manage-macro small,.manage-process small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.manage-process{display:flex;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:13px}.manage-process:last-child{border-bottom:0}.muted{color:var(--muted)}.auth-shell{min-height:540px;display:grid;place-items:center;padding-top:40px}.auth-card{width:min(440px,100%);padding:28px}.auth-card h1{font-size:34px}.auth-card label{display:block;font-size:13px;font-weight:700;margin:14px 0}.auth-card input{display:block;margin-top:6px}.auth-card>a{display:block;text-align:center;margin-top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.process-shell{grid-template-columns:1fr}.flow-side{display:none}.document-layout{grid-template-columns:1fr}.metadata-panel{order:-1}.filter-form{grid-template-columns:1fr 1fr}.filter-form input{grid-column:1/-1}.metric-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.pdf-frame{height:620px}}
@media(max-width:700px){.container{width:min(100% - 22px,1180px)}.site-header{position:relative}.header-row{height:auto;min-height:68px;flex-wrap:wrap;padding:10px 0}.nav-toggle{display:block;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 11px}.mainnav{display:none;width:100%;flex-direction:column;align-items:stretch;padding:8px 0 12px}.mainnav.open{display:flex}.mainnav a,.mainnav .link-button{display:block;padding:8px 0}.hero{padding:36px 0 28px}.hero-search{display:grid}.hero-search button{height:48px}.macro-card{padding:16px}.macro-card header{align-items:flex-start;flex-direction:column;gap:5px}.process-grid{grid-template-columns:1fr}.page-head-row,.document-heading,.manage-head,.section-title-row{flex-direction:column}.count-badge{width:100%;height:70px;flex-direction:row;gap:8px}.doc-row{grid-template-columns:100px minmax(0,1fr) 22px}.doc-meta{display:none}.viewer-toolbar{align-items:flex-start;flex-direction:column}.pdf-frame{height:500px}.filter-form{grid-template-columns:1fr}.filter-form input{grid-column:auto}.metric-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-shell .form-card{padding:18px}.table-wrap{border-radius:8px}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.hero-stats{flex-direction:column;gap:6px}.doc-row{grid-template-columns:82px minmax(0,1fr) 18px;padding:12px 10px}.pdf-frame{height:420px}.actions{width:100%}.actions .button{flex:1}.form-actions{flex-direction:column}}
.metric-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-list>div{border:1px solid var(--line);border-radius:10px;padding:14px}.metric-list strong{display:block;font-size:24px}.metric-list span{color:var(--muted);font-size:12px}@media(max-width:520px){.metric-list{grid-template-columns:1fr}}
/* Visor documental multiformato */
.multiformat-toolbar{flex-wrap:wrap}.viewer-status,.viewer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.format-pill{display:inline-flex;align-items:center;min-height:26px;padding:2px 9px;border-radius:999px;background:#f4eef0;color:var(--accent);border:1px solid #e6d7dc;font-size:11px;font-weight:800}.viewer-select-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.viewer-select{min-height:36px;max-width:280px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 30px 6px 9px;color:var(--ink);font:inherit}.viewer-stage{background:#e8ebee;min-height:500px}.universal-frame{background:#fff}.generated-preview-note{padding:9px 14px;border-top:1px solid var(--line);color:var(--muted);background:#fbfbfa;font-size:11px;border-radius:0 0 14px 14px}.preview-error{max-width:680px;margin:12px auto;padding:10px 12px;border:1px solid #e5baba;background:#fff0f0;color:var(--danger);border-radius:9px;font-size:12px;text-align:left}.preview-error-inline{color:var(--danger);font-weight:700}.viewer-info{background:#f6f7fb;border-color:#dfe2ed;color:var(--ink)}
@media(max-width:700px){.viewer-actions{width:100%}.viewer-select{max-width:100%;width:100%}.viewer-select-label{width:100%}}
/* Visor documental multiformato */
.multiformat-toolbar{flex-wrap:wrap}.viewer-status,.viewer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.format-pill{display:inline-flex;align-items:center;min-height:26px;padding:2px 9px;border-radius:999px;background:#f4eef0;color:var(--accent);border:1px solid #e6d7dc;font-size:11px;font-weight:800}.viewer-select-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.viewer-select{min-height:36px;max-width:280px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 30px 6px 9px;color:var(--ink);font:inherit}.viewer-stage{background:#e8ebee;min-height:500px}.universal-frame{background:#fff}.generated-preview-note{padding:9px 14px;border-top:1px solid var(--line);color:var(--muted);background:#fbfbfa;font-size:11px;border-radius:0 0 14px 14px}.preview-error{max-width:680px;margin:12px auto;padding:10px 12px;border:1px solid #e5baba;background:#fff0f0;color:var(--danger);border-radius:9px;font-size:12px;text-align:left}.preview-error-inline{color:var(--danger);font-weight:700}.viewer-info{background:#f6f7fb;border-color:#dfe2ed;color:var(--ink)}
@media(max-width:700px){.viewer-actions{width:100%}.viewer-select{max-width:100%;width:100%}.viewer-select-label{width:100%}}
.history-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.history-actions form{margin:0}.history-actions a{font-weight:700}

/* =========================================================
   AJUSTE RESPONSIVE DEL VISOR DOCUMENTAL
   - Amplía la ficha del documento en pantallas grandes.
   - Mantiene el panel de información a la derecha.
   - Se adapta automáticamente en tablet y móvil.
   ========================================================= */

.document-layout{
    width:min(1600px,calc(100% - 32px));
    max-width:none;
    grid-template-columns:minmax(0,1fr) 260px;
    gap:18px;
}

.document-wide{
    width:min(1600px,calc(100% - 32px));
    max-width:none;
    margin-inline:auto;
}

.pdf-frame,
.universal-frame{
    width:100%;
    height:clamp(620px,72vw,950px);
}

.viewer-stage{
    min-height:620px;
}

/* Tablet: información debajo del visor */
@media(max-width:900px){
    .document-layout{
        width:min(100% - 22px,100%);
        grid-template-columns:1fr;
    }

    .document-wide{
        width:min(100% - 22px,100%);
    }

    .metadata-panel{
        order:0;
    }

    .pdf-frame,
    .universal-frame{
        height:700px;
    }

    .viewer-stage{
        min-height:700px;
    }
}

/* Móvil */
@media(max-width:700px){
    .document-layout,
    .document-wide{
        width:min(100% - 22px,100%);
    }

    .pdf-frame,
    .universal-frame{
        height:560px;
    }

    .viewer-stage{
        min-height:560px;
    }
}

/* Móvil pequeño */
@media(max-width:430px){
    .pdf-frame,
    .universal-frame{
        height:460px;
    }

    .viewer-stage{
        min-height:460px;
    }
}


/* =========================================================
   EDICIÓN RÁPIDA + GENERACIÓN MANUAL DE PDF
   ========================================================= */
.edit-section-title{font-size:20px;margin:26px 0 14px}.edit-section-title.no-margin{margin:0}.edit-divider{height:1px;background:var(--line);margin:30px 0}.current-file{margin:7px 0 0;font-size:13px;word-break:break-word}.workfile-form{margin-top:18px!important;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fbfbfa}.pdf-generation-box{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px;border:1px solid #e2d6da;border-radius:12px;background:var(--accent-soft)}.pdf-generation-box h2{margin:0 0 7px;font-size:20px}.pdf-generation-box p{margin:0;color:var(--muted);line-height:1.5}.pdf-generation-box form{margin:0;flex:0 0 auto}.button:disabled{opacity:.45;cursor:not-allowed}.legacy-versions details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}.legacy-versions summary{cursor:pointer;font-weight:700}.legacy-versions .table-wrap{margin-top:12px}

/* Ajuste manual del tamaño del visor. Auto conserva el comportamiento responsive. */
.viewer-size-control{display:inline-flex!important;align-items:center;gap:3px!important;border:1px solid var(--line);border-radius:9px;padding:2px;background:#fff}.viewer-size-control button{min-width:34px;height:32px;border:0;background:transparent;color:var(--ink);border-radius:6px;font:inherit;font-weight:800;cursor:pointer}.viewer-size-control button:hover{background:var(--accent-soft);color:var(--accent)}.viewer-size-auto{font-size:11px!important;min-width:44px!important;font-weight:700!important}

@media(max-width:700px){.pdf-generation-box{align-items:stretch;flex-direction:column}.pdf-generation-box form,.pdf-generation-box .button{width:100%}.viewer-size-control{width:auto!important}.viewer-size-control button{flex:1}}

/* =========================================================
   VISOR DOBLE: VISITANTE + ADMINISTRACIÓN
   Controles independientes de alto y ancho.
   Auto restaura el tamaño responsive definido por CSS.
   ========================================================= */
.viewer-dimension-controls{display:flex!important;align-items:center;gap:8px!important;flex-wrap:wrap}.viewer-size-group{display:flex;align-items:center;gap:5px}.viewer-size-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.viewer-size-control{display:inline-flex!important;align-items:center;gap:3px!important;border:1px solid var(--line);border-radius:9px;padding:2px;background:#fff}.viewer-size-control button{min-width:34px;height:32px;border:0;background:transparent;color:var(--ink);border-radius:6px;font:inherit;font-weight:800;cursor:pointer}.viewer-size-control button:hover{background:var(--accent-soft);color:var(--accent)}.viewer-size-auto{font-size:11px!important;min-width:44px!important;font-weight:700!important}

.admin-viewer-shell{width:min(1600px,calc(100% - 32px));max-width:none;margin:30px auto 0}.admin-viewer-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px}.admin-viewer-heading h2{margin:0 0 6px;font-size:24px}.admin-viewer-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.admin-viewer-panel{width:100%}.admin-no-preview{background:#fff;border-radius:14px}.admin-viewer-shell .pdf-frame,.admin-viewer-shell .universal-frame{height:clamp(620px,72vw,950px)}.admin-viewer-shell .viewer-stage{min-height:620px}

@media(max-width:900px){.admin-viewer-shell{width:min(100% - 22px,100%)}.admin-viewer-heading{align-items:flex-start;flex-direction:column}.viewer-dimension-controls{width:100%}.viewer-size-group{flex:1;min-width:150px}.viewer-size-control{flex:1}.viewer-size-control button{flex:1}.admin-viewer-shell .pdf-frame,.admin-viewer-shell .universal-frame{height:700px}.admin-viewer-shell .viewer-stage{min-height:700px}}
@media(max-width:700px){.admin-viewer-shell{width:min(100% - 22px,100%)}.viewer-size-group{width:100%}.admin-viewer-shell .pdf-frame,.admin-viewer-shell .universal-frame{height:560px}.admin-viewer-shell .viewer-stage{min-height:560px}}
@media(max-width:430px){.admin-viewer-shell .pdf-frame,.admin-viewer-shell .universal-frame{height:460px}.admin-viewer-shell .viewer-stage{min-height:460px}}

/* =========================================================
   MAPA OFICIAL 26/08/2026
   Fuente única: 01_DOCUMENTACION_RECIBIDA/Mapa de procesos/
   _Mapa_de_Procesos_Editable.pptx
   ========================================================= */
.map-wide{width:min(1500px,calc(100% - 32px));max-width:none;margin-inline:auto}.map-hero{padding-bottom:34px}.official-process-map{padding-top:34px;display:grid;gap:24px}.map-band,.official-macro{background:#fff;border:2px solid #169a9b;border-radius:24px;box-shadow:var(--shadow)}.map-band{padding:20px 28px;text-align:center;display:grid;gap:7px}.map-band strong{font-size:18px;letter-spacing:.015em}.map-band b{font-size:16px}.map-band span{color:var(--muted);line-height:1.55}.map-core-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}.official-macro{padding:24px 26px}.official-macro header{margin-bottom:12px}.official-macro h2{font-size:20px;margin:0}.official-macro header span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.official-process-list{display:grid;gap:3px}.official-process-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border-radius:9px;color:var(--ink);font-weight:650}.official-process-link::before{content:"•";color:#169a9b}.official-process-link span{flex:1}.official-process-link small{min-width:28px;text-align:center;padding:2px 7px;border-radius:999px;background:#eef7f7;color:#236d6e}.official-process-link:hover{text-decoration:none;background:#f3fbfb}.improvement-band{gap:12px}.improvement-title{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.improvement-title span{font-size:12px}.improvement-processes{display:flex;justify-content:center;gap:8px 18px;flex-wrap:wrap}.improvement-processes a{color:var(--ink);font-weight:650}.improvement-processes a small{color:var(--muted);font-weight:500}.feedback-band{text-align:center;display:grid;gap:4px;padding:8px 12px 0}.feedback-band strong{font-size:18px}.feedback-band span{font-size:13px;color:var(--muted)}

/* Documentos con visor rápido reutilizable */
.document-card-list{display:grid;gap:10px}.document-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.document-card .doc-row{border-bottom:0}.quick-viewer{border-top:1px solid var(--line);background:#fbfbfa}.quick-viewer>summary{cursor:pointer;padding:10px 16px;color:var(--accent);font-size:12px;font-weight:800;user-select:none}.quick-viewer[open]>summary{border-bottom:1px solid var(--line)}.quick-viewer-inner{background:#fff}.quick-viewer-toolbar{border-radius:0}.quick-viewer-stage{min-height:520px}.quick-viewer-frame{height:clamp(520px,58vw,850px);border-radius:0}.quick-viewer-empty{padding:18px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.quick-viewer-empty p{margin:0;flex:1;min-width:260px;color:var(--muted)}.viewer-table-row>td{padding:0!important;background:#fbfbfa}.manage-doc-table .quick-viewer{border-top:0}.embedded-viewer-shell{margin-top:24px;margin-bottom:28px}.embedded-viewer-shell .viewer-panel{overflow:hidden}

/* El control manual se aplica en cualquier visor del portal o administración. */
[data-viewer-component]{max-width:100%}[data-viewer-component] .viewer-stage{width:100%;overflow:hidden}[data-viewer-component] [data-viewer-frame]{max-width:100%}

@media(max-width:1000px){.map-core-grid{grid-template-columns:1fr}.official-macro{padding:20px}.map-band{border-radius:18px}.improvement-processes{display:grid;grid-template-columns:1fr 1fr}.quick-viewer-stage{min-height:620px}.quick-viewer-frame{height:620px}}
@media(max-width:700px){.map-wide{width:min(100% - 22px,1500px)}.official-process-map{gap:16px}.map-band,.official-macro{border-radius:14px;padding:16px}.map-band strong{font-size:16px}.improvement-processes{grid-template-columns:1fr;text-align:left}.quick-viewer-toolbar{align-items:flex-start}.quick-viewer-stage{min-height:520px}.quick-viewer-frame{height:520px}.quick-viewer-empty{align-items:stretch;flex-direction:column}.quick-viewer-empty .button{width:100%}}
@media(max-width:430px){.quick-viewer-stage{min-height:440px}.quick-viewer-frame{height:440px}}

/* =========================================================
   PORTADA: MAPA DE PROCESOS / MANUAL DE CALIDAD
   ========================================================= */
.portal-home-hero{padding:70px 0 36px;background:linear-gradient(180deg,#fff 0%,#f8f4f5 100%);border-bottom:1px solid var(--line)}
.portal-home-inner{text-align:center}.portal-home-inner .eyebrow{margin-bottom:14px}.portal-home-inner h1{font-size:clamp(38px,5vw,68px);line-height:1;margin:0 0 16px;letter-spacing:-.045em}.portal-home-inner p{font-size:18px;color:var(--muted);margin:0 auto;max-width:700px}
.portal-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:40px}.portal-choice{position:relative;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:22px;padding:30px;background:#fff;color:var(--ink);box-shadow:var(--shadow);overflow:hidden;transition:.18s ease}.portal-choice:hover{text-decoration:none;transform:translateY(-3px);border-color:#c9b2b9}.portal-choice:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;bottom:-100px;background:var(--accent-soft);z-index:0}.portal-choice>*{position:relative;z-index:1}.portal-choice-number{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--muted)}.portal-choice-kicker{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:800;margin-bottom:12px}.portal-choice h2{font-size:clamp(30px,3vw,46px);letter-spacing:-.035em;margin:0 0 16px}.portal-choice p{color:var(--muted);font-size:16px;line-height:1.65;max-width:520px}.portal-choice-action{font-weight:800;color:var(--accent);display:flex;justify-content:space-between;align-items:center}.portal-choice-action b{font-size:26px}.portal-choice-manual{background:linear-gradient(145deg,#fff 0%,#fbf8f9 100%)}
.portal-home-search{margin-top:28px;padding:26px 30px;border:1px solid var(--line);background:#fff;border-radius:16px;display:grid;grid-template-columns:1fr minmax(360px,1fr);gap:24px;align-items:center}.portal-home-search h2{font-size:20px;margin:0 0 5px}.portal-home-search p{margin:0;color:var(--muted)}.portal-home-search .hero-search{margin:0;max-width:none}

/* Manual de Calidad */
.manual-hero{padding:42px 0 28px;background:linear-gradient(180deg,#fff 0%,#fbf8f9 100%);border-bottom:1px solid var(--line)}.manual-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;align-items:end}.manual-hero h1,.manual-page-head h1,.manual-related-head h1{font-size:clamp(34px,4vw,56px);letter-spacing:-.04em;line-height:1.03;margin:0 0 14px}.manual-hero p,.manual-page-head p,.manual-related-head p{color:var(--muted);font-size:16px;line-height:1.6;max-width:820px}.manual-summary{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:13px}.manual-summary strong{font-size:19px;color:var(--ink);margin-right:5px}.manual-document-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:20px;display:grid;gap:9px;box-shadow:var(--shadow)}.manual-document-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:800}.manual-document-card>span:not(.manual-document-label){font-size:12px;color:var(--muted)}.manual-document-card .button{margin-top:6px}
.manual-section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:34px}.manual-section-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start;min-height:290px;padding:24px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);box-shadow:var(--shadow);transition:.16s ease}.manual-section-card:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--accent)}.manual-section-index{font-size:11px;letter-spacing:.12em;color:var(--accent);font-weight:800}.manual-section-copy{align-self:center}.manual-section-copy h2{font-size:25px;line-height:1.12;margin:0 0 12px;letter-spacing:-.025em}.manual-section-copy p{color:var(--muted);line-height:1.55;margin:0}.manual-section-stats{display:flex;flex-direction:column;gap:4px;margin-top:17px;color:var(--muted);font-size:12px}.manual-section-arrow{font-size:25px;color:var(--accent);align-self:end}.manual-section-3{background:linear-gradient(145deg,#fff 0%,#faf7f8 100%)}
.manual-page-head{padding-bottom:14px}.manual-procedure-list{display:grid;gap:15px}.manual-procedure-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:19px 20px;box-shadow:0 8px 24px rgba(24,30,36,.04)}.manual-procedure-main{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:15px;align-items:center}.manual-procedure-code{font-size:12px;font-weight:850;letter-spacing:.04em;color:var(--accent)}.manual-procedure-main h2{font-size:17px;margin:0}.manual-procedure-status{font-size:10px;font-weight:750;padding:4px 8px;border-radius:999px;white-space:nowrap}.manual-procedure-status.available{background:#e8f5ed;color:var(--good)}.manual-procedure-status.missing{background:#fff2d7;color:var(--warn)}.manual-procedure-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.manual-count{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;margin-left:7px;background:#f1f2f3;font-size:10px;color:var(--muted)}.button.disabled{background:#eee;color:#888;border-color:#ddd;cursor:not-allowed}.manual-procedure-card .quick-viewer{margin-top:12px}.manual-related-head .button{margin-top:8px}.manual-related-list{display:grid;gap:14px}.manual-related-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.manual-empty{margin-top:0}

@media(max-width:1000px){.manual-section-grid{grid-template-columns:1fr}.manual-section-card{min-height:190px}.manual-hero-grid{grid-template-columns:1fr}.portal-home-search{grid-template-columns:1fr}.portal-choice-grid{grid-template-columns:1fr}.portal-choice{min-height:300px}}
@media(max-width:700px){.portal-home-hero{padding:44px 0 26px}.portal-choice-grid{padding-top:22px;gap:14px}.portal-choice{min-height:260px;padding:21px}.portal-home-search{padding:20px}.manual-section-card{grid-template-columns:auto 1fr;min-height:0}.manual-section-arrow{display:none}.manual-procedure-main{grid-template-columns:1fr;gap:7px}.manual-procedure-status{justify-self:start}.manual-procedure-actions .button{flex:1;min-width:140px}.manual-hero{padding-top:26px}}

/* Administración contextual de formatos e instructivos del Manual de Calidad */
.manual-related-head-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.manual-related-card-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.manual-related-card-top .doc-row{min-width:0}.manual-replace-button{margin-right:14px;white-space:nowrap}.manual-related-form-head{padding-bottom:10px}.manual-related-form-head h1{font-size:clamp(32px,4vw,50px);letter-spacing:-.035em;margin:8px 0}.manual-admin-form-wrap{max-width:760px}.manual-admin-form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow);display:grid;gap:18px}.manual-admin-form .field{display:grid;gap:7px}.manual-admin-form .field label{font-size:12px;font-weight:800;color:var(--ink)}.manual-admin-form .field small{color:var(--muted);font-size:12px}.manual-admin-form .errorlist{margin:0;padding-left:18px;color:#a5262b;font-size:12px}.manual-admin-form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:4px}
@media(max-width:700px){.manual-related-card-top{grid-template-columns:1fr}.manual-replace-button{margin:0 14px 12px}.manual-admin-form{padding:18px}.manual-admin-form-actions .button{flex:1}}

/* =========================================================
   REDISEÑO INSTITUCIONAL 2026
   Paleta inspirada exclusivamente en la comunicación visual
   institucional suministrada: verde menta + azul marino + blanco.
   ========================================================= */
.site-header{border-bottom-color:#dbe8e3;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.brand-mark{background:var(--brand-navy);border-radius:9px;box-shadow:inset 0 -3px 0 rgba(88,223,147,.9)}
.brand strong{color:var(--brand-navy)}
.mainnav a:hover,.mainnav .admin-link{color:var(--brand-green-dark)}
.eyebrow{color:var(--brand-green-dark)}
.hero-search button,.filter-form button,.manage-search button,.button{background:var(--brand-navy);border-color:var(--brand-navy)}
.hero-search button:hover,.filter-form button:hover,.manage-search button:hover,.button:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.button.secondary:hover{border-color:var(--brand-green-dark);color:var(--brand-green-dark)}
.doc-code,.code-heading,.arrow,.text-action{color:var(--brand-navy)}

.institutional-home-hero{position:relative;overflow:hidden;background:linear-gradient(118deg,#58df93 0%,#72e7a7 48%,#effcf5 100%);border-bottom:0}
.institutional-home-hero:after{content:"";position:absolute;right:-120px;top:-180px;width:480px;height:480px;border-radius:50%;border:80px solid rgba(36,52,87,.08)}
.institutional-home-hero .portal-home-inner{position:relative;z-index:1}
.institutional-home-hero .eyebrow{color:var(--brand-navy)}
.institutional-home-hero h1{color:var(--brand-ink)}
.institutional-home-hero p{color:#2d4e4b}
.portal-choice-grid-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.portal-choice-grid-three .portal-choice{min-height:390px;border:0;border-top:7px solid var(--brand-green);box-shadow:0 18px 44px rgba(19,23,31,.10)}
.portal-choice-grid-three .portal-choice:after{background:rgba(88,223,147,.16)}
.portal-choice-grid-three .portal-choice:hover{border-color:var(--brand-green);box-shadow:0 22px 52px rgba(19,23,31,.14)}
.portal-choice-grid-three .portal-choice-number{color:#81908b}
.portal-choice-grid-three .portal-choice-kicker{color:var(--brand-green-dark)}
.portal-choice-grid-three .portal-choice h2{color:var(--brand-navy);font-size:clamp(27px,2.6vw,42px)}
.portal-choice-grid-three .portal-choice-action{color:var(--brand-navy)}
.portal-choice-departments{background:linear-gradient(145deg,#243457 0%,#17233c 100%)!important;color:#fff!important;border-top-color:#58df93!important}
.portal-choice-departments:after{background:rgba(88,223,147,.20)!important}
.portal-choice-departments h2,.portal-choice-departments .portal-choice-action{color:#fff!important}
.portal-choice-departments p,.portal-choice-departments .portal-choice-number{color:#dce4ef!important}
.portal-choice-departments .portal-choice-kicker{color:#73e8aa!important}
.portal-home-search{border-top:5px solid var(--brand-green);box-shadow:0 10px 30px rgba(19,23,31,.05)}

/* Nuevo mapa de procesos */
.institutional-map-hero{background:linear-gradient(180deg,#fff 0%,#effaf5 100%)}
.map-2026{padding-top:34px}
.map-2026-title{background:var(--brand-navy);color:#fff;border-radius:16px 16px 0 0;padding:18px 24px;text-align:center;text-transform:uppercase;letter-spacing:.055em;font-size:18px;font-weight:850}
.map-2026-flow{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr) minmax(150px,190px);gap:16px;padding:18px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 18px 18px;box-shadow:var(--shadow)}
.map-2026-side{border-radius:14px;padding:20px 16px;display:flex;flex-direction:column;justify-content:center;gap:11px;background:#eef9f3;border:1px solid #ccebdd;color:#40524e;font-size:12px;line-height:1.45}
.map-2026-side strong{display:block;color:var(--brand-navy);font-size:18px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.map-2026-side span{padding:8px 9px;background:#fff;border-radius:8px;border-left:3px solid var(--brand-green)}
.map-2026-center{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:start}
.map-2026-group{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}
.map-2026-group>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;background:#f2f7f5;border-bottom:1px solid var(--line)}
.map-2026-group>header h2{margin:0;color:var(--brand-navy);font-size:17px}
.map-2026-group>header span{color:var(--muted);font-size:11px;white-space:nowrap}
.map-2026-processes{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:8px;padding:10px}
.map-2026-processes a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:9px 11px;border-radius:9px;background:#fff;border:1px solid #dce7e3;color:var(--ink);font-size:12px;font-weight:700;transition:.15s ease}
.map-2026-processes a:hover{text-decoration:none;border-color:var(--brand-green-dark);background:var(--accent-soft);transform:translateY(-1px)}
.map-2026-processes small{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#eef4f2;color:#4f6460;font-size:10px}
.map-group-10{grid-column:1/-1}.map-group-20{grid-column:1}.map-group-30{grid-column:2}.map-group-40{grid-column:3}.map-group-50{grid-column:1/-1}
.map-group-10>header,.map-group-50>header{background:var(--brand-navy)}
.map-group-10>header h2,.map-group-50>header h2{color:#fff}
.map-group-10>header span,.map-group-50>header span{color:#dce5ef}
.map-group-20{border-top:4px solid #58df93}.map-group-30{border-top:4px solid #42c97e}.map-group-40{border-top:4px solid #2ba56c}
.map-2026-processes .cross-process{box-shadow:inset 0 0 0 1px rgba(88,223,147,.4)}

/* Consulta por departamentos */
.department-hero{background:linear-gradient(115deg,#243457 0%,#1a2742 68%,#2b5d5a 100%);border-bottom:0}
.department-hero .eyebrow{color:#71e6a8}.department-hero h1{color:#fff}.department-hero p{color:#dce6ee}.department-hero .hero-stats{color:#c8d4dc}.department-hero .hero-stats strong{color:#fff}
.department-grid-wrap{padding-top:34px}.department-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.department-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:122px;padding:19px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);box-shadow:0 8px 26px rgba(19,23,31,.05);transition:.16s ease}
.department-card:hover{text-decoration:none;transform:translateY(-2px);border-color:#68dca0;box-shadow:0 14px 34px rgba(19,23,31,.09)}
.department-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--brand-green);color:var(--brand-navy);font-size:25px;font-weight:900}
.department-card h2,.department-card h3{margin:0 0 6px;color:var(--brand-navy);font-size:17px;line-height:1.2}.department-card h3{font-size:15px}
.department-card p{margin:0;color:var(--muted);font-size:12px}.department-card-arrow{color:var(--brand-green-dark);font-size:22px}
.department-page-head{padding-top:34px}.department-page-head h1{color:var(--brand-navy)}
.department-subfolders,.department-documents{margin-top:24px}.department-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.department-grid-compact .department-card{min-height:96px;padding:14px}
.department-documents .section-title-row>span{font-size:12px;color:var(--muted)}

/* Nombre visible: énfasis en el metadato amigable, no en el archivo físico. */
.document-heading h1,.doc-title strong,.manual-procedure-main h2{color:var(--brand-navy)}

@media(max-width:1100px){.map-2026-center{grid-template-columns:1fr}.map-group-10,.map-group-20,.map-group-30,.map-group-40,.map-group-50{grid-column:1}.portal-choice-grid-three{grid-template-columns:1fr}.portal-choice-grid-three .portal-choice{min-height:280px}.department-grid,.department-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.map-2026-flow{grid-template-columns:1fr}.map-2026-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.map-2026-side strong{grid-column:1/-1}}
@media(max-width:700px){.department-grid,.department-grid-compact{grid-template-columns:1fr}.department-card{min-height:96px}.map-2026-title{font-size:14px;border-radius:12px 12px 0 0}.map-2026-flow{padding:10px}.map-2026-side{grid-template-columns:1fr}.map-2026-processes{grid-template-columns:1fr}.portal-choice-grid-three .portal-choice{min-height:250px}}

@media(max-width:700px){.brand{gap:8px}.brand-logo-wrap{width:42px;height:42px}.brand-logo{max-width:42px;max-height:42px}.brand-copy small{font-size:11px}}

/* Reemplazo contextual para administradores en Mapa de procesos y Departamentos */
.context-document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-bottom:0}
.context-document-row>.doc-row{min-width:0}
.context-replace-button{align-self:center;margin-right:14px;white-space:nowrap}
@media(max-width:700px){.context-document-row{grid-template-columns:1fr}.context-replace-button{margin:0 14px 12px;justify-self:start}}

/* Administración contextual: agregar formatos/instructivos desde Departamentos */
.department-procedure-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px 0;border-top:1px dashed var(--line);margin-top:2px}.department-procedure-admin-actions>span{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.055em;margin-right:2px}@media(max-width:700px){.department-procedure-admin-actions .button{flex:1;min-width:140px}}


/* Buzón de sugerencias */
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer a{color:#73e8aa;font-weight:750}.suggestions-hero{background:linear-gradient(115deg,#243457 0%,#1a2742 66%,#2c615b 100%);color:#fff;padding:54px 0 46px}.suggestions-hero .eyebrow{color:#73e8aa}.suggestions-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.02;margin:0 0 15px;letter-spacing:-.04em}.suggestions-hero p{max-width:760px;color:#e0e9ef;font-size:17px;line-height:1.65;margin:0}.suggestion-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:24px;align-items:start;padding-top:34px}.suggestion-intro,.suggestion-form{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.suggestion-intro{padding:28px;position:sticky;top:96px}.suggestion-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--brand-green);color:var(--brand-navy);font-size:28px;font-weight:900;margin-bottom:20px}.suggestion-intro h2{color:var(--brand-navy);font-size:25px;margin:0 0 12px;letter-spacing:-.025em}.suggestion-intro p{color:var(--muted);line-height:1.65;margin:0}.suggestion-recipient{margin-top:24px;padding:15px 16px;border-radius:11px;background:#eef9f3;border-left:4px solid var(--brand-green)}.suggestion-recipient small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.suggestion-recipient strong{color:var(--brand-navy);font-size:14px;overflow-wrap:anywhere}.suggestion-form{padding:28px;display:grid;gap:19px;border-top:5px solid var(--brand-green)}.suggestion-field{display:grid;gap:7px}.suggestion-field label{font-size:13px;font-weight:800;color:var(--brand-navy)}.suggestion-field label span{font-size:10px;color:var(--muted);font-weight:650;margin-left:6px}.suggestion-field small{color:var(--muted);font-size:11px}.suggestion-field textarea.input{min-height:180px;resize:vertical;padding-top:13px}.suggestion-field .errorlist{margin:2px 0 0;padding-left:18px;color:var(--danger);font-size:12px}.suggestion-submit{justify-self:start;min-width:190px}
@media(max-width:850px){.suggestion-layout{grid-template-columns:1fr}.suggestion-intro{position:static}.footer-row{align-items:flex-start;flex-direction:column}.suggestion-submit{width:100%}}


/* Portada 2026: logotipo grande únicamente en el banner principal */
.portal-home-with-logo{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,390px);gap:44px;align-items:center}
.portal-home-copy{min-width:0}
.portal-home-logo-panel{justify-self:end;width:min(100%,360px);min-height:250px;display:flex;align-items:center;justify-content:center;padding:22px 28px;border-radius:28px;background:rgba(255,255,255,.92);border:1px solid rgba(36,52,87,.12);box-shadow:0 22px 54px rgba(36,52,87,.18);position:relative;overflow:hidden}
.portal-home-logo-panel:before{content:"";position:absolute;inset:auto -50px -80px auto;width:190px;height:190px;border-radius:50%;background:rgba(36,52,87,.07)}
.portal-home-logo-panel img{position:relative;z-index:1;display:block;width:min(100%,285px);height:auto;max-height:280px;object-fit:contain;filter:contrast(1.08) saturate(1.08) drop-shadow(0 8px 14px rgba(19,23,31,.10))}
.manual-pdf-head{padding-bottom:16px}.manual-pdf-viewer{margin-top:0}.manual-pdf-viewer .viewer-panel{overflow:hidden}
@media(max-width:900px){.portal-home-with-logo{grid-template-columns:1fr;gap:24px}.portal-home-logo-panel{justify-self:start;width:min(100%,320px);min-height:210px}.portal-home-logo-panel img{width:min(100%,240px)}}
@media(max-width:600px){.portal-home-logo-panel{width:100%;min-height:190px;padding:18px}.portal-home-logo-panel img{width:min(100%,210px)}}

.portal-home-logo-panel{justify-self:start;width:min(100%,330px);min-height:260px;display:flex;align-items:center;justify-content:flex-start;padding:0;position:relative}
.portal-home-logo-panel:before{content:"";position:absolute;left:50%;top:50%;width:255px;height:255px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18) 0%,rgba(255,255,255,.08) 46%,rgba(255,255,255,0) 72%);pointer-events:none}
.portal-home-logo-panel img{position:relative;z-index:1;display:block;width:min(100%,300px);height:auto;max-height:300px;object-fit:contain;filter:contrast(1.15) saturate(1.12) drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 9px 16px rgba(36,52,87,.24))}
.portal-home-copy{text-align:left}.portal-home-copy p{margin-left:0;margin-right:0}

@media(max-width:900px){.portal-home-with-logo{grid-template-columns:1fr;gap:16px}.portal-home-logo-panel{justify-self:center;width:min(100%,280px);min-height:210px;justify-content:center}.portal-home-logo-panel img{width:min(100%,235px)}.portal-home-copy{text-align:center}.portal-home-copy p{margin-left:auto;margin-right:auto}}
@media(max-width:600px){.portal-home-logo-panel{width:100%;min-height:175px}.portal-home-logo-panel img{width:min(100%,200px)}}

/* Ajuste final de identidad en portada: logo integrado a la izquierda, sin tarjeta blanca. */
.portal-home-with-logo{display:grid;grid-template-columns:minmax(230px,.78fr) minmax(0,1.7fr);align-items:center;gap:46px;text-align:left}
.portal-home-with-logo .portal-home-copy{grid-column:2}
.portal-home-with-logo .portal-home-logo-panel{grid-column:1;grid-row:1}
@media(max-width:900px){.portal-home-with-logo{grid-template-columns:1fr;text-align:center}.portal-home-with-logo .portal-home-copy,.portal-home-with-logo .portal-home-logo-panel{grid-column:1}.portal-home-with-logo .portal-home-logo-panel{grid-row:1}.portal-home-with-logo .portal-home-copy{grid-row:2}}

/* =========================================================
   PORTADA 2026 · Banner aprobado + Misión/Visión/Política/Valores
   Estos estilos se aplican únicamente a la página principal.
   ========================================================= */
.home-banner-2026{position:relative;container-type:inline-size;width:min(1500px,100%);aspect-ratio:1983/531;margin-inline:auto;background:#40c875;overflow:hidden;border-bottom:1px solid rgba(36,52,87,.08)}
/* Keep the approved banner composition; the wording is now sharp HTML text. */
.home-banner-art{position:absolute;inset:0;background-image:url('../img/home-sgc-banner-limpio-20260908.png');background-repeat:no-repeat;background-size:101.5% auto;background-position:center}
.home-banner-copy{position:absolute;left:33.1%;right:5%;top:21.3%;color:#002524}
.home-banner-copy .home-banner-kicker{margin:0;font-size:1.04cqw;font-weight:800;letter-spacing:.13em;line-height:1.3;text-transform:uppercase}
.home-banner-copy h1{margin:.8cqw 0 .75cqw;font-size:4.5cqw;line-height:1.05;font-weight:800;letter-spacing:-.03em}
.home-banner-copy h1 span{display:block;white-space:nowrap}
.home-banner-copy .home-banner-description{margin:0;color:#285252;font-size:1.33cqw;line-height:1.32}
.home-institutional-layout{display:grid;grid-template-columns:minmax(260px,.92fr) minmax(350px,1.18fr) minmax(260px,.92fr);gap:22px;align-items:start;padding-top:38px}
.home-institutional-column{display:grid;gap:18px;align-content:start}
.home-identity-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 24px 26px;box-shadow:0 12px 34px rgba(19,23,31,.065);overflow:hidden}
.home-identity-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--brand-green)}
.home-institutional-right .home-identity-card:before{background:var(--brand-navy)}
.home-identity-kicker{display:block;margin-bottom:8px;color:var(--brand-green-dark);font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.home-identity-card h2{margin:0 0 14px;color:var(--brand-navy);font-size:28px;letter-spacing:-.03em}
.home-identity-card p{margin:0 0 13px;color:#4e5e66;font-size:13px;line-height:1.72;text-align:left}
.home-identity-card p:last-child{margin-bottom:0}
.home-identity-card ul{margin:7px 0 13px;padding-left:18px;color:#4e5e66;font-size:12.5px;line-height:1.65}
.home-identity-card li+li{margin-top:7px}
.home-primary-column{display:grid;gap:18px;align-content:start}
.home-primary-heading{text-align:center;padding:4px 10px 6px}
.home-primary-heading>span{display:block;color:var(--brand-green-dark);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
.home-primary-heading h2{margin:0;color:var(--brand-navy);font-size:30px;letter-spacing:-.035em}
.home-primary-heading p{margin:8px auto 0;max-width:440px;color:var(--muted);font-size:13px;line-height:1.55}
.home-primary-choice{min-height:250px!important;padding:24px!important;border-radius:19px!important;border-top:6px solid var(--brand-green)!important}
.home-primary-choice h2{font-size:clamp(26px,2.4vw,38px)!important}
.home-primary-choice p{font-size:14px!important;line-height:1.58!important}
.home-primary-choice.portal-choice-departments{border-top-color:#58df93!important}
.home-values-list{list-style:none!important;padding-left:0!important;margin-top:14px!important;display:grid;gap:8px}
.home-values-list li{position:relative;margin:0!important;padding:9px 10px 9px 16px;border-radius:9px;background:#f5faf7;border-left:3px solid var(--brand-green);font-size:12px!important;line-height:1.5!important}
.home-values-list strong{color:var(--brand-navy)}
.home-search-after-identity{margin-top:30px}

@media(max-width:1180px){
  .home-institutional-layout{grid-template-columns:minmax(240px,.9fr) minmax(330px,1.1fr) minmax(240px,.9fr);gap:16px}
  .home-identity-card{padding:20px}
}
@media(max-width:980px){
  .home-institutional-layout{grid-template-columns:1fr 1fr;gap:18px}
  .home-primary-column{grid-column:1/-1;grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-primary-heading{grid-column:1/-1}
  .home-primary-choice{min-height:265px!important}
  .home-institutional-left{grid-column:1;grid-row:2}
  .home-institutional-right{grid-column:2;grid-row:2}
}
@media(max-width:700px){
  .home-banner-2026{aspect-ratio:auto;min-height:220px;padding:26px 5% 26px 33.1%;background:linear-gradient(110deg,#24b568,#cdebd8)}
  .home-banner-art{inset:50% auto auto 0;width:32%;aspect-ratio:1;transform:translateY(-50%);background-size:auto 126.2%;background-position:8% center}
  .home-banner-copy{position:relative;inset:auto}
  .home-banner-copy .home-banner-kicker{font-size:10px;line-height:1.4;letter-spacing:.09em}
  .home-banner-copy h1{font-size:clamp(22px,4.7vw,32px);margin:10px 0 12px;line-height:1.08}
  .home-banner-copy h1 span{white-space:normal}
  .home-banner-copy .home-banner-description{font-size:14px;line-height:1.4}
  .home-institutional-layout{grid-template-columns:1fr;padding-top:24px}
  .home-primary-column,.home-institutional-left,.home-institutional-right{grid-column:1;grid-row:auto}
  .home-primary-column{grid-template-columns:1fr}
  .home-primary-heading{grid-column:1}
  .home-primary-choice{min-height:235px!important}
  .home-identity-card h2{font-size:25px}
}

/* =========================================================
   PORTADA · ACCESOS DE IDENTIDAD INSTITUCIONAL
   Misión / Visión / Política / Valores
   Solo cambia el diseño de estos cuatro accesos.
   ========================================================= */
.home-institutional-icons-layout{
  grid-template-columns:minmax(190px,.72fr) minmax(430px,1.55fr) minmax(190px,.72fr);
  gap:28px;
  align-items:start;
}
.home-icon-column{
  display:grid;
  grid-template-rows:repeat(3,250px);
  gap:18px;
  padding-top:94px;
  position:static;
}
.home-institutional-icon-card{
  position:relative;
  min-height:0;
  height:250px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:22px 16px 20px;
  border:1px solid #d5e5df;
  border-radius:20px;
  background:linear-gradient(155deg,#ffffff 0%,#f6fbf8 100%);
  color:var(--brand-navy);
  box-shadow:0 12px 30px rgba(19,23,31,.065);
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.home-institutional-icon-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:var(--brand-green);
}
.home-institutional-icon-card::after{
  content:"";
  position:absolute;
  right:-46px;
  bottom:-52px;
  width:132px;
  height:132px;
  border-radius:50%;
  background:rgba(88,223,147,.11);
  pointer-events:none;
}
.home-institutional-right .home-institutional-icon-card{
  background:linear-gradient(155deg,#ffffff 0%,#f5f7fb 100%);
  border-color:#dbe1eb;
}
.home-institutional-right .home-institutional-icon-card::before{background:var(--brand-navy)}
.home-institutional-right .home-institutional-icon-card::after{background:rgba(36,52,87,.08)}
.home-institutional-icon-card:hover{
  text-decoration:none;
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(19,23,31,.11);
  border-color:#9fd8bf;
}
.home-institutional-right .home-institutional-icon-card:hover{border-color:#b9c5da}
.home-institutional-icon{
  position:relative;
  z-index:1;
  width:82px;
  height:82px;
  margin-bottom:15px;
  display:grid;
  place-items:center;
  border-radius:22px;
  color:var(--brand-navy);
  background:linear-gradient(145deg,#e9fff3,#d9f7e7);
  border:1px solid #c7ebda;
}
.home-institutional-right .home-institutional-icon{
  color:var(--brand-navy);
  background:linear-gradient(145deg,#eef2f9,#e3e9f2);
  border-color:#d4ddec;
}
.home-institutional-icon svg{
  display:block;
  width:48px;
  height:48px;
  overflow:visible;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:3!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.home-institutional-icon svg path,
.home-institutional-icon svg circle,
.home-institutional-icon svg line,
.home-institutional-icon svg polyline,
.home-institutional-icon svg polygon{
  fill:none!important;
  stroke:currentColor!important;
}
.home-institutional-icon-label{
  position:relative;
  z-index:1;
  display:block;
  color:var(--brand-navy);
  font-size:24px;
  line-height:1.1;
  font-weight:850;
  letter-spacing:-.025em;
}
.home-institutional-icon-card small{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:8px;
  color:var(--brand-green-dark);
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.10em;
}
.home-institutional-icon-card small::after{content:"→";font-size:13px}
.home-institutional-right .home-institutional-icon-card small{color:#52698f}
.institutional-pdf-head{padding-bottom:18px}
.institutional-pdf-viewer{margin-top:4px}

@media(max-width:1050px){
  .home-institutional-icons-layout{grid-template-columns:minmax(165px,.62fr) minmax(400px,1.5fr) minmax(165px,.62fr);gap:18px}
  .home-icon-column{grid-template-rows:repeat(3,230px);padding-top:94px}
  .home-institutional-icon-card{height:230px}
}
@media(max-width:900px){
  .home-institutional-icons-layout{grid-template-columns:1fr 1fr;gap:18px}
  .home-primary-column{grid-column:1/-1;grid-row:1}
  .home-icon-column{padding-top:0;grid-template-columns:1fr 1fr;grid-template-rows:none;gap:14px}
  .home-institutional-left{grid-column:1/-1;grid-row:2}
  .home-institutional-right{grid-column:1/-1;grid-row:3}
  .home-institutional-icon-card{height:180px}
}
@media(max-width:600px){
  .home-institutional-icons-layout{grid-template-columns:1fr}
  .home-icon-column{grid-template-columns:1fr 1fr;gap:10px}
  .home-institutional-icon-card{height:150px;padding:14px 8px}
  .home-institutional-icon{width:62px;height:62px;border-radius:17px;margin-bottom:10px}
  .home-institutional-icon svg{width:36px;height:36px}
  .home-institutional-icon-label{font-size:20px}
  .home-institutional-icon-card small{font-size:9px;margin-top:5px}
}

/* Banner supplied on 2026-09-11; retain the existing banner dimensions.
   The image already contains its text. Cover trims only the white margins. */
.home-banner-2026.home-banner-approved{aspect-ratio:1983/531;min-height:0;padding:0;background:#243457}
.home-banner-approved .home-banner-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.official-process-map .map-band>span>a{text-decoration:underline;text-underline-offset:.15em}

/* Integrate the supplied marks into the header on every page. Contrast makes
   the light gray paper white; multiply blends it with the header background. */
.brand-institutional-logos{display:block;height:64px;width:auto;max-width:230px;object-fit:contain;filter:contrast(1.16);mix-blend-mode:multiply}
@media(max-width:700px){.brand-institutional-logos{height:54px;max-width:calc(100vw - 112px)}}
