.voiceLaunch{display:inline-flex;align-items:center;gap:8px;border:1px solid #7d77b4;background:#232744;color:#fff;border-radius:999px;padding:10px 17px;min-height:44px;font:600 15px system-ui;cursor:pointer;margin:8px 0}
.voiceLaunch[aria-pressed="true"]{background:#5a4a99}
.voiceDialog{box-sizing:border-box;width:min(94vw,560px);max-height:90vh;max-height:90dvh;overflow:auto;border:1px solid #8e85bb;border-radius:26px;padding:24px;color:#f5f3ff;background:linear-gradient(155deg,#16263c,#242139);box-shadow:0 24px 80px #0008;text-align:center}
.voiceDialog::backdrop{background:#060b19cc;backdrop-filter:blur(7px)}
.voiceDialog h2{color:inherit;margin:2px 0 10px;font-size:24px}.voiceDialog p{font-size:14px;line-height:1.6;color:#d6d6e9}
.voiceDialog .voiceClose{position:absolute;inset-inline-end:12px;top:12px;min-width:44px;min-height:44px;border-radius:50%;border:0;background:transparent;color:inherit;font-size:24px;cursor:pointer}
.voiceOrb{display:grid;place-items:center;width:112px;height:112px;border-radius:50%;margin:24px auto;background:radial-gradient(circle at 32% 28%,#d6d0ff,#7a69ce 45%,#3c527e 80%);box-shadow:0 0 38px #9f84fa55;color:#14233b;font-size:44px}
.voiceDialog[data-state="listening"] .voiceOrb{animation:voiceBreathe 1.5s ease-in-out infinite}.voiceDialog[data-state="speaking"] .voiceOrb{animation:voiceBreathe 0.7s ease-in-out infinite alternate}
.voiceDialog #conversationState{font-size:20px;font-weight:650;color:white;margin-bottom:8px}.voiceDialog #conversationDetail:empty{display:none}
.voiceDialog .voiceActions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:18px 0}.voiceDialog button:not(.voiceClose){min-height:44px;padding:10px 16px;border-radius:16px;border:1px solid #9790b4;background:#31364f;color:white;font:600 14px system-ui;cursor:pointer}.voiceDialog #startConversation{background:#d6c6ff;color:#1c1831}.voiceDialog #endConversation{background:#5a2f40}.voiceDialog button:disabled{opacity:0.45;cursor:default}
.voiceDialog .voicePrivacy,.voiceDialog .voiceScope{font-size:12px;text-align:start}.voiceLanguageRow{display:flex;justify-content:center;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px}.voiceDialog .voiceTurn{text-align:start;background:#0d192980;border-radius:16px;padding:12px;margin:10px 0;overflow-wrap:anywhere}.voiceTurn p{white-space:pre-wrap;max-height:160px;overflow:auto;margin:6px 0}.voiceTurn p:empty{display:none}
.voiceDialog button:focus-visible,.voiceLaunch:focus-visible{outline:3px solid #eee0ff;outline-offset:3px}
@keyframes voiceBreathe{50%{transform:scale(1.06);box-shadow:0 0 56px #b9a1ff88}}
@media(prefers-reduced-motion:reduce){.voiceDialog .voiceOrb{animation:none!important}}
@media(max-width:400px){.voiceDialog{padding:22px 16px}.voiceDialog h2{font-size:21px;padding:0 28px}.voiceOrb{width:88px;height:88px;margin:16px auto}}

.ledgerScroll{overflow-x:auto}.ledgerTable{width:100%;min-width:660px;border-collapse:collapse}.ledgerTable th,.ledgerTable td{padding:8px;text-align:start;border-bottom:1px solid #ddd}.ledgerTable input{min-width:100px;width:100%;box-sizing:border-box}.ledgerTable td:nth-child(2){min-width:200px}
