/* Utilidades generadas al sacar los style="..." de las plantillas (P2,
   19/09/2026). Cada clase equivale EXACTAMENTE al estilo inline que
   reemplazó (por eso !important: un estilo inline gana a cualquier regla
   de hoja). Nombre = u- + hash del contenido: un mismo estilo, una sola
   clase. Para un estilo nuevo, escribe una clase con nombre en app.css;
   no agregues utilidades a mano aquí. */
.oculto { display: none !important; }

.u-039b0e7 { margin-top: 1rem !important; }
.u-03aa374 { margin: 0.5rem 0 0.25rem !important; }
.u-040043c { font-weight: 600 !important; }
.u-04938de { margin: 0 0 0.9rem !important; }
.u-05fb0fc { left: 52.1% !important; top: 4.6% !important; }
.u-0872d12 { width: 100% !important; font-family: monospace !important; }
.u-097be6c { max-width: none !important; }
.u-0ab9dbd { left: 9% !important; top: 40.5% !important; width: 46.5% !important; }
.u-0c1b83f { margin: 0.75rem 0 0.25rem !important; }
.u-0c681c9 { font-size: 0.95rem !important; }
.u-11cb6a7 { text-align: left !important; margin: 0 0 1.75rem !important; }
.u-187e24b { margin-top: 0.25rem !important; }
.u-18b3ffb { display: inline-flex !important; align-items: center !important; gap: 0.25rem !important; font-weight: normal !important; }
.u-1b40b98 { left: 72.6% !important; top: 88.9% !important; width: 16.5% !important; }
.u-1bcd9b7 { width: auto !important; }
.u-291ca70 { left: 31.3% !important; top: 88.9% !important; width: 16.5% !important; }
.u-2c31351 { font-size: 0.8rem !important; color: #999 !important; }
.u-2e4ca39 { width: auto !important; display: inline !important; }
.u-32124de { display: inline-block !important; margin-left: 0.75rem !important; }
.u-36d1830 { margin: 0 0 0.35rem !important; }
.u-37fa0e5 { margin: 1rem 0 0.3rem !important; }
.u-3961a22 { width: 6rem !important; }
.u-39f66f5 { margin-bottom: 1.25rem !important; }
.u-3c8cf1b { cursor: pointer !important; }
.u-3d51fa4 { font-size: 0.85rem !important; color: #666 !important; margin-top: 1rem !important; }
.u-3d9b68f { font-size: 0.8rem !important; color: #666 !important; }
.u-3ef1c97 { margin-top: 0.5rem !important; display: flex !important; gap: 0.4rem !important; flex-wrap: wrap !important; align-items: flex-end !important; }
.u-411d097 { margin-top: 0.75rem !important; max-width: 30rem !important; }
.u-4266303 { margin-bottom: 0.9rem !important; }
.u-4306941 { font-size: 0.8rem !important; color: #666 !important; margin-top: 0.5rem !important; }
.u-467bcbf { font-size: 0.85rem !important; color: var(--texto-secundario) !important; }
.u-4797b4c { margin-top: 0 !important; }
.u-496741f { padding: 0 !important; overflow: hidden !important; }
.u-4a9bac9 { font-size: 0.8rem !important; color: var(--texto-secundario) !important; margin: 0.75rem 0 0 !important; }
.u-515d698 { margin-top: 0.5rem !important; }
.u-546d290 { width: 30ch !important; }
.u-57e7c53 { margin-bottom: 0.75rem !important; display: flex !important; gap: 0.75rem !important; flex-wrap: wrap !important; align-items: flex-end !important; }
.u-58a9b58 { font-size: 0.8rem !important; color: #666 !important; padding: 0 0.3rem !important; }
.u-5b66ec4 { margin-top: 1.5rem !important; }
.u-5ce2963 { left: 9.5% !important; top: 57.5% !important; width: 22.2% !important; height: 6.8% !important; }
.u-5d6e9d3 { font-size: 0.85rem !important; }
.u-5e671bd { left: 52% !important; top: 84.2% !important; }
.u-5eb7ca3 { left: 31.3% !important; top: 84.2% !important; }
.u-634b5f5 { max-width: 320px !important; margin: 1.25rem auto 3rem !important; }
.u-65ce7dd { left: 10.7% !important; top: 88.9% !important; width: 16.5% !important; }
.u-65d117c { margin: 0 !important; }
.u-6d62ccc { font-size: 0.85rem !important; color: #666 !important; max-width: 65ch !important; }
.u-6e3c16d { font-size: 0.85rem !important; color: #666 !important; max-width: 60ch !important; }
.u-6f2d8f0 { left: 80.9% !important; top: 3.2% !important; width: 11% !important; height: 7.6% !important; }
.u-71d8fd5 { font-size: 0.8rem !important; color: #666 !important; max-width: 60ch !important; margin: 0 0 0.5rem !important; }
.u-732f766 { display: inline-block !important; }
.u-748eef5 { left: 69% !important; top: 3.2% !important; width: 12% !important; height: 7.6% !important; }
.u-76b4760 { margin-top: 1rem !important; border: 1px solid #ddd !important; border-radius: 6px !important; padding: 0.75rem 1rem !important; }
.u-77a0e54 { left: 41.5% !important; top: 4.6% !important; }
.u-7a053a4 { margin-bottom: 1rem !important; }
.u-7a69cba { width: 16ch !important; }
.u-84abd85 { font-size: 0.8rem !important; color: #888 !important; max-width: 65ch !important; margin-bottom: 0.5rem !important; }
.u-85188dc { font-weight: bold !important; border-top: 2px solid #ccc !important; }
.u-851ff91 { width: 9ch !important; }
.u-88e4a67 { font-size: 0.78rem !important; color: var(--texto-secundario) !important; margin: 0 0 0.4rem !important; }
.u-8954dd0 { margin: 0.9rem 0 0 !important; }
.u-89b1083 { font-size: 0.85rem !important; color: #666 !important; margin: 0.2rem 0 0 !important; }
.u-8ab293c { font-size: 0.8rem !important; color: #666 !important; max-width: 60ch !important; }
.u-8b1491e { font-size: 0.82rem !important; color: var(--texto-secundario) !important; margin-top: -0.3rem !important; }
.u-8fa341f { font-size: 0.8rem !important; color: #888 !important; margin-top: 0.75rem !important; }
.u-9260b6e { font-size: 0.8rem !important; color: #8a6d00 !important; }
.u-943ff14 { font-size: 0.8rem !important; color: #666 !important; max-width: 60ch !important; margin-top: 1rem !important; }
.u-9a9de11 { margin-top: 0.5rem !important; max-width: 40rem !important; }
.u-9b12718 { font-weight: 700 !important; border-top: 2px solid var(--borde) !important; }
.u-9beea83 { max-width: 320px !important; margin: 3.5rem auto 0 !important; text-align: center !important; }
.u-9cb391d { width: 5rem !important; }
.u-a264636 { font-size: 0.85rem !important; color: #666 !important; }
.u-a3445f5 { font-size: 0.75rem !important; }
.u-a5693a4 { background: var(--superficie) !important; border-top: 1px solid var(--borde) !important; border-bottom: 1px solid var(--borde) !important; }
.u-a5fc9c5 { font-size: 0.85rem !important; color: #666 !important; margin-top: 0.5rem !important; }
.u-ade0de3 { font-size: 0.85rem !important; color: var(--texto-secundario) !important; margin-top: 0.5rem !important; }
.u-afb6e07 { left: 10.7% !important; top: 84.2% !important; }
.u-b0b488b { display: inline-block !important; margin-top: 0.35rem !important; }
.u-b1c630e { display: inline !important; }
.u-b44ae11 { font-size: 0.85rem !important; color: var(--texto-secundario) !important; margin-top: 1rem !important; }
.u-b4c4205 { white-space: nowrap !important; }
.u-b51fe49 { color: #888 !important; }
.u-b883245 { display: flex !important; gap: 0.4rem !important; align-items: center !important; }
.u-b8bff85 { left: 72.6% !important; top: 84.2% !important; }
.u-b8dad63 { margin: 0 0 0.3rem !important; }
.u-bbcb844 { width: 200px !important; height: auto !important; }
.u-bdfb206 { font-size: 0.82rem !important; color: var(--texto-secundario) !important; }
.u-c075954 { align-self: flex-start !important; margin-top: 0.4rem !important; }
.u-c259dc1 { display: inline-block !important; margin-right: 0.5rem !important; }
.u-c2e8661 { display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap !important; gap: 0.5rem !important; margin-bottom: 0.9rem !important; }
.u-c31166e { font-size: 0.8rem !important; color: #666 !important; margin-top: 1rem !important; max-width: 60ch !important; }
.u-c31a763 { left: 52% !important; top: 88.9% !important; width: 16.5% !important; }
.u-c5071de { font-weight: 400 !important; }
.u-c64cef0 { max-width: 70ch !important; overflow-x: auto !important; font-size: 0.75rem !important; }
.u-c71654e { cursor: pointer !important; font-size: 0.8rem !important; }
.u-caff6f6 { border: 1px solid #e2e2e2 !important; border-radius: 6px !important; padding: 0.75rem 1rem !important; }
.u-cbef814 { margin: 0 0 0.6rem !important; }
.u-cdb7304 { color: #b00 !important; }
.u-cfe7bdf { font-size: 0.75rem !important; color: var(--texto-secundario) !important; margin-top: -0.5rem !important; }
.u-d2285e2 { width: 18ch !important; }
.u-d2633f9 { font-weight: 400 !important; font-size: 0.78rem !important; }
.u-d5aa019 { margin-top: 0.4rem !important; display: flex !important; gap: 0.4rem !important; flex-wrap: wrap !important; align-items: flex-end !important; }
.u-d93ee67 { width: 40ch !important; }
.u-db009f4 { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 1rem !important; }
.u-dbafd4e { left: 9% !important; top: 23.5% !important; width: 42% !important; }
.u-dc08125 { left: 58.2% !important; top: 4.6% !important; }
.u-dd4a794 { width: 10ch !important; }
.u-dfd58b3 { font-size: 0.85rem !important; color: #666 !important; margin-top: 0 !important; }
.u-e495de6 { left: 36.5% !important; top: 4.6% !important; }
.u-e516368 { width: 35ch !important; }
.u-e99b5de { margin-top: 0.75rem !important; }
.u-ea32c59 { margin-top: 0.5rem !important; min-width: 20rem !important; }
.u-eb27e3b { font-size: 0.8rem !important; color: #888 !important; max-width: 65ch !important; }
.u-ed5ce32 { overflow-x: auto !important; }
.u-f0daefa { font-size: 0.8rem !important; color: var(--texto-secundario) !important; margin: 0 !important; }
.u-f40d99a { flex-direction: row !important; align-items: center !important; gap: 0.4rem !important; }
.u-f4f99c0 { display: inline-flex !important; align-items: center !important; gap: 0.3rem !important; font-weight: normal !important; }
.u-f56767c { width: 4rem !important; }
.u-f5d70de { display: flex !important; gap: 0.5rem !important; align-items: center !important; flex-wrap: wrap !important; }
.u-f763b7a { left: 33% !important; top: 57.5% !important; width: 14.2% !important; height: 6.8% !important; }
.u-f8fc7f0 { text-transform: uppercase !important; }
.u-fb48796 { font-size: 0.8rem !important; }
.u-fd01c86 { width: 6ch !important; }

/* Anchos de las barras de cartera (0-100 %), sin style="" inline: la plantilla redondea el porcentaje y elige la clase. */
.seg-w-0 { width: 0%; }
.seg-w-1 { width: 1%; }
.seg-w-2 { width: 2%; }
.seg-w-3 { width: 3%; }
.seg-w-4 { width: 4%; }
.seg-w-5 { width: 5%; }
.seg-w-6 { width: 6%; }
.seg-w-7 { width: 7%; }
.seg-w-8 { width: 8%; }
.seg-w-9 { width: 9%; }
.seg-w-10 { width: 10%; }
.seg-w-11 { width: 11%; }
.seg-w-12 { width: 12%; }
.seg-w-13 { width: 13%; }
.seg-w-14 { width: 14%; }
.seg-w-15 { width: 15%; }
.seg-w-16 { width: 16%; }
.seg-w-17 { width: 17%; }
.seg-w-18 { width: 18%; }
.seg-w-19 { width: 19%; }
.seg-w-20 { width: 20%; }
.seg-w-21 { width: 21%; }
.seg-w-22 { width: 22%; }
.seg-w-23 { width: 23%; }
.seg-w-24 { width: 24%; }
.seg-w-25 { width: 25%; }
.seg-w-26 { width: 26%; }
.seg-w-27 { width: 27%; }
.seg-w-28 { width: 28%; }
.seg-w-29 { width: 29%; }
.seg-w-30 { width: 30%; }
.seg-w-31 { width: 31%; }
.seg-w-32 { width: 32%; }
.seg-w-33 { width: 33%; }
.seg-w-34 { width: 34%; }
.seg-w-35 { width: 35%; }
.seg-w-36 { width: 36%; }
.seg-w-37 { width: 37%; }
.seg-w-38 { width: 38%; }
.seg-w-39 { width: 39%; }
.seg-w-40 { width: 40%; }
.seg-w-41 { width: 41%; }
.seg-w-42 { width: 42%; }
.seg-w-43 { width: 43%; }
.seg-w-44 { width: 44%; }
.seg-w-45 { width: 45%; }
.seg-w-46 { width: 46%; }
.seg-w-47 { width: 47%; }
.seg-w-48 { width: 48%; }
.seg-w-49 { width: 49%; }
.seg-w-50 { width: 50%; }
.seg-w-51 { width: 51%; }
.seg-w-52 { width: 52%; }
.seg-w-53 { width: 53%; }
.seg-w-54 { width: 54%; }
.seg-w-55 { width: 55%; }
.seg-w-56 { width: 56%; }
.seg-w-57 { width: 57%; }
.seg-w-58 { width: 58%; }
.seg-w-59 { width: 59%; }
.seg-w-60 { width: 60%; }
.seg-w-61 { width: 61%; }
.seg-w-62 { width: 62%; }
.seg-w-63 { width: 63%; }
.seg-w-64 { width: 64%; }
.seg-w-65 { width: 65%; }
.seg-w-66 { width: 66%; }
.seg-w-67 { width: 67%; }
.seg-w-68 { width: 68%; }
.seg-w-69 { width: 69%; }
.seg-w-70 { width: 70%; }
.seg-w-71 { width: 71%; }
.seg-w-72 { width: 72%; }
.seg-w-73 { width: 73%; }
.seg-w-74 { width: 74%; }
.seg-w-75 { width: 75%; }
.seg-w-76 { width: 76%; }
.seg-w-77 { width: 77%; }
.seg-w-78 { width: 78%; }
.seg-w-79 { width: 79%; }
.seg-w-80 { width: 80%; }
.seg-w-81 { width: 81%; }
.seg-w-82 { width: 82%; }
.seg-w-83 { width: 83%; }
.seg-w-84 { width: 84%; }
.seg-w-85 { width: 85%; }
.seg-w-86 { width: 86%; }
.seg-w-87 { width: 87%; }
.seg-w-88 { width: 88%; }
.seg-w-89 { width: 89%; }
.seg-w-90 { width: 90%; }
.seg-w-91 { width: 91%; }
.seg-w-92 { width: 92%; }
.seg-w-93 { width: 93%; }
.seg-w-94 { width: 94%; }
.seg-w-95 { width: 95%; }
.seg-w-96 { width: 96%; }
.seg-w-97 { width: 97%; }
.seg-w-98 { width: 98%; }
.seg-w-99 { width: 99%; }
.seg-w-100 { width: 100%; }
.w-8rem { width: 8rem; }

/* Reporte genérico: filas de subtotal/total y sangría por nivel (antes style="" inline). */
.fila-resumen { font-weight: 600; }
.sangria-1 { padding-left: 2rem; }
.sangria-2 { padding-left: 3rem; }
.sangria-3 { padding-left: 4rem; }
.sangria-4 { padding-left: 5rem; }
.sangria-5 { padding-left: 6rem; }
.sangria-6 { padding-left: 7rem; }
.sangria-7 { padding-left: 8rem; }
.sangria-8 { padding-left: 9rem; }
