:root{--papel: #FAFAF7;--superficie: #FFFFFF;--tinta: #1E2327;--grafito: #5E656C;--linea: #DEDFDA;--acento: #2E5A87;--acento-suave: #E8EEF5;--alerta: #A5281B;--alerta-suave: #FBEDEB;--bien: #2F6B3F;--bien-suave: #EAF3EC;--aviso-suave: #FFF6DA;--letra: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--t-s: .8125rem;--t-m: .9375rem;--t-l: 1.25rem;--t-xl: 1.75rem;--radio: 3px;--esp: 1rem;--ancho: 72rem}*,*:before,*:after{box-sizing:border-box}html{background:var(--papel);color:var(--tinta);font:var(--t-m)/1.5 var(--letra)}body{margin:0}a{color:var(--acento)}:focus-visible{outline:2px solid var(--acento);outline-offset:2px}h1{font-size:var(--t-xl);font-weight:600;margin:0 0 1rem;letter-spacing:-.01em}h2{font-size:var(--t-l);font-weight:600;margin:2rem 0 .75rem}.cifra,td.num,th.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.barra{background:var(--superficie);border-bottom:1px solid var(--linea)}.barra-in{max-width:var(--ancho);margin:0 auto;padding:.75rem var(--esp);display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.marca{font-weight:700;color:var(--tinta);text-decoration:none;margin-right:.5rem}.barra nav{display:flex;gap:1rem;flex-wrap:wrap}.barra nav a{color:var(--grafito);text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}.barra nav a[aria-current=page]{color:var(--tinta);border-bottom-color:var(--acento)}.barra .derecha{margin-left:auto;display:flex;gap:.75rem;align-items:center}main{max-width:var(--ancho);margin:0 auto;padding:1.5rem var(--esp) 4rem}.boton,button{font:inherit;border:1px solid var(--acento);background:var(--acento);color:#fff;border-radius:var(--radio);padding:.45rem .9rem;cursor:pointer;text-decoration:none;display:inline-block}.boton.sec,button.sec{background:var(--superficie);color:var(--acento)}button.peligro{background:var(--superficie);color:var(--alerta);border-color:var(--alerta)}button.enlace{background:none;border:0;color:var(--acento);padding:0;text-decoration:underline}table{width:100%;border-collapse:collapse;background:var(--superficie)}th,td{padding:.5rem .6rem;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}th{font-size:var(--t-s);color:var(--grafito);font-weight:600}tbody tr:hover{background:var(--acento-suave)}tfoot td{font-weight:600;border-top:2px solid var(--tinta)}.tabla{overflow-x:auto;border:1px solid var(--linea);border-radius:var(--radio)}form.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem 1rem}label{display:grid;gap:.2rem;font-size:var(--t-s);color:var(--grafito)}input,select,textarea{font:inherit;color:var(--tinta);background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);padding:.4rem .5rem;width:100%}textarea{min-height:4rem}.ancho-total{grid-column:1 / -1}.check{display:flex;gap:.5rem;align-items:center;font-size:var(--t-m);color:var(--tinta)}.check input{width:auto}.acciones{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.msg{padding:.6rem .8rem;border-radius:var(--radio);margin:0 0 1rem}.msg.error{background:var(--alerta-suave);color:var(--alerta)}.msg.ok{background:var(--bien-suave);color:var(--bien)}.msg.aviso{background:var(--aviso-suave)}.estado{font-size:var(--t-s);padding:.1rem .45rem;border-radius:999px;border:1px solid var(--linea);white-space:nowrap}.estado.pendiente,.estado.vencida{color:var(--alerta);border-color:var(--alerta)}.estado.cobrada{color:var(--bien);border-color:var(--bien)}.estado.parcial{color:var(--acento);border-color:var(--acento)}.tenue{color:var(--grafito)}.filtros{display:flex;gap:.75rem;flex-wrap:wrap;align-items:end;margin-bottom:1rem}.filtros label{min-width:8rem}.numero-factura{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0}.cabecera-factura{display:flex;flex-wrap:wrap;gap:.5rem 2rem;align-items:baseline;margin-bottom:1.5rem}.resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;margin-bottom:1.5rem}.resumen div{background:var(--superficie);padding:.75rem}.resumen span{display:block;font-size:var(--t-s);color:var(--grafito)}.resumen strong{font-size:var(--t-l);font-variant-numeric:tabular-nums}details{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);padding:.6rem .8rem;margin-top:.75rem}summary{cursor:pointer;font-weight:600}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
