:root{--navy:#082842;--ink:#123049;--muted:#647b8d;--blue:#1879c9;--teal:#13a99f;--line:#dbe8ee;--bg:#f5f9fb;--paper:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,select{font:inherit}h1{margin:0;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05;letter-spacing:-.05em}h2{font-size:1.12rem}p{margin-top:0}.app-shell{width:min(1080px,calc(100% - 32px));margin:auto;padding:42px 0 70px}.narrow{width:min(700px,calc(100% - 32px))}.section-header,.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.eyebrow{margin:0 0 7px;color:var(--teal);font-size:.73rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 28px #0a416a0a}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:13px;gap:13px;margin:27px 0}.stat{padding:18px}.stat span{display:block;color:var(--muted);font-size:.8rem}.stat strong{display:block;margin-top:5px;font-size:1.8rem;letter-spacing:-.06em}.two-column{display:grid;grid-template-columns:1.25fr .75fr;grid-gap:16px;gap:16px}.two-column>section:last-child{padding:24px;background:linear-gradient(145deg,#0c496f,#087a73);color:#fff}.two-column>section:last-child .eyebrow{color:#9cf5eb}.two-column>section:last-child p{color:#c8e6e9}.recorder{padding:24px}.recorder h2{margin:0 0 17px}.ack{display:flex;gap:9px;align-items:flex-start;margin:12px 0 18px;color:var(--muted);font-size:.87rem}.ack input{margin-top:4px}.danger,.primary,.secondary{border:0;border-radius:9px;padding:10px 13px;font-weight:800;cursor:pointer}.primary{color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal))}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{border:1px solid var(--line);background:#fff;color:var(--blue);text-decoration:none}.danger{margin-left:14px;color:#fff;background:#d25c5c}.hint{margin:17px 0 0;color:var(--muted);font-size:.77rem}.queued,.recording-live{padding:16px;border-radius:12px;background:#edf9f8}.queued{display:grid;grid-gap:7px;gap:7px}.queued span{color:var(--muted);font-size:.8rem}.pulse{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:#e85e5e;animation:pulse 1.1s infinite}@keyframes pulse{50%{transform:scale(.55);opacity:.5}}.list{margin-top:18px;padding:23px}.recording-list{margin-top:14px}.recording-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:14px;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.recording-row b{display:block}.recording-row span:not(.status){display:block;color:var(--muted);font-size:.78rem}.status{padding:5px 8px;border-radius:99px;background:#edf4f7;color:#607889;font-size:.72rem;font-weight:800}.status.report_ready{color:#087d75;background:#e1f8f4}.status.failed{color:#a46112;background:#fff1db}.status.analysing,.status.transcribing{color:#246dab;background:#e8f3ff}.login{display:grid;min-height:100vh;place-items:center;padding:20px}.login-card{width:min(440px,100%);padding:30px}.login-card h1{font-size:2rem;margin-bottom:12px}.login-card p{color:var(--muted)}.login-card form{display:grid;grid-gap:13px;gap:13px}.login-card label{display:grid;grid-gap:6px;gap:6px;font-size:.84rem;font-weight:800}.feedback input,.feedback select,.login-card input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px}.feedback-saved,.success{padding:12px;border-radius:9px;background:#e5f9f6!important;color:#087d75!important}.report-summary{max-width:760px;margin:14px 0 22px;color:var(--muted);font-size:1.05rem}.report-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.report-grid .card{padding:23px}.finding{padding:12px 0;border-top:1px solid var(--line)}.finding:first-of-type{border-top:0}.finding b{display:block}.finding p{margin:4px 0;color:var(--muted);font-size:.87rem}.finding span{color:var(--blue);font-size:.73rem;font-weight:750}.feedback{display:grid;grid-gap:9px;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.feedback b{font-size:.86rem}.status-card{margin-top:22px;padding:28px}.progress{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.progress:before{content:"";position:absolute;top:18px;left:10%;right:10%;height:2px;background:var(--line)}.progress span{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;margin:auto;border-radius:50%;color:#7890a0;background:#edf4f7;font-weight:850}.progress .done{color:#fff;background:var(--teal)}.progress .live{color:#fff;background:var(--blue);box-shadow:0 0 0 6px #e2f0fb}.progress-labels{display:grid;grid-template-columns:repeat(4,1fr);margin-top:8px;color:var(--muted);font-size:.73rem;text-align:center}.error,.processing{margin-top:26px;padding:16px;border-radius:11px;background:#edf7ff}.processing i{display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid var(--blue);border-top:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error p,.processing p{margin:5px 0 0;color:var(--muted);font-size:.86rem}.error{background:#fff0ee}@media(max-width:720px){.app-shell{padding-top:25px}.stats{grid-template-columns:repeat(2,1fr)}.report-grid,.two-column{grid-template-columns:1fr}.recording-row{grid-template-columns:1fr auto}.recording-row .secondary{grid-column:1/-1;justify-self:start}.topbar{align-items:center}.topbar h1{font-size:1.65rem}}@media(max-width:390px){.stats{grid-template-columns:1fr}.danger{display:block;margin:11px 0 0}.status-card{padding:18px}}