:root{--ink:#17233b;--blue:#0b5cab;--light:#f3f6fa;--line:#d9e0ea;--success:#177245;--danger:#a53030}*{box-sizing:border-box}body{margin:0;background:var(--light);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}header{background:#fff;min-height:76px;padding:10px max(4vw,20px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:1.18rem;font-weight:800;color:var(--blue);text-decoration:none}.brand img{display:block;max-height:52px;max-width:135px;object-fit:contain}.brand img:last-child{max-width:74px}.brand small,td small{display:block;font-weight:400;color:#596579}nav{display:flex;gap:18px;align-items:center;font-size:.9rem}nav a{color:var(--blue)}nav form{margin:0}button,.button{border:1px solid #9cacbf;border-radius:6px;background:#fff;color:#17233b;padding:9px 13px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:var(--blue);border-color:var(--blue);color:#fff}main{width:min(1120px,92vw);margin:34px auto}.hero{padding:34px 0}.hero h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.12;margin:.2rem 0}.eyebrow{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:750;color:var(--blue);margin:0}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;margin:18px 0;box-shadow:0 2px 7px #1e38500b}.grid{display:grid;gap:18px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form label{display:flex;gap:6px;flex-direction:column;font-weight:650}.form input,.form select,.form textarea,.compact input,.compact textarea,.compact select{border:1px solid #afbdcd;border-radius:5px;padding:9px;background:#fff;font:inherit;width:100%}.form textarea,.compact textarea{min-height:70px}.form button{width:max-content}.form .end{align-self:end}.alert{padding:13px 16px;border-radius:7px;margin:12px 0}.success{background:#e5f5eb;color:#125d35}.danger{background:#fbe8e8;color:#8c2424}.warning{background:#fff5d8;color:#715900}.readable{max-width:800px}.check{display:flex;gap:10px;align-items:start;margin:20px 0}.check input{width:auto}.status{display:flex;justify-content:space-between;gap:16px}.status h2{margin:.1rem 0}.documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.documents article,.review-doc{border:1px solid var(--line);border-radius:7px;padding:16px}.documents h3{font-size:1rem;margin-top:0}.badge{display:inline-block;padding:2px 8px;border-radius:14px;font-size:.8rem;background:#eef2f7}.badge.approved{background:#dff3e7;color:#136537}.badge.observation,.badge.rejected{background:#fae3e3;color:#962b2b}.note{border-left:3px solid #d49a22;background:#fff9e9;padding:7px 10px}.send{margin-top:20px}.message,.history{border-top:1px solid var(--line);padding:12px 0;margin:0}.message small{margin-left:8px;color:#657287}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px;vertical-align:top}th{font-size:.82rem;text-transform:uppercase;color:#4d5e73}.filters{margin-bottom:12px}.review-doc{display:flex;justify-content:space-between;gap:20px;margin:12px 0}.compact{display:grid;gap:8px;min-width:300px}details summary{cursor:pointer;color:var(--blue)}details form{margin:8px 0}footer{text-align:center;padding:30px;color:#647187;font-size:.9rem}@media(max-width:720px){.brand img:last-child{display:none}nav span{display:none}.two,.three,.documents{grid-template-columns:1fr}.review-doc,.status{display:block}.compact{min-width:0}header{gap:10px}nav{gap:9px}.brand img{max-width:92px;max-height:45px}.brand{font-size:1rem}}
/* Acta de Compromiso: lectura, descarga y carga responsable. */
.agreement details{margin:1rem 0;border:1px solid #d9e5ee;border-radius:12px;background:#fff}
.agreement summary{cursor:pointer;padding:.9rem 1rem;font-weight:700;color:#123b61}
.agreement details p,.agreement details ol{margin:.2rem 1rem 1rem;line-height:1.55}
.agreement details ol{padding-left:1.3rem}
.acta-warning,.acta-upload-guide{margin:1.1rem 0;padding:1rem 1.1rem;border:1px solid #edcf86;border-radius:14px;background:#fff7df;color:#4b3712}
.acta-warning h2{margin-top:0;color:#704400;font-size:1.15rem}
.acta-warning ul,.acta-upload-guide ol{margin:.75rem 0 0;padding-left:1.25rem;line-height:1.55}
.acta-download{display:inline-flex;align-items:center;gap:.4rem;margin:.35rem 0 .5rem;padding:.7rem .95rem;border-radius:9px;background:#075a9b;color:#fff!important;font-weight:700;text-decoration:none}
.acta-download:hover{background:#034675}
.acta-upload-guide{background:#eef7ff;border-color:#b8d8ee;color:#163c58;font-size:.94rem}
.acta-confirm{display:block;margin:.85rem 0;line-height:1.4;font-size:.9rem}
@media (max-width:640px){.acta-warning,.acta-upload-guide{padding:.9rem}.acta-download{width:100%;justify-content:center;box-sizing:border-box}.agreement details p,.agreement details ol{margin-left:.85rem;margin-right:.85rem}}
.sensitive-consent{grid-column:1/-1;margin:8px 0 0;padding:18px;border:1px solid #b9d8ea;border-radius:12px;background:#f1f9ff}.sensitive-consent legend{padding:0 7px;color:#174d71;font-size:1rem;font-weight:800}.sensitive-consent legend small{color:#527188;font-size:.75rem;font-weight:700}.sensitive-consent>p{margin:0;color:#4c677d;font-size:.9rem}.sensitive-consent>.check{display:grid;grid-template-columns:22px minmax(0,760px);align-items:start;gap:11px;max-width:820px;margin:16px 0;padding:13px 15px;border:1px solid #b9d6e7;border-radius:9px;background:#fff;color:#174d71;font-size:.91rem;font-weight:750;line-height:1.45}.sensitive-consent>.check input{margin-top:3px}.sensitive-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:14px;border-top:1px solid #c8dfed}.sensitive-fields>label,.disability-options{display:flex;flex-direction:column;gap:6px;color:#223e57;font-size:.9rem;font-weight:700}.disability-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1/-1;gap:8px 12px;padding:14px;border-radius:8px;background:#fff}.disability-options>span{grid-column:1/-1;font-size:.9rem}.disability-options .check{display:flex;align-items:start;gap:7px;margin:0;font-size:.85rem;font-weight:600;line-height:1.3}.disability-options .check input{margin-top:2px}@media(max-width:900px){.sensitive-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.disability-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.sensitive-fields,.disability-options{grid-template-columns:1fr}.sensitive-consent{padding:14px}.sensitive-consent>.check{grid-template-columns:20px 1fr;padding:12px;font-size:.88rem}}
/* Cada tipo de discapacidad conserva la casilla y su texto en una sola línea. */
.disability-options .check{display:flex;flex-direction:row;align-items:center;gap:7px;margin:0;padding:7px 8px;border:1px solid #e0ebf2;border-radius:7px;background:#fbfdff;font-size:.85rem;font-weight:600;line-height:1.3}.disability-options .check input{flex:none;margin:0}.disability-options .check:hover{border-color:#9bc5de;background:#f1f9ff}
.applicant-data-card .sensitive-consent{order:1}.applicant-data-card .end{display:flex;grid-column:1/-1;order:2;justify-content:flex-end;margin-top:2px}@media(max-width:640px){.applicant-data-card .end{justify-content:stretch}.applicant-data-card .end button{width:100%}}
.app-nav{gap:14px}.nav-user{display:flex;align-items:center;gap:7px;color:#34546d;font-weight:750;white-space:nowrap}.nav-user-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e7f3fa;color:#0b5cab;font-size:.62rem}.nav-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nav-link,.nav-logout{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid transparent;border-radius:8px;color:#315a79;font-size:.84rem;font-weight:750;text-decoration:none}.nav-link:hover{border-color:#b9d9ec;background:#edf8ff;color:#075b96}.nav-logout{border-color:#f1c9c9;background:#fff7f7;color:#a13e3e;font-size:.84rem;font-weight:750}.nav-logout:hover{border-color:#df9e9e;background:#fceaea}@media(max-width:820px){header{align-items:flex-start;flex-wrap:wrap}.app-nav{width:100%;justify-content:space-between}.nav-user{display:flex!important}.nav-actions{justify-content:flex-end}}@media(max-width:520px){.app-nav{display:block}.nav-actions{margin-top:8px;justify-content:flex-start}.nav-link,.nav-logout{font-size:.78rem;padding:6px 8px}.nav-user{font-size:.84rem}}
.password-visibility{align-self:flex-start;margin-top:6px;border:0;background:transparent;color:#0b5cab;padding:2px 0;font-size:.8rem;font-weight:750}.password-visibility:hover{color:#07446f;text-decoration:underline}
.municipality-field{position:relative}.municipality-menu{position:absolute;z-index:30;top:100%;left:0;right:0;max-height:300px;overflow:auto;margin-top:4px;padding:6px;border:1px solid #94bfd8;border-radius:9px;background:#fff;box-shadow:0 12px 24px rgba(19,65,94,.18)}.municipality-menu button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;width:100%;border:0;border-radius:6px;background:transparent;padding:9px 10px;text-align:left;color:#234863;font-size:.88rem}.municipality-menu button:hover,.municipality-menu button:focus{background:#eaf7ff;color:#075b96;outline:0}.municipality-menu button small{color:#667f92;font-size:.75rem;font-weight:700}.municipality-menu p{margin:8px 10px;color:#647b8c;font-size:.85rem}
.mandatory-characterization{margin:16px 0;padding:16px;border:1px solid #a8cfe5;border-radius:10px;background:#fff}.mandatory-characterization h3{margin:0 0 4px;color:#174d71;font-size:1rem}.mandatory-characterization h3 small{margin-left:5px;color:#a34b19;font-size:.75rem;text-transform:uppercase}.mandatory-characterization>p{margin:0 0 13px;color:#4c677d;font-size:.88rem}.mandatory-characterization-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mandatory-characterization-fields label{display:flex;flex-direction:column;gap:6px;color:#223e57;font-size:.9rem;font-weight:700}@media(max-width:900px){.mandatory-characterization-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.mandatory-characterization-fields{grid-template-columns:1fr}}
.documents article .badge.pending{margin:10px 0 8px;padding:7px 10px;border:1px solid #a8dcbf;border-radius:8px;background:#e9f8ef;color:#17603b;font-weight:800}.documents article .badge.pending::before{content:'✓ ';font-weight:900}.documents article .badge.pending+p a{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:7px;background:#f1fbf5;color:#17603b;font-weight:750;text-decoration:none}.documents article .badge.pending+p a::before{content:'▣';font-size:.8rem}.documents article .badge.pending+p a:hover{background:#dff5e8}
.documents article .replace-document{margin-top:8px;border-color:#b8d5ec;background:#eaf6ff;color:#075b96;font-weight:800}.documents article .replace-document::before{content:'↻ ';font-weight:900}.documents article .replace-document:hover{border-color:#75b4de;background:#d9efff}.replace-document-note{margin:8px 0 0;padding:8px 10px;border-left:3px solid #5aa7d7;border-radius:4px;background:#f1f9fe;color:#41677f;font-size:.82rem;line-height:1.35}
.documents-submission-locked{margin:12px 0 16px;padding:13px 15px;border:1px solid #a8c9e2;border-radius:10px;background:#eef7ff;color:#1c4f70}.documents-submission-locked strong{display:block;font-weight:850}.documents-submission-locked strong::before{content:'✓ ';color:#167246}.documents-submission-locked p{margin:4px 0 0;font-size:.9rem;line-height:1.45}
.documents-corrections-notice{margin:12px 0 16px;padding:11px 13px;border:1px solid #efd092;border-radius:9px;background:#fff8e7;color:#70531c}.documents-corrections-notice strong{font-weight:850}
.staff-quick-filters{display:grid;grid-template-columns:minmax(150px,1.15fr) repeat(4,minmax(130px,1fr)) auto;gap:10px;align-items:end;margin:14px 0 18px;padding:14px;border:1px solid #c9dcea;border-radius:11px;background:#f5faff}.staff-filter-title{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#174d71}.staff-filter-title strong{font-size:.95rem}.staff-filter-title small{color:#587388;font-weight:700}.staff-quick-filters label{display:flex;flex-direction:column;gap:5px;color:#35546c;font-size:.78rem;font-weight:800}.staff-quick-filters input,.staff-quick-filters select{width:100%;min-height:39px;border:1px solid #aac7da;border-radius:7px;background:#fff;padding:8px 9px;color:#17233b;font:inherit}.staff-quick-filters button{min-height:39px;border-color:#b3cadb;background:#fff;color:#1e5d85;font-size:.84rem;font-weight:800;white-space:nowrap}.staff-quick-filters button:hover{background:#e8f5fc}@media(max-width:1050px){.staff-quick-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-quick-filters button{width:max-content}}@media(max-width:650px){.staff-quick-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.staff-filter-title{grid-column:1/-1}.staff-quick-filters button{width:100%}}
.registration-closed{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;align-items:center;max-width:860px;margin:42px auto 20px;padding:30px;border:1px solid #b9d5e6;border-radius:18px;background:linear-gradient(135deg,#eaf7ff,#fff);box-shadow:0 10px 28px rgba(24,74,105,.08)}.registration-closed-mark{display:grid;place-items:center;padding:10px}.registration-closed-mark img{display:block;width:min(125px,100%);max-height:155px;object-fit:contain}.registration-closed h1{margin:.25rem 0 .8rem;color:#123d61;font-size:clamp(1.65rem,4vw,2.4rem);line-height:1.15}.registration-closed p:not(.eyebrow){max-width:660px;margin:.55rem 0;color:#38576e}.login-after-close{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,400px);gap:26px;align-items:start;max-width:860px;margin:18px auto}.login-after-close h2{margin:.2rem 0}.login-after-close p:not(.eyebrow){margin:.45rem 0;color:#526f84}.login-after-close .form{display:grid;gap:12px}@media(max-width:650px){.registration-closed,.login-after-close{grid-template-columns:1fr;gap:18px;margin-top:22px}.registration-closed{text-align:center;padding:24px 18px}.registration-closed-mark img{max-height:112px;width:94px}}
.sensitive-consent>.check{width:100%;max-width:none;grid-template-columns:22px minmax(0,1fr);grid-column:1/-1}.mandatory-characterization{width:100%;max-width:none}.mandatory-characterization-fields{width:100%}
