h2{font-size:1.05rem;margin:1.2rem 0 .5rem}
.center{text-align:center;margin:1rem 0}
.block{display:block;width:100%}
.btn{cursor:pointer}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.in{color:var(--accent)}.out{color:var(--warn)}

.saldo{text-align:center;display:grid;gap:.3rem;margin:1rem 0;padding:1.3rem}
.saldo b{font-size:2.5rem;color:var(--accent);line-height:1.1}
.saldo b.neg{color:var(--danger)}
.pill{justify-self:center;background:rgba(45,212,191,.15);color:var(--accent);font-weight:700;font-size:.8rem;border-radius:99px;padding:.15rem .7rem}
.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.two-cards .card{display:grid;gap:.2rem}.two-cards b{font-size:1.35rem}
.insight{margin-top:.8rem;font-size:.9rem;line-height:1.6}

.hbar{margin-bottom:.9rem}.hbar:last-child{margin-bottom:0}
.hl{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.3rem}
.ht{height:10px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden}
.ht i{display:block;height:100%;border-radius:99px;transition:width .4s}

.week{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;align-items:end;height:130px}
.wk{display:grid;grid-template-rows:1fr auto;height:100%;justify-items:center;gap:.3rem}
.wk .bars{display:flex;align-items:flex-end;gap:3px;height:100%;width:100%;justify-content:center}
.wk .bars i{width:42%;border-radius:4px 4px 0 0;min-height:2px;transition:height .4s}
.wk .bars i.in{background:var(--accent)}.wk .bars i.out{background:var(--warn)}
.wk small{font-size:.68rem;color:var(--muted)}
.legend{display:flex;gap:1rem;justify-content:center;margin-top:.8rem;font-size:.75rem;color:var(--muted)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.3rem}
.legend i.in{background:var(--accent)}.legend i.out{background:var(--warn)}

/* Movimientos */
.dayh{font-size:.78rem;color:var(--muted);margin:1rem 0 .4rem;text-transform:capitalize}
.mv{display:grid;grid-template-columns:38px 1fr auto;gap:.7rem;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:.65rem .8rem;width:100%;text-align:left;margin-bottom:.45rem;cursor:pointer;font:inherit;color:inherit}
.mv .ic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:1.1rem;background:rgba(255,255,255,.07)}
.mv .nm{font-weight:700;font-size:.92rem}
.mv .sub{font-size:.76rem;color:var(--muted)}
.mv .am{font-weight:800}

/* Boton de voz en la barra */
.tabs{grid-template-columns:1fr 1.1fr 1fr}
.tabs .mic-tab{color:#06101f}
.tabs .mic-tab span{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--violet));display:grid;place-items:center;font-size:1.5rem;margin-top:-26px;box-shadow:0 6px 20px rgba(56,189,248,.45);border:4px solid var(--bg)}
.tabs .mic-tab{color:var(--muted)}

/* Ventana inferior */
dialog{border:1px solid var(--border);border-radius:18px 18px 0 0;background:var(--bg-alt);color:#fff;width:100%;max-width:480px;margin:auto auto 0;padding:1.2rem;overflow:auto;max-height:92vh}
dialog::backdrop{background:rgba(0,0,0,.6)}
.sheet h3{margin-bottom:.4rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.sheet label{display:grid;gap:.25rem;font-size:.85rem;margin-bottom:.7rem;color:var(--muted)}
.sheet input,.sheet select{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem;color:#fff;font:inherit;width:100%}
.sheet input:focus,.sheet select:focus{outline:2px solid var(--primary);border-color:transparent}
.sheet .two{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.sheet .actions{display:grid;gap:.6rem;margin-top:.6rem}
.x{background:none;border:0;font-size:1.4rem;color:var(--muted);cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 1rem}
.chip{background:var(--card);border:1px solid var(--border);border-radius:99px;padding:.35rem .8rem;font-size:.8rem;color:#fff;cursor:pointer;font:inherit;font-size:.8rem}
.chip:hover{border-color:var(--primary)}
.micbig{width:76px;height:76px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--primary),var(--violet));font-size:2rem;cursor:pointer;display:block;margin:.8rem auto .4rem;box-shadow:0 8px 26px rgba(56,189,248,.4)}
.micbig.rec{animation:pulse 1.1s infinite;background:linear-gradient(135deg,#f87171,#fb923c)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(248,113,113,.6)}100%{box-shadow:0 0 0 22px rgba(248,113,113,0)}}
.status{text-align:center;font-size:.85rem;color:var(--muted);min-height:1.3em;margin-bottom:.6rem}
.say{display:flex;gap:.5rem;margin-bottom:.6rem}
.say input{flex:1;min-width:0}
.say .btn{padding:.6rem 1rem}
.understood{border:1px solid var(--primary);background:rgba(56,189,248,.07);border-radius:14px;padding:.9rem;margin-top:.6rem}
.understood .tt{font-size:.8rem;color:var(--primary);font-weight:700;margin-bottom:.5rem}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.7rem}
.seg button{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:10px;padding:.55rem;font:inherit;cursor:pointer}
.seg button.on.o{border-color:var(--warn);color:var(--warn);background:rgba(251,146,60,.1)}
.seg button.on.i{border-color:var(--accent);color:var(--accent);background:rgba(45,212,191,.1)}
.danger{color:var(--danger);background:none;border:0;font-size:.85rem;margin-top:.4rem;cursor:pointer}
