:root{--fondo: #f4f6f9;--superficie: #ffffff;--texto: #1d2733;--suave: #5b6878;--borde: #d8dee6;--primario: #1f5aa6;--primario-oscuro: #17457f;--peligro: #b42318;--aviso: #b54708;--ok: #067647;--info-fondo: #eef4fc;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--texto);font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--fondo)}h1{font-size:1.4rem;margin:0 0 1rem}h2{font-size:1.15rem;margin:1.5rem 0 .75rem}h3{font-size:1rem;margin:1rem 0 .5rem}a{color:var(--primario)}.barra{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding:.6rem 1rem;background:var(--primario);color:#fff}.barra .marca{font-weight:700}.barra nav{display:flex;flex-wrap:wrap;gap:.25rem;flex:1}.barra nav a{color:#dce8f8;text-decoration:none;padding:.35rem .6rem;border-radius:6px}.barra nav a.active,.barra nav a:hover{background:#ffffff29;color:#fff}.barra .usuario{display:flex;gap:.75rem;align-items:center;font-size:.9rem}.barra .enlace{color:#fff}main{padding:1.25rem 1rem 3rem;max-width:1200px;margin:0 auto}.pie{text-align:center;color:var(--suave);font-size:.8rem;padding:1rem}.centrado{min-height:100vh;display:grid;place-items:center;padding:1rem}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:10px;padding:1.25rem;margin-bottom:1rem}.tarjeta.angosta{width:100%;max-width:400px}button,.boton{font:inherit;border:1px solid var(--primario);background:var(--primario);color:#fff;padding:.45rem .9rem;border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.boton:hover{background:var(--primario-oscuro)}button:disabled{opacity:.55;cursor:not-allowed}button.secundario,.boton.secundario{background:#fff;color:var(--primario)}button.peligro{background:var(--peligro);border-color:var(--peligro)}button.enlace{background:none;border:none;padding:0;color:var(--primario);text-decoration:underline}button.pequeno{padding:.2rem .5rem;font-size:.85rem}label{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem;color:var(--suave)}label.check{flex-direction:row;align-items:center;gap:.4rem;color:var(--texto)}input,select,textarea{font:inherit;padding:.4rem .5rem;border:1px solid var(--borde);border-radius:6px;background:#fff;color:var(--texto);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #9cc0ee;border-color:var(--primario)}.formulario{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;align-items:end}.formulario .ancho{grid-column:1 / -1}.acciones{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;align-items:center}.filtros{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}.tabla-contenedor{overflow-x:auto;background:var(--superficie);border:1px solid var(--borde);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--borde);vertical-align:top}th{background:#f0f3f7;font-weight:600;position:sticky;top:0}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;white-space:nowrap}tr.inactivo td{color:var(--suave)}.mensaje{padding:.6rem .8rem;border-radius:6px;margin:.5rem 0}.mensaje.error{background:#fef3f2;color:var(--peligro);border:1px solid #fecdca}.mensaje.ok{background:#ecfdf3;color:var(--ok);border:1px solid #abefc6}.mensaje.aviso{background:#fffaeb;color:var(--aviso);border:1px solid #fedf89}.mensaje.info{background:var(--info-fondo);color:var(--primario-oscuro);border:1px solid #c7dbf5}.etiqueta{display:inline-block;font-size:.75rem;padding:.05rem .45rem;border-radius:999px;background:#eef1f5;color:var(--suave)}.etiqueta.verde{background:#ecfdf3;color:var(--ok)}.etiqueta.roja{background:#fef3f2;color:var(--peligro)}.etiqueta.naranja{background:#fffaeb;color:var(--aviso)}.suave{color:var(--suave)}.vista-previa{font-family:Times New Roman,serif;font-size:1.05rem;line-height:1.5;background:#fff;border:1px solid var(--borde);padding:2rem 2.5rem;max-width:760px}.vista-previa .centro{text-align:center;font-weight:700}.vista-previa p{text-align:justify;text-indent:1.25cm;margin:0 0 .8rem}.vista-previa ul{margin:0 0 .8rem 1.25cm}.vista-previa .firma{text-align:center;margin-top:3rem;text-indent:0}.dos-columnas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1rem}@media(max-width:900px){.dos-columnas{grid-template-columns:1fr}}dialog{border:1px solid var(--borde);border-radius:10px;padding:1.25rem;max-width:560px;width:calc(100% - 2rem)}dialog::backdrop{background:#141e2d66}
