@charset "UTF-8";
:root{--ink:#193e33;--muted:#68766e;--green:#205b47;--light:#e8eee6;--paper:#f5f5ef;--border:#dce2d9;--error:#a53b32;--white:#fff;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 "Segoe UI",Arial,sans-serif}a{color:var(--green);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:38px;line-height:1.16;letter-spacing:-1.2px;margin-bottom:14px}h2{font-size:25px;line-height:1.25;letter-spacing:-.6px;margin-bottom:10px}h3{font-size:17px;margin-bottom:8px}p{color:var(--muted)}:focus-visible{outline:3px solid #bb963c;outline-offset:4px}.topbar{height:96px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fafbf6}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700;font-size:25px;letter-spacing:-.6px}.brand-mark{background:var(--ink);color:#e5ebce;width:43px;height:43px;border-radius:12px;display:grid;place-items:center;font:32px Georgia,serif}.brand-sub{font-size:9px;display:block;letter-spacing:2px;line-height:1.2;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:30px}.private-label{font-size:12px;color:var(--muted)}.private-label:before{content:"";display:inline-block;background:#698c60;width:7px;height:7px;border-radius:50%;margin-right:9px}.link-button{border:0;background:none;color:var(--ink);font-weight:600}.landing{max-width:1220px;margin:0 auto;padding:80px 36px 90px;display:grid;grid-template-columns:1.15fr 1fr;gap:110px;align-items:center}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:2px;color:#6f8065;margin-bottom:18px}.welcome h1{font:58px/1.08 Georgia,serif;letter-spacing:-2px;margin-bottom:25px}.welcome h1 em{color:#69835b;font-weight:normal}.lead{font-size:17px;max-width:470px}.journey{list-style:none;padding:0;margin:32px 0;display:grid;gap:22px}.journey li{display:flex;gap:18px}.journey li>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid #cbd6c5;border-radius:50%;font-size:11px;color:#6d805f;flex-shrink:0}.journey b{font-size:14px}.journey p{font-size:13px;margin:1px 0}.welcome-foot{font-size:9px;letter-spacing:1.5px;color:#7c8777;margin-top:35px}.login-card,.panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius)}.login-card{padding:42px;box-shadow:0 14px 45px #2c40250a}.small-icon{width:50px;height:50px;border-radius:14px;background:#edf1e7;display:grid;place-items:center;font-size:28px;font-family:Georgia,serif;margin-bottom:30px}.login-card p{font-size:14px}.login-form{margin-top:30px}.login-form label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}input:not([type=checkbox]),select{width:100%;border:1px solid #ced8cd;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink);min-height:46px}input:disabled{background:#f0f2ee;color:#8a9387}.login-form .button{width:100%;justify-content:space-between;margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:45px;border-radius:8px;border:1px solid transparent;padding:11px 19px;font-size:13px;font-weight:600;text-decoration:none;line-height:1.4;transition:background .15s}.primary{background:var(--green);color:white}.primary:hover{background:#173f32}.secondary{background:#fff;border-color:#cfd9cc;color:var(--ink)}.secondary:hover{background:#eff3eb}.subtle-box{background:#f2f5ed;border:1px solid #e5eadf;border-radius:9px;padding:16px;font-size:13px;color:#5f7058;margin:24px 0}.fine{font-size:12px!important;line-height:1.65}.footer{max-width:1220px;margin:0 auto;padding:25px 36px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#758170}.footer a{color:#758170}.center-page{min-height:70vh;display:grid;place-items:center;padding:55px 24px}.message-panel{padding:45px;max-width:560px;width:100%}.message-panel h1{font-size:32px}.prose{max-width:800px;padding:45px}.prose h2{font-size:20px;margin-top:28px}.workspace{max-width:1280px;padding:45px 36px 60px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:9px}.page-heading h1{font-size:34px}.page-heading p{font-size:13px;margin-bottom:0}.separator{margin:0 10px;color:#b3bdb0}.mono{font-family:monospace;font-size:11px}.status-badge{background:#e5ecdc;color:#53713f;border:1px solid #d8e2ca;border-radius:30px;padding:8px 15px;font-size:11px;white-space:nowrap}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:27px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:7px;gap:6px}.step{display:flex;align-items:center;gap:12px;background:none;border:0;color:#7b8677;padding:13px 17px;border-radius:8px;font-size:13px}.step span{width:25px;height:25px;display:grid;place-items:center;border:1px solid #d8dfd2;border-radius:50%;font-size:11px}.step.active{background:#edf3e6;color:var(--ink)}.step.active span{background:var(--ink);color:#fff;border-color:var(--ink)}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:25px;align-items:start}.panel{padding:32px}.panel-heading{display:flex;justify-content:space-between;gap:20px}.panel-heading .eyebrow{margin-bottom:12px}.panel-heading p{font-size:13px}.panel-heading #save-status{font-size:10px;color:#6d865c;max-width:155px;padding-top:5px;text-align:right}.panel-heading #save-status.error{color:var(--error)}fieldset{border:0;border-top:1px solid #e8ece4;margin:27px 0 0;padding:22px 0 0}legend{font-size:14px;font-weight:700;padding:0 15px 0 0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 23px}.field.full{grid-column:1/-1}.field>label{font-size:12px;font-weight:600;display:block;margin-bottom:7px}.field>label span{color:#92a286}.field input,.field select{font-size:13px}.na-check{display:flex!important;align-items:center;gap:6px;font-weight:400!important;color:#75836a;margin-top:7px}.na-check input{margin:0}.field-error{display:block;min-height:0;font-size:11px;color:var(--error);margin-top:4px}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--error)}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.panel-actions{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding-top:23px;margin-top:30px}.side-card{background:#eaf0e3;border:1px solid #dde5d5;border-radius:12px;padding:24px}.side-card h3{font-size:14px}.side-card ul{padding-left:17px;font-size:12px;line-height:1.9;color:#66775b}.side-card p,.side-note p{font-size:12px;margin-bottom:0}.side-divider{height:1px;background:#d6dfcb;margin:24px 0}.side-note{padding:25px 13px}.side-note b{font-size:12px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.upload-card{border:1px solid var(--border);border-radius:12px;padding:20px;min-width:0}.upload-card h3{font-size:14px}.upload-card p{font-size:11px}.upload-symbol{display:grid;place-items:center;width:35px;height:35px;border:1px dashed #b2c4a4;border-radius:10px;margin-bottom:15px;color:#81966b}.file-label{display:block;font-size:12px;color:var(--green);margin:15px 0}.file-label input{font-size:11px!important;padding:8px!important;margin-top:6px}.file-label input::file-selector-button{background:#eff3e9;border:0;border-radius:5px;padding:6px;margin-right:9px;color:var(--ink)}.check-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;margin:18px 0;color:#55694f}.check-row input{margin-top:3px}.document-link{font-size:12px}.local-preview img{max-width:100%;max-height:180px;object-fit:contain;border:1px solid var(--border);border-radius:6px;margin-bottom:10px}.local-preview iframe{width:100%;height:350px;border:1px solid var(--border);border-radius:6px}.local-preview a{font-size:12px;display:block;margin:8px 0}.local-preview p{font-size:12px}.review-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:24px 0}.review-item{background:#fff;padding:11px 14px;overflow-wrap:anywhere}.review-item small{display:block;color:#728067;font-size:10px}.review-item b{font-size:12px}.ready-card,.success-box{background:#edf4e8;border:1px solid #d3e1c8;border-radius:10px;padding:22px;margin:22px 0}.button-row{display:flex;gap:12px;flex-wrap:wrap}.sign-instructions{padding-left:22px;color:#5b6f52;font-size:14px;line-height:2}.signed-upload{border:1px dashed #aaba9d;border-radius:12px;padding:23px;margin-top:25px}.signed-upload p{font-size:13px}.success-box{font-size:13px}.history{margin-top:20px;padding:22px;font-size:13px}.history summary{cursor:pointer;font-weight:600}.history summary span{float:right;font-size:11px;color:#7d8974}.history ul{list-style:none;padding:0;margin:20px 0 0}.history li{padding:14px 0;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:14px}.history li span{display:block;font-size:11px;color:#7b8872}.history a{font-size:12px;white-space:nowrap}.submission{padding-left:18px!important}.consent-panel{max-width:780px;margin:40px auto}.global-error{background:#fff1ed;color:#8a352b;border:1px solid #e4b6ad;border-radius:9px;padding:16px;font-size:13px;position:fixed;bottom:25px;left:50%;transform:translateX(-50%);width:min(650px,90vw);z-index:10;box-shadow:0 5px 25px #0001}.global-error button{margin-left:12px;color:inherit;border:0;background:none;text-decoration:underline}#toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:white;border-radius:8px;padding:0;font-size:13px;z-index:9}#toast:not(:empty){padding:13px 20px}.skip{position:absolute;left:12px;top:-100px}.skip:focus{top:10px;background:#fff;padding:10px;z-index:20}.busy{opacity:.65;pointer-events:none}noscript{display:block;background:#fff0d8;padding:15px}
@media(min-width:1500px){.landing{padding-top:110px;padding-bottom:120px}}@media(max-width:1050px){.landing{gap:45px;padding:55px 28px}.welcome h1{font-size:49px}.login-card{padding:30px}.work-grid{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.workspace{max-width:1000px}.panel{padding:27px}}@media(max-width:700px){.topbar{height:78px;padding:0 20px}.brand{font-size:22px}.private-label{display:none}.landing{grid-template-columns:1fr;gap:32px;padding:38px 22px}.welcome h1{font-size:43px}.lead{font-size:15px}.journey{display:none}.welcome-foot{margin-top:20px}.login-card{padding:26px}.footer{flex-direction:column;padding:22px;gap:7px}.workspace{padding:28px 16px}.page-heading{align-items:flex-start;flex-direction:column;gap:12px}.page-heading h1{font-size:30px}.page-heading p{overflow-wrap:anywhere;font-size:11px}.steps{gap:0;padding:5px}.step{padding:10px 4px;flex-direction:column;gap:5px;font-size:10px}.step b{font-weight:600}.step span{width:22px;height:22px}.panel{padding:22px 18px}.panel-heading{flex-direction:column;gap:0}.panel-heading #save-status{text-align:left;max-width:100%;padding:0;margin-bottom:10px}.field-grid,.upload-grid{grid-template-columns:1fr}.panel-actions{flex-wrap:wrap}.panel-actions .button{flex:1;min-width:120px;font-size:12px}.review-summary{grid-template-columns:1fr}.prose{padding:28px}.message-panel{padding:28px}.message-panel h1{font-size:28px}.sign-instructions{font-size:13px;line-height:1.8}.history li{flex-direction:column;gap:5px}.history summary span{float:none;display:block}.center-page{padding:35px 18px}.global-error{bottom:12px}.welcome .eyebrow{font-size:9px}.local-preview iframe{height:300px}}

/* CIS 1.2: posición clara y navegación por etapas */
.step-progress{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 0 13px;padding:0 4px}.step-progress>div{display:flex;gap:15px;align-items:baseline}.step-progress b{font-size:17px;color:var(--green)}.step-progress span{font-size:14px;color:var(--muted)}.step-progress progress{appearance:none;border:0;border-radius:20px;width:200px;height:8px;background:#dce6d6;overflow:hidden}.step-progress progress::-webkit-progress-bar{background:#dce6d6}.step-progress progress::-webkit-progress-value{background:var(--green);border-radius:20px}.step-progress progress::-moz-progress-bar{background:var(--green)}.steps{scroll-margin-top:18px;border:1px solid #cbd7c3;padding:8px;box-shadow:0 4px 15px #183d3308}.step{position:relative;min-height:72px;padding:13px 15px;flex-wrap:wrap;align-content:center;gap:10px}.step.active{background:var(--green);color:#fff;box-shadow:0 3px 9px #205b4720}.step.active span{background:#fff;color:var(--green);border-color:white;font-weight:700}.step.active::after{content:'ESTÁS AQUÍ';display:block;flex-basis:100%;font-size:9px;letter-spacing:1.5px;padding-left:35px;color:#d5e6bd}.step.previous{color:#39624b;background:#f1f5ec}.save-hint{align-self:center;color:#6b805b;font-size:12px}.document-options{margin:24px 0}.upload-card .file-label{margin-bottom:0}.field .fine{display:block;margin-top:5px}.panel-actions:has(>.save-hint){align-items:center}
@media(max-width:700px){.step-progress{gap:12px}.step-progress>div{display:block}.step-progress b,.step-progress span{display:block}.step-progress b{font-size:15px}.step-progress span{font-size:12px}.step-progress progress{width:95px}.step{min-height:96px;padding:10px 3px;gap:4px;flex-wrap:nowrap}.step.active::after{padding:0;flex-basis:auto;font-size:7px;letter-spacing:.6px}.step b{font-size:10px}.save-hint{font-size:11px}}


.steps{position:sticky;top:0;z-index:5;background:#fff}.field input,.field select{scroll-margin-top:150px}

/* Seguimiento del grupo y archivo privado de firmados. */
.admin-nav{font-size:12px;font-weight:700;text-decoration:none;padding:9px 13px;border:1px solid #ccdac3;border-radius:8px;background:#edf3e6}.admin-entry{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 28px;padding:24px;background:#eaf1e2;border:1px solid #d0dec3;border-radius:14px}.admin-entry .eyebrow{margin-bottom:8px}.admin-entry h2{font-size:21px}.admin-entry p{font-size:13px;margin-bottom:0}.admin-entry .button{flex-shrink:0}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.admin-stats>div{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px}.admin-stats b{display:block;font-size:32px;line-height:1.3;color:var(--green)}.admin-stats span{font-size:12px;color:var(--muted)}.admin-filters{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:20px 0}.admin-filters label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.table-scroll{overflow-x:auto;margin:20px 0}.admin-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.admin-table th{background:#f1f5ec;color:#586d4e;font-size:11px;font-weight:600;padding:13px 12px;white-space:nowrap}.admin-table td{padding:17px 12px;border-bottom:1px solid #e3e8df;vertical-align:middle}.admin-table td b{font-size:13px}.admin-table small{display:block;color:#7b8874;font-size:11px;margin-top:4px}.participant-step{font-weight:700;color:var(--green);white-space:nowrap}.complete-state{color:#286442;background:#eaf4e3;border-radius:6px;padding:6px 9px;display:inline-block;font-size:11px}.pending-state{color:#84703e;font-size:11px}.compact{font-size:11px;min-height:34px;padding:8px 12px;white-space:nowrap}.archive-panel{margin-top:28px}.archive-filename{max-width:400px;overflow-wrap:anywhere}.admin-workspace .panel-heading p{max-width:770px}.admin-workspace .button-row form{margin:0}
@media(max-width:700px){.admin-entry{display:block;padding:20px}.admin-entry .button{margin-top:17px;width:100%}.admin-stats{grid-template-columns:1fr 1fr;gap:10px}.admin-stats>div{padding:15px}.admin-stats b{font-size:27px}.admin-filters{grid-template-columns:1fr}.admin-table{min-width:740px}.admin-nav{font-size:10px;padding:7px;max-width:115px;text-align:center;line-height:1.3}.top-actions{gap:10px}.admin-workspace .button-row{flex-direction:column}.admin-workspace .button-row .button{width:100%}}


/* CIS 1.4: lectura clara y formularios adaptables. */
:root{--ink:#073f2e;--green:#075438;--muted:#000;--border:#aebcaf}
body{color:#000;font-size:18px;line-height:1.65}
h1,h2,h3,legend{color:var(--ink)}
p,a,.secondary,.link-button,.private-label,.eyebrow,.welcome-foot,.footer,.footer a,.subtle-box,.journey li>span,.field>label span,.side-card ul,.check-row,.sign-instructions,.review-item small,.history li span,.history summary span,.save-hint,.panel-heading #save-status{color:#000}
.primary,.primary:visited{color:#fff}
.welcome h1 em{color:var(--ink);font-style:normal;font-weight:bold}
.brand{font-size:24px;line-height:1.35;min-width:0;letter-spacing:0}
.brand-mark{flex-shrink:0;color:#fff}
.brand-name{overflow-wrap:anywhere}
.topbar{height:auto;min-height:96px;padding-top:18px;padding-bottom:18px;gap:24px}
.top-actions{flex-shrink:0;gap:16px;flex-wrap:wrap}
.top-actions form{margin:0}
.link-button{min-height:48px;padding:10px}
.landing{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:65px}
.landing>*{min-width:0}
.lead,.login-card p,.page-heading p,.panel-heading p,.signed-upload p,.sign-instructions{font-size:18px}
.field>label,.login-form label,legend,.journey b,.review-item b,.side-card h3,.side-note b{font-size:17px}
.field input,.field select,input:not([type=checkbox]),select{font-size:18px;min-height:50px;color:#000;min-width:0;border-color:#7f9085}
input::placeholder{color:#525252;opacity:1}
.button{font-size:17px;min-height:50px;text-align:center}
.eyebrow,.welcome .eyebrow,.welcome-foot,.private-label,.footer,.journey li>span,.mono,.panel-heading #save-status,.field-error,.history summary span,.history li span{font-size:14px}
.fine{font-size:15px!important}
.subtle-box,.journey p,.side-card ul,.side-card p,.side-note p,.upload-card p,.file-label,.document-link,.local-preview a,.local-preview p,.review-item small,.success-box,.history,.history a,.save-hint,.status-badge,.global-error,#toast{font-size:16px}
.upload-card h3{font-size:19px}
.file-label input{font-size:16px!important;max-width:100%}
.file-label input::file-selector-button{min-height:44px;color:#000;white-space:normal;max-width:100%}
.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.field,.work-grid>*{min-width:0}
.page-heading p,.document-link,.history,.success-box,.ready-card,.footer{overflow-wrap:anywhere}
.status-badge{white-space:normal;color:#000}
.step,.step.previous{color:#000;font-size:16px}
.step span{font-size:15px;width:30px;height:30px;flex-shrink:0}
.step.active{color:#fff}.step.active::after{font-size:12px;color:#fff;letter-spacing:.5px}
.step-progress b{font-size:20px}.step-progress span{font-size:17px}
.field-error,.panel-heading #save-status.error{color:#9b2017}
:focus-visible{outline:3px solid #005fcc;outline-offset:3px}
@media(max-width:900px){.topbar{flex-wrap:wrap}.landing{gap:30px;padding:36px 24px}.login-card{padding:25px}.brand{font-size:22px}.private-label{display:none}}
@media(max-width:700px){
 .topbar{padding:16px;gap:10px}.brand{font-size:20px;flex:1 1 100%}.top-actions{margin-left:auto}
 .landing{grid-template-columns:minmax(0,1fr);padding:28px 16px}.welcome h1{font-size:clamp(36px,9vw,48px)}
 .login-card{padding:22px 18px}.workspace{padding:25px 12px}.panel{padding:22px 16px}
 .field-grid,.upload-grid{grid-template-columns:minmax(0,1fr)}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px}
 .step{min-height:64px;flex-direction:row;flex-wrap:wrap;gap:6px;padding:7px;justify-content:center}
 .step b{font-size:14px}.step.active::after{flex-basis:100%;font-size:11px;line-height:1;padding:0}
 .step span{width:26px;height:26px}.field input,.field select{scroll-margin-top:180px}
 .step-progress>div{min-width:0}.step-progress progress{flex-shrink:0;width:70px}
 .panel-actions{flex-direction:column}.panel-actions .button{font-size:17px;width:100%}
 .button-row{flex-direction:column}.button-row .button{width:100%}
 .signed-upload{padding:16px}.history a{white-space:normal}.footer{padding:22px 16px}
 .admin-nav{font-size:14px;max-width:none;min-height:44px;display:flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.delete-signed{margin:12px 0}.button.danger{color:#9b2017;border-color:#9b2017}.button.danger:hover{background:#fff0ed}

.role-landing{grid-template-columns:minmax(0,1fr)}
.role-intro{text-align:center;max-width:640px;margin:0 auto}
.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;max-width:900px;margin:30px auto 0}
.role-cards .login-card{text-align:center}
.role-cards .login-card h2{margin-top:0}
.role-cards .button{display:block}
