.alert.success{background:#15392f;color:#b8f7dd}
.usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px}
.usage-card{background:#111b2d;border:1px solid #26334a;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:8px}
.usage-card small{color:#91a0b7}.usage-card strong{font-size:1.35rem}
.transcription-grid{align-items:start}
.recorder{position:relative;overflow:hidden;margin:20px 0;border:1px solid #26384b;border-radius:22px;background:linear-gradient(160deg,#0d1824 0%,#09111c 100%);padding:18px 18px 22px;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.record-visualizer{display:block;width:100%;height:92px;opacity:.9;transition:opacity .25s}.recorder[data-state="paused"] .record-visualizer{opacity:.35}
.recorder-readout{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:-4px}.record-time{font:700 1.75rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:#f4f8ff}.record-status{min-height:20px;color:#8fa0b7;font-size:.86rem}
.recorder-actions{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:18px;min-height:104px}
.record-main{position:relative;width:92px;height:92px;padding:0;border:2px solid rgba(255,73,93,.7);border-radius:50%;background:#111c29;cursor:pointer;box-shadow:0 0 0 8px rgba(255,45,85,.07),0 14px 35px rgba(0,0,0,.32);transition:transform .2s,background .25s,border-color .25s,box-shadow .25s}
.record-main:hover{transform:scale(1.045);box-shadow:0 0 0 10px rgba(255,45,85,.1),0 16px 38px rgba(0,0,0,.38)}.record-main:active{transform:scale(.97)}
.record-main-icon{position:absolute;inset:0;margin:auto;width:32px;height:32px;border-radius:50%;background:#ff355d;box-shadow:0 0 22px rgba(255,53,93,.48);transition:all .25s}
.recorder[data-state="recording"] .record-main,.recorder[data-state="paused"] .record-main{background:#ff355d;border-color:#ff7890;box-shadow:0 0 0 8px rgba(255,45,85,.12),0 0 34px rgba(255,45,85,.34)}
.recorder[data-state="recording"] .record-main:after{content:"";position:absolute;inset:-11px;border:2px solid rgba(255,71,101,.48);border-radius:50%;animation:record-pulse 1.5s ease-out infinite}
.recorder[data-state="recording"] .record-main-icon,.recorder[data-state="paused"] .record-main-icon{width:27px;height:27px;border-radius:6px;background:#fff;box-shadow:none}
.recorder[data-state="ready"] .record-main{border-color:#56e5b2;box-shadow:0 0 0 8px rgba(86,229,178,.08),0 14px 35px rgba(0,0,0,.32)}
.recorder[data-state="requesting"] .record-main,.recorder[data-state="processing"] .record-main{opacity:.65;cursor:wait}.recorder[data-state="requesting"] .record-main-icon,.recorder[data-state="processing"] .record-main-icon{background:transparent;border:3px solid rgba(255,255,255,.24);border-top-color:#ff4968;box-shadow:none;animation:record-spin .8s linear infinite}
.record-pause{display:flex;align-items:center;gap:8px;border:1px solid #34465c;border-radius:999px;background:#142131;color:#dce7f7;padding:10px 15px;cursor:pointer;font:inherit;font-size:.86rem;font-weight:600;transition:opacity .2s,transform .2s,border-color .2s}.record-pause:hover:not(:disabled){transform:translateY(-1px);border-color:#5d7591}.record-pause:disabled{opacity:.35;cursor:not-allowed}
.pause-icon{display:block;width:12px;height:14px;border-left:4px solid currentColor;border-right:4px solid currentColor;box-sizing:border-box}.recorder[data-state="paused"] .pause-icon{width:0;height:0;border:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:12px solid currentColor}
.record-action-label{margin-top:7px;color:#dce7f7;font-weight:650}.record-preview-wrap{margin:-4px 0 18px;padding:14px;border:1px solid #29443e;border-radius:16px;background:rgba(25,64,53,.32)}.record-ready{display:flex;align-items:center;gap:8px;color:#b8f7dd;font-size:.9rem}.record-ready-dot{width:9px;height:9px;border-radius:50%;background:#55e4b1;box-shadow:0 0 12px rgba(85,228,177,.7)}
.record-player{display:grid;grid-template-columns:42px 46px minmax(100px,1fr) 46px;gap:10px;align-items:center;margin-top:12px}.record-play{width:42px;height:42px;border-radius:50%;border:1px solid #477565;background:#55e4b1;color:#071711;cursor:pointer;position:relative}.record-play-icon{position:absolute;left:16px;top:13px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid currentColor}.record-play.is-playing .record-play-icon{left:14px;top:13px;width:13px;height:16px;border:0;border-left:5px solid currentColor;border-right:5px solid currentColor;box-sizing:border-box}.record-player-time{font:650 .78rem ui-monospace,SFMono-Regular,Menlo,monospace;color:#b8cec6}.record-seek{padding:0;height:5px;border:0;background:transparent;accent-color:#55e4b1;box-shadow:none}
.live-dictation{margin-bottom:22px;border-color:#2c5148;background:radial-gradient(circle at 90% 0,rgba(53,215,166,.12),transparent 34%),linear-gradient(145deg,rgba(16,33,29,.98),rgba(9,20,18,.98))}.live-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.live-heading h2{font-size:1.6rem}.live-heading p{margin-bottom:0}.live-controls{display:flex;gap:12px;align-items:end;flex:0 0 auto}.live-language{width:86px}.live-language input{padding:10px}.live-toggle{display:flex;align-items:center;gap:9px;min-height:43px;border:1px solid #3d7564;border-radius:999px;background:#16362d;color:#c9ffec;padding:10px 17px;font:inherit;font-weight:750;cursor:pointer;white-space:nowrap}.live-toggle-dot{width:11px;height:11px;border-radius:50%;background:#55e4b1;box-shadow:0 0 13px rgba(85,228,177,.7)}.live-dictation[data-state="live"] .live-toggle{background:#ff355d;border-color:#ff7890;color:#fff}.live-dictation[data-state="live"] .live-toggle-dot{border-radius:3px;background:#fff;box-shadow:none}.live-dictation[data-state="live"] .live-indicator{animation:live-pulse 1.25s ease-in-out infinite}.live-toggle:disabled{opacity:.65;cursor:wait}.live-status-row{display:flex;align-items:center;gap:9px;margin:22px 0 10px;color:#a9bdb6;font-size:.88rem}.live-status-row time{margin-left:auto;font:700 .9rem ui-monospace,SFMono-Regular,Menlo,monospace;color:#d9ebe5}.live-indicator{width:9px;height:9px;border-radius:50%;background:#53665f}.live-dictation[data-state="live"] .live-indicator{background:#ff4968;box-shadow:0 0 14px rgba(255,73,104,.7)}.live-dictation[data-state="done"] .live-indicator{background:#55e4b1}.live-transcript{min-height:150px;max-height:380px;overflow:auto;border:1px solid #29443e;border-radius:14px;background:#07120f;padding:20px;font-size:1.08rem;line-height:1.7;white-space:pre-wrap;color:#effbf7}.live-partial{color:#8ee7c7}.live-partial.is-placeholder{color:#677b74}.live-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:13px;font-size:.86rem}.live-footer>div{white-space:nowrap}
@keyframes record-pulse{0%{transform:scale(.88);opacity:.8}100%{transform:scale(1.18);opacity:0}}@keyframes record-spin{to{transform:rotate(360deg)}}@keyframes live-pulse{50%{opacity:.35;transform:scale(.75)}}
.or-divider{display:flex;align-items:center;gap:12px;color:#73839c}.or-divider:before,.or-divider:after{content:"";height:1px;background:#26334a;flex:1}
textarea,select{width:100%;box-sizing:border-box;border:1px solid #32415b;background:#0b1322;color:#eef4ff;border-radius:10px;padding:11px 12px;font:inherit}
.transcript{white-space:pre-wrap;word-break:break-word;min-height:220px;max-height:65vh;overflow:auto;font-family:inherit;font-size:1rem;line-height:1.65}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.form-grid .button{min-height:42px}
.users-stack{display:grid;gap:16px;margin-top:20px}.user-card{display:grid;gap:16px}.compact-form{grid-template-columns:2fr 1fr repeat(3,1fr) auto}
.user-usage,.user-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.user-actions{justify-content:flex-end}.disabled-card{opacity:.7}
.result-card{margin-bottom:18px}
@media(max-width:900px){.usage-grid,.form-grid,.compact-form{grid-template-columns:1fr}.nav{gap:8px}.transcription-grid{grid-template-columns:1fr}.live-heading,.live-footer{display:grid}.live-controls{justify-content:space-between}.record-player{grid-template-columns:42px 42px minmax(80px,1fr) 42px}}
