/* Habita Finanzas · registrar por voz */
.ib.mic { background: var(--acc-bg); color: var(--acc-t); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--acc-t) 30%, transparent); }
.nuevo2 { display: grid; grid-template-columns: 1fr 48px; gap: 8px; } .btn.mic { padding: 0; background: var(--acc-bg); color: var(--acc-t); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--acc-t) 30%, transparent); }
.vz-atajo { display: flex; align-items: center; gap: 10px; width: 100%; height: 46px; padding: 0 14px; margin-bottom: 12px; border-radius: 13px; background: var(--acc-bg); color: var(--acc-t); font-weight: 600; font-size: 14px; }
.vz-atajo span { flex: 1; text-align: left; }
.hoja header h2 .chip { margin-left: 6px; vertical-align: 2px; }
.vz { display: grid; justify-items: center; text-align: center; gap: 10px; padding: 18px 0 8px; }
.vz-orb { position: relative; width: 116px; height: 116px; border-radius: 50%; display: grid; place-items: center; background: var(--acc); color: var(--on-acc); margin: 14px 0 10px; transition: transform .2s var(--ease); }
.vz-orb svg.i { width: 40px; height: 40px; stroke-width: 1.9; position: relative; z-index: 1; }
.vz-orb i { position: absolute; inset: 0; border-radius: 50%; background: var(--acc); opacity: 0; }
.vz-orb.viva i { animation: onda 2.1s ease-out infinite; } .vz-orb.viva i:nth-child(2) { animation-delay: .7s; } .vz-orb.viva i:nth-child(3) { animation-delay: 1.4s; }
@keyframes onda { from { transform: scale(1); opacity: .34; } to { transform: scale(1.9); opacity: 0; } }
.vz-orb:active { transform: scale(.95); }
.vz-est { font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
.vz-txt { color: var(--tx2); font-size: 15px; max-width: 30ch; min-height: 44px; text-wrap: balance; } .vz-txt.dicho { color: var(--tx); font-size: 17px; }
.vz-acc { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; position: sticky; bottom: -16px; z-index: 2; padding: 10px 0 16px; margin-bottom: -16px; background: linear-gradient(to top, var(--s1) 78%, transparent); } .vz-acc.tres { grid-template-columns: auto auto 1fr; } .vz-acc.tres .btn.s { padding: 0 14px; }
.vz-priv, .vz-nota { display: flex; gap: 8px; font-size: 12.5px; line-height: 1.45; color: var(--tx2); margin-top: 14px; } .vz-priv svg.i, .vz-nota svg.i { width: 16px; height: 16px; margin-top: 1px; flex: none; color: var(--tx3); }
.vz-nota { margin-top: 10px; } .vz-nota:empty { display: none; } #vz-falta { color: var(--warn); }
.vz-err { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; padding: 14px; border-radius: 16px; background: var(--warn-bg); } .vz-err b { display: block; font-weight: 600; } .vz-err small { color: var(--tx2); font-size: 13px; line-height: 1.4; display: block; margin-top: 2px; }
.vz-ej { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; } .vz-ej button { min-height: 40px; padding: 6px 12px; border-radius: 11px; background: var(--s2); box-shadow: inset 0 0 0 1px var(--line); font-size: 13px; color: var(--tx2); text-align: left; }
.vz-cita { font-size: 15px; color: var(--tx2); padding: 10px 14px; border-radius: 14px; background: var(--s2); border-left: 3px solid var(--acc-t); margin-bottom: 12px; }
.vz-duda { padding: 12px 14px; border-radius: 14px; background: var(--warn-bg); margin-bottom: 10px; display: grid; gap: 10px; animation: entra .3s var(--ease); } .vz-duda b { font-size: 14px; font-weight: 600; } .vz-duda .rap button { background: var(--s1); color: var(--tx); font-weight: 600; }
.vz-card { border-radius: 20px; padding: 12px; background: radial-gradient(120% 120% at 0% 0%, var(--acc-glow), transparent 60%), var(--s2); box-shadow: inset 0 0 0 1px var(--line2); display: grid; gap: 6px; }
.vz-card .montoin { padding: 10px 0 4px; } .vz-card .seg { background: color-mix(in srgb, var(--bg) 50%, transparent); }
.vz-fila { display: flex; align-items: center; gap: 8px; min-width: 0; } .vz-fila > span { color: var(--tx3); display: grid; place-items: center; width: 28px; flex: none; }
.vz-fila input { height: 44px; background: color-mix(in srgb, var(--bg) 50%, transparent); min-width: 0; flex: 1; } .vz-fila .rap { flex-wrap: nowrap; }
.vz-fin { padding: 34px 0 30px; } .vz-check { width: 84px; height: 84px; border-radius: 50%; background: var(--pos); color: #04130b; display: grid; place-items: center; animation: pop .45s var(--ease); } .vz-check svg.i { width: 40px; height: 40px; stroke-width: 2.6; }
.vz-monto { font-size: 34px; font-weight: 600; letter-spacing: -.04em; }
@keyframes pop { from { transform: scale(.4); opacity: 0; } 60% { transform: scale(1.08); } }
