:root{color-scheme:light dark;--bg:Canvas;--fg:CanvasText;--muted:color-mix(in srgb,CanvasText 55%,Canvas);--line:color-mix(in srgb,CanvasText 18%,Canvas);--accent:#167a3a;--warn:#b00020;--nav-h:56px;--bar-h:52px}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--fg);line-height:1.45;-webkit-font-smoothing:antialiased}.app{max-width:28rem;margin:0 auto;min-height:100%;display:flex;flex-direction:column}.content{flex:1 1;padding:.75rem .9rem calc(var(--nav-h) + 1rem)}.bottomnav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-h);display:flex;border-top:1px solid var(--line);background:var(--bg);z-index:50}.bottomnav a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:.72rem;letter-spacing:.03em}.bottomnav a.active{color:var(--fg);font-weight:600}.bottomnav .ico{font-size:1.2rem;line-height:1}.topbar{height:var(--bar-h);display:flex;align-items:center;justify-content:space-between;padding:0 .4rem 0 .6rem;border-bottom:1px solid var(--line)}.topbar .brand{font-weight:700;letter-spacing:.02em}.topbar .profile{font-size:.8rem;color:var(--muted);max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button{font:inherit;cursor:pointer;border-radius:.45rem;border:1px solid var(--line);background:transparent;color:var(--fg);padding:.5rem .9rem}button:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.live-toggle.live{background:var(--warn);color:#fff;border-color:var(--warn)}.chip{display:inline-block;font-size:.68rem;padding:1px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.chip.open{color:var(--accent);border-color:var(--accent)}.chip.invoiced{color:var(--fg);border-color:var(--fg)}.chip.voided{color:var(--warn);border-color:var(--warn)}.chip.paid{background:var(--accent);color:#fff;border-color:var(--accent)}.tabs{display:flex;gap:.4rem;margin:.3rem 0 .7rem}.tabs button.active{background:color-mix(in srgb,CanvasText 10%,Canvas);font-weight:600}.toolbar{justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.toolbar,.toolbar label{display:flex;align-items:center}.toolbar label{font-size:.8rem;color:var(--muted);gap:.3rem}.search{width:100%;padding:.5rem;border:1px solid var(--line);border-radius:.45rem;background:var(--bg);color:var(--fg)}.card{border:1px solid var(--line);border-radius:.55rem;padding:.6rem .7rem;margin-bottom:.5rem;background:color-mix(in srgb,CanvasText 3%,Canvas)}.card.is-voided{opacity:.6}.card .row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.card .title{font-weight:600}.card .sub{font-size:.8rem;color:var(--muted)}.card .total{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.card .chips{display:flex;gap:.3rem;margin-top:.35rem;flex-wrap:wrap}.clickable{cursor:pointer}table.lineitems{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:.4rem}table.lineitems td{padding:.15rem .25rem;border-bottom:1px solid var(--line)}table.lineitems tr.total td{font-weight:600;border-bottom:none}.empty,.muted{color:var(--muted)}.empty{text-align:center;padding:2rem 0}.err{color:var(--warn);font-size:.85rem;min-height:1.1em}.login{max-width:22rem;margin:4rem auto;padding:0 1rem}.login label{display:block;margin:.6rem 0 .2rem;font-size:.85rem}.login input{width:100%;padding:.55rem;border:1px solid var(--line);border-radius:.45rem;background:var(--bg);color:var(--fg)}.login button{margin-top:1rem;width:100%}.talk{display:flex;flex-direction:column;gap:.6rem}.panel-mount{border:1px dashed var(--line);border-radius:.6rem;min-height:9rem;display:flex;align-items:center;justify-content:center;color:var(--muted);text-align:center;padding:1rem}.transcript{font-size:.92rem;white-space:pre-wrap;min-height:3rem}.transcript .u{color:var(--muted)}.waveform{height:40px;display:flex;align-items:center;justify-content:center;gap:3px}.waveform .bar{width:3px;background:var(--accent);border-radius:2px;transition:height 80ms linear}.talk-controls{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding-top:.3rem}.talk-status{font-size:.8rem;color:var(--muted);min-height:1.1em}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-card{background:var(--bg);color:var(--fg);border-radius:.6rem;padding:1.1rem;width:min(26rem,94vw);box-shadow:0 8px 30px rgba(0,0,0,.3);border:1px solid var(--line)}.modal-card .prompt{font-size:1.05rem;font-weight:600;margin:0 0 .7rem}.modal-card .choice{display:block;width:100%;text-align:left;margin:.35rem 0;padding:.6rem .8rem}.modal-card .choice .sub{color:var(--muted);font-size:.82rem}.modal-card .actions{display:flex;gap:.5rem;margin-top:.9rem}.modal-card .actions button{flex:1 1}.preview-warning{color:var(--warn);font-weight:600;margin:.35rem 0}.preview-note{color:var(--muted);font-size:.82rem;margin:.25rem 0}