:root{--ink:#182e35;--accent:#184c83;--accent2:#103960;--muted:#627379;--line:#e1e8e8;--paper:#f7f9f8;--white:#fff;--red:#9f352d;--amber:#835b17}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper)}body{margin:0;line-height:1.5}a{color:var(--accent)}.wrap{max-width:1100px;padding:0 20px;margin:auto}.header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:72px;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:.07em;font-size:13px;color:var(--ink);font-weight:650}.brand-mark{display:grid;place-items:center;color:white;background:var(--accent);width:35px;height:35px;border-radius:11px;font-size:22px}.header nav{display:flex;flex-wrap:wrap;gap:16px;font-size:14px}.header nav a{text-decoration:none;color:var(--ink)}.content{padding-top:36px;padding-bottom:64px;min-height:70vh}.footer{padding:24px 0;font-size:12px;color:var(--muted);background:white;border-top:1px solid var(--line)}h1{font-size:clamp(28px,4vw,44px);letter-spacing:-.035em;line-height:1.12;margin:0 0 18px}h2{font-size:22px;margin:0 0 14px;letter-spacing:-.02em}h3{font-size:17px;margin:0 0 10px}p{margin:0 0 18px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:12px;font-weight:700;margin-bottom:12px}.lead{font-size:18px;max-width:710px;color:var(--muted)}.hero{padding:28px 0 34px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 4px 18px rgba(10,30,30,.025)}.choice{display:block;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}.choice:hover{transform:translateY(-2px);border-color:var(--accent)}.choice .symbol{font-size:28px;margin-bottom:17px}.choice p{color:var(--muted);margin-bottom:18px}.linkline{font-weight:700;color:var(--accent)}.form{max-width:850px}.section{margin-bottom:22px}.field{margin:0 0 15px}.field label,.label{display:block;font-size:14px;font-weight:650;margin:0 0 6px}.hint,.small{font-size:12px;color:var(--muted)}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;padding:12px 13px;border:1px solid #cbd8d7;background:#fff;border-radius:9px;font:inherit;color:var(--ink)}textarea{min-height:90px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #a9d0cc;outline-offset:1px}.fields2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.chips{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.chip{padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:#fcfdfd}.chip input{margin-right:6px;accent-color:var(--accent)}.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid transparent;border-radius:9px;padding:12px 18px;cursor:pointer;font:inherit;font-size:14px;font-weight:700;text-decoration:none;background:var(--accent);color:white}.button:hover{background:var(--accent2);color:white}.button.secondary{background:white;color:var(--accent);border-color:#b8d0cd}.button.danger{background:var(--red)}.button.smallbtn{padding:7px 11px;font-size:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.alert{padding:15px 18px;margin-bottom:20px;border-radius:10px;background:#eaf2fb;color:#194977}.alert.error{background:#fff0ee;color:var(--red)}.alert.warning{background:#fff6e6;color:var(--amber)}.notice{padding:14px;border-radius:10px;background:#eef4fb;color:#355777;font-size:14px;margin-bottom:18px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.kpi{background:white;border:1px solid var(--line);border-radius:12px;padding:17px}.kpi strong{display:block;font-size:29px}.kpi span{font-size:12px;color:var(--muted)}.row-between{display:flex;justify-content:space-between;align-items:center;gap:14px}.table-scroll{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:#516b6a;background:#fafcfc}tr:last-child td{border-bottom:none}.tag{display:inline-block;padding:4px 9px;border-radius:20px;background:#eef2f2;font-size:12px;font-weight:650;white-space:nowrap}.tag.critica,.tag.rechazado{color:var(--red);background:#fbe9e7}.tag.alta,.tag.pendiente{color:var(--amber);background:#fff3dc}.tag.validado,.tag.resuelto,.tag.disponible{color:#176b50;background:#e6f4ed}.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filters .field{margin:0;min-width:165px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.meta{display:grid;grid-template-columns:1fr 1fr;gap:13px}.meta dt{font-size:12px;color:var(--muted)}.meta dd{margin:3px 0 0;word-break:break-word}.history{border-left:2px solid var(--line);padding-left:16px}.history-item{margin-bottom:16px}.history-item small{color:var(--muted)}.category-details{display:none;margin-top:10px;padding:12px;background:#f4f7fb;border-radius:9px}.category-details.visible{display:block}.hidden{display:none!important}.intro{max-width:720px;margin-bottom:25px}.footnote{font-size:13px;color:var(--muted)}@media(max-width:760px){.grid,.grid3,.fields2,.split,.meta,.kpis{grid-template-columns:1fr}.chips{grid-template-columns:1fr}.header-inner{align-items:flex-start;flex-direction:column;padding-top:14px;padding-bottom:14px;gap:12px}.content{padding-top:24px}.card{padding:18px}.kpis{grid-template-columns:1fr 1fr}.row-between{align-items:flex-start;flex-direction:column}}

/* Entrega 1.1: controles multilínea y tipografía adaptable */
.consent-box{display:flex;align-items:flex-start;gap:11px;width:100%;border:1px solid var(--line);border-radius:10px;padding:14px 15px;background:#fbfcff;font-size:14px;line-height:1.55;cursor:pointer;overflow-wrap:anywhere;white-space:normal}
.consent-box input{margin:4px 0 0;flex:0 0 17px;width:17px;height:17px;accent-color:var(--accent)}
.consent-box span{display:block;min-width:0;flex:1}
.choice-chip{display:flex;align-items:flex-start;gap:9px;cursor:pointer;min-width:0;overflow-wrap:anywhere}
.choice-chip input{flex:0 0 auto;margin:4px 0 0}
.choice-chip span{min-width:0;display:block}
.choice-chip strong{font-weight:500;display:block}
.choice-chip small{display:block;font-size:12px;line-height:1.4;color:var(--muted);margin-top:4px}
.card,.field,.form,.wrap{min-width:0}
.field label, .label{overflow-wrap:anywhere}
@media(max-width:760px){.content{padding-top:18px}.consent-box{padding:12px;font-size:13px}.chip{padding:12px}.form{width:100%}}

.brand-mark{font-size:10px;font-weight:800;letter-spacing:0;border-radius:8px}

/* Red de Apoyo RDD 1.2: identidad institucional */
:root{--ink:#1a2c45;--accent:#1a2c45;--accent2:#101e31;--muted:#58697d;--line:#dbe1e8;--paper:#f7f9fc;}
.brand-logo{display:block;width:40px;height:40px;object-fit:contain;flex:none}
.header nav a:hover{text-decoration:underline;text-underline-offset:4px}
.choice .symbol{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--accent);margin-bottom:16px}
.help-symbol svg{display:block}
input:focus,textarea:focus,select:focus{outline:2px solid #91a9c9;outline-offset:1px}
.button.secondary{border-color:#bdc8d5}
.chip{background:#fff}
.category-details{background:#f3f6fa}
.notice{background:#ecf1f7;color:#263b56}
@media(max-width:760px){.brand-logo{width:36px;height:36px}.header nav{gap:12px}.consent-box span{white-space:normal;overflow-wrap:break-word}.category-details{padding:14px}}


/* Entrega 2: navegación y coordinación */
.header nav{align-items:center}
.button:disabled{opacity:.5;cursor:not-allowed}
.tag.reservada{background:#fff3dc;color:#835b17}
.tag.entregada{background:#e6f4ed;color:#176b50}
.tag.cancelada{background:#eef2f5;color:#536377}
@media(max-width:760px){.header nav{gap:11px}.table-scroll{max-width:100%}.filters .field{width:100%}.filters .field input{max-width:100%}}
/* Red de Apoyo RDD 2.0.2 — confirmación operativa */
.rdd-check-verify{display:flex;align-items:flex-start;gap:12px;width:100%;flex:1 0 100%;padding:14px;border:1px solid #c8d5e4;background:#f2f6fb;border-radius:10px;line-height:1.5;font-size:14px;cursor:pointer;overflow-wrap:anywhere}
.rdd-check-verify input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;accent-color:#1a2c45}
.rdd-check-verify span{min-width:0;flex:1}
.rdd-status-ready{font-size:14px;color:#176b50;font-weight:650;margin:12px 0}
@media(max-width:760px){.rdd-check-verify{padding:12px;font-size:13px}.filters>.button{width:100%}}


/* UX 2.1 — Identidad institucional, estados y jerarquía administrativa */
:root{--ux-success:#216b4e;--ux-success-bg:#eaf5ee;--ux-warning:#8a5b12;--ux-warning-bg:#fff4dc;--ux-neutral:#5f6b79;--ux-neutral-bg:#eef1f5}
.ux-head-summary,.ux-resource-head,.ux-resource-numbers,.ux-mini-stats,.ux-match-badges{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.ux-head-summary{margin:0 0 22px}.ux-meta-text{font-size:13px;color:var(--muted)}.ux-resource-head{justify-content:space-between;gap:8px}.ux-resource-stack{display:grid;gap:12px}
.ux-resource{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;border-left:4px solid #528b75;min-width:0}.ux-resource-empty{background:#f6f7f9;border-left-color:#a8b2be}.ux-resource-partial{border-left-color:#c78c2d}
.ux-resource-desc{font-size:13px;line-height:1.45;margin:10px 0}.ux-muted,.ux-tiny{color:var(--muted)}.ux-tiny{font-size:12px;margin:7px 0 0}.ux-resource-numbers{justify-content:space-between;font-size:12px;gap:8px;margin-top:14px}.ux-resource-numbers b{font-size:16px;color:var(--ink)}
.ux-state{display:inline-flex;align-items:center;gap:5px;max-width:100%;font-size:12px;font-weight:700;border-radius:100px;padding:5px 9px;line-height:1.3;overflow-wrap:anywhere}.ux-state-ready{background:var(--ux-success-bg);color:var(--ux-success)}.ux-state-partial,.ux-state-pending{background:var(--ux-warning-bg);color:var(--ux-warning)}.ux-state-empty{background:var(--ux-neutral-bg);color:var(--ux-neutral)}
.ux-progress{height:9px;border-radius:9px;overflow:hidden;display:flex;background:#e9edf1;margin-top:12px}.ux-progress span{display:block;flex:none;height:100%}.ux-p-available{background:#398466}.ux-p-reserved{background:#cb963f}.ux-p-delivered{background:#a3afbd}
.ux-mini-stats{gap:9px;margin:0 0 16px}.ux-mini-stats>span:not(.ux-state){border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#f7f9fc;font-size:12px}.ux-mini-stats b{font-size:17px;margin-right:4px}
.ux-collapsible>summary{cursor:pointer;font-size:20px;font-weight:700;list-style-position:inside}.ux-collapsible>summary .ux-meta-text{font-weight:400;margin-left:6px}.ux-detail-body{padding-top:18px}.ux-need-card{padding:14px;margin:0 0 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.ux-need-card .filters{margin-top:12px}
.ux-filterbar{padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.ux-filterbar .field{flex:1 1 155px;min-width:145px}.ux-legend{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:7px}.ux-dot{display:inline-block;width:9px;height:9px;border-radius:100%;margin-left:8px}.ux-dot-green{background:#398466}.ux-dot-amber{background:#cb963f}.ux-dot-gray{background:#a3afbd}
.ux-match-card{border-left:4px solid var(--accent)}.ux-match-badges{justify-content:flex-end}.ux-match-totals{margin:20px 0}.ux-extra{font-size:12px;color:var(--muted);margin-top:8px}.ux-extra summary{cursor:pointer}
.ux-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.ux-tabs a{padding:8px 13px;border:1px solid var(--line);border-radius:9px;color:var(--accent);text-decoration:none;font-weight:600;font-size:13px;background:#fff}.ux-tabs a.ux-tab-active{background:var(--accent);color:#fff;border-color:var(--accent)}
.tag.ayuda_parcial,.tag.en_coordinacion{background:#edf2fb;color:#314d77}.tag.cerrado,.tag.duplicado,.tag.agotado{background:#eef1f5;color:#566372}
@media(max-width:760px){.ux-resource{padding:13px}.ux-resource-numbers{gap:10px}.ux-resource-numbers span{flex:1 1 26%}.ux-match-badges{justify-content:flex-start}.ux-filterbar .field{min-width:100%}.ux-filterbar .button{flex:1}.ux-collapsible>summary{font-size:18px}.ux-head-summary{align-items:flex-start}}

