:root{--canvas:#07131d;--ink:#eef8ff;--muted:#8fa4b5;--line:rgba(139,201,224,.18);--panel:rgba(12,32,47,.9);--aqua:#62e6da;--blue:#8db8ff;--warn:#ffd37a;--danger:#fb8b8b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{min-height:100vh;margin:0;background:radial-gradient(circle at 7% 8%,rgba(44,181,177,.17),transparent 31rem),radial-gradient(circle at 91% 75%,rgba(72,96,188,.17),transparent 33rem),var(--canvas)}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(130,190,211,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(130,190,211,.08) 1px,transparent 1px);background-size:4rem 4rem;mask-image:linear-gradient(to bottom,black,transparent 80%)}button,a,textarea{font:inherit}.skip-link{position:absolute;left:-9999px;top:1rem;z-index:10;padding:.65rem .9rem;background:#fff;color:#001}.skip-link:focus{left:1rem}.topbar{position:sticky;top:0;z-index:2;height:72px;display:flex;align-items:center;gap:1.5rem;padding:0 clamp(1rem,4vw,4.5rem);border-bottom:1px solid var(--line);background:rgba(4,14,24,.88);backdrop-filter:blur(15px)}.brand{display:grid;grid-template-columns:auto 1fr;gap:.5rem;color:var(--ink);text-decoration:none;font-size:1rem;font-weight:850;letter-spacing:-.03em;line-height:1}.brand img{grid-row:span 2;width:27px;height:27px;object-fit:contain}.brand span span{color:var(--aqua)}.brand small{display:block;margin-top:.28rem;color:#a8cbd7;font-size:.52rem;letter-spacing:.16em}.auth-status{display:flex;align-items:center;gap:.45rem;margin-left:auto;color:var(--muted);font-size:.78rem}.auth-status i{display:inline-block;width:.52rem;height:.52rem;border-radius:50%;background:#677d8c;box-shadow:0 0 0 3px rgba(103,125,140,.12)}.auth-status i.ready{background:var(--aqua);box-shadow:0 0 0 3px rgba(98,230,218,.12)}.auth-status i.problem{background:var(--danger);box-shadow:0 0 0 3px rgba(251,139,139,.12)}.calendar-link,.text-button{border:0;background:transparent;color:#b9d5e1;text-decoration:none;font-size:.8rem}.calendar-link:hover,.text-button:hover{color:var(--aqua)}.workspace{width:min(1440px,100%);margin:0 auto;padding:clamp(2rem,5vw,4.75rem) clamp(1rem,4vw,4.5rem) 4rem}.hero{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0:.7rem;color:var(--aqua);font-size:.67rem;font-weight:850;letter-spacing:.16em}.hero h1,.access-card h1{max-width:820px;margin:0 0 1.15rem;letter-spacing:-.055em;line-height:.98;font-size:clamp(2.45rem,5vw,5rem)}.intro{max-width:700px;margin:0;color:#b1c4d0;line-height:1.7;font-size:1rem}.session-clock{min-width:155px;padding:.25rem 0 .25rem 1.4rem;border-left:1px solid var(--line);display:grid;gap:.35rem}.session-clock span{color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.14em}.session-clock b{font-size:1.4rem;letter-spacing:.07em;font-variant-numeric:tabular-nums}.review-notice{margin:1.25rem 0 1rem;padding:.85rem 1rem;border:1px solid rgba(255,211,122,.33);border-radius:.75rem;background:rgba(78,58,19,.16);color:#eadcb0;font-size:.84rem;line-height:1.55}.review-notice b{color:#ffe6a6}.instrument-deck,.panel{border:1px solid var(--line);border-radius:1rem;background:linear-gradient(150deg,rgba(18,47,67,.93),rgba(7,21,33,.96));box-shadow:0 22px 70px rgba(0,0,0,.26)}.instrument-deck{margin-bottom:1rem;padding:clamp(1rem,2vw,1.5rem)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.1rem}.section-heading h2,.panel h2{margin:0;letter-spacing:-.035em;font-size:1.3rem}.section-heading p:not(.eyebrow){max-width:430px;margin:0;color:var(--muted);font-size:.75rem;line-height:1.55;text-align:right}.instrument-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:.75rem}.instrument{min-height:222px;padding:1rem;overflow:hidden;border:1px solid rgba(139,201,224,.16);border-radius:.8rem;background:rgba(2,12,21,.36)}.instrument-top,.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.instrument-top span{display:block;margin-bottom:.34rem;color:#7695a5;font-size:.54rem;font-weight:850;letter-spacing:.13em}.instrument h3{margin:0;font-size:.98rem;letter-spacing:-.02em}.instrument-state{padding:.28rem .46rem;border:1px solid rgba(143,164,181,.28);border-radius:99px;background:rgba(143,164,181,.1);color:#99afba;font-size:.53rem;letter-spacing:.08em;white-space:nowrap}.instrument-state.live{border-color:var(--aqua);background:var(--aqua);color:#003e44}.instrument-state.warn{border-color:var(--warn);background:var(--warn);color:#513b08}.instrument-state.error{border-color:var(--danger);background:var(--danger);color:#501113}.signal-wrap{position:relative;height:98px;margin:1rem 0 .8rem;border-top:1px solid rgba(139,201,224,.1);border-bottom:1px solid rgba(139,201,224,.1);background:linear-gradient(90deg,rgba(98,230,218,.05),transparent 40%,rgba(141,184,255,.05))}.signal-wrap::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(143,164,181,.22);pointer-events:none}.signal-wrap canvas{position:absolute;inset:0;width:100%;height:100%}.instrument-metrics,.stream-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.instrument-metrics span,.stream-metrics span{display:grid;gap:.15rem}.instrument-metrics b,.stream-metrics b{font-size:.86rem;font-variant-numeric:tabular-nums}.instrument-metrics small,.stream-metrics small{color:#7894a4;font-size:.5rem;font-weight:850;letter-spacing:.08em}.pathway{display:flex;align-items:center;gap:.3rem;margin:2.15rem 0 1.6rem}.pathway b{display:grid;min-width:41px;height:27px;place-items:center;border:1px solid rgba(139,201,224,.2);border-radius:.36rem;background:rgba(100,129,145,.14);color:#bdd1db;font-size:.54rem;letter-spacing:.05em}.pathway b.secure-node{border-color:var(--aqua);background:var(--aqua);color:#003e44}.pathway i{position:relative;display:block;min-width:13px;flex:1;height:1px;overflow:hidden;background:rgba(98,230,218,.4)}.pathway i::before{content:"";position:absolute;top:-1px;left:-30%;width:25%;height:3px;background:var(--aqua);box-shadow:9px 0 9px rgba(98,230,218,.8);animation:path-pulse 1.7s linear infinite}.pathway i:nth-of-type(2)::before{animation-delay:-.56s}.pathway i:nth-of-type(3)::before{animation-delay:-1.1s}.event-trail{max-height:150px;margin:.95rem 0 0;padding:0;overflow:auto;list-style:none}.event-trail li{position:relative;margin:0 0 .68rem .35rem;padding:.05rem 0 .05rem .7rem;border-left:2px solid rgba(98,230,218,.33);color:#c2d4dd;font-size:.7rem;line-height:1.4}.event-trail li::before{content:"";position:absolute;left:-.24rem;top:.32rem;width:.38rem;height:.38rem;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 3px rgba(98,230,218,.09)}.event-trail li.warn{border-color:rgba(255,211,122,.6)}.event-trail li.warn::before{background:var(--warn)}.event-trail li.error{border-color:rgba(251,139,139,.6)}.event-trail li.error::before{background:var(--danger)}.event-trail li.empty-event{border-color:rgba(143,164,181,.28);color:var(--muted)}.event-trail li.empty-event::before{background:#647786}.event-time{margin-right:.4rem;color:#7894a4;font-size:.58rem;font-weight:850;letter-spacing:.04em}.event-code{color:var(--aqua);font-size:.66rem;font-weight:850;letter-spacing:.025em}.clinical-grid{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(340px,1.15fr);gap:1rem;align-items:start}.panel{padding:clamp(1rem,2vw,1.5rem)}.soap-panel{grid-column:1/-1}.panel-heading{margin-bottom:1.25rem}.recording-pill{padding:.36rem .56rem;border-radius:99px;background:#273746;color:#aec0cc;font-size:.58rem;letter-spacing:.08em}.recording-pill.live{background:var(--aqua);color:#003e44}.recording-pill.warn{background:var(--warn);color:#513b08}.connection-card{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid rgba(139,201,224,.17);border-radius:.75rem;background:rgba(2,11,19,.31)}.device-glyph{display:grid;place-items:center;width:2.55rem;height:2.55rem;flex:none;border:1px solid rgba(98,230,218,.27);border-radius:.6rem;color:var(--aqua);font-size:1.85rem}.connection-card b{display:block;font-size:.86rem}.connection-card p{margin:.28rem 0 0;color:var(--muted);font-size:.73rem;line-height:1.45}.connection-card .button{margin-left:auto;flex:none}.connection-metrics{display:grid;grid-template-columns:1fr 1.4fr;gap:.55rem;padding:1rem 0 1.35rem}.connection-metrics span{display:grid;gap:.28rem}.connection-metrics small{color:#7894a4;font-size:.54rem;font-weight:850;letter-spacing:.1em}.connection-metrics b{color:#c7d8e1;font-size:.76rem}.microphone-card{margin-bottom:1rem}.actions{display:flex;gap:.65rem}.button{min-height:2.55rem;padding:0 .92rem;border:1px solid transparent;border-radius:.6rem;font-size:.8rem;font-weight:850;cursor:pointer}.button:disabled{cursor:not-allowed;opacity:.45}.button.primary{background:linear-gradient(100deg,var(--aqua),#9fbaff);color:#002d32}.button.danger{background:#ffaaaa;color:#4b1012}.button.quiet{border-color:rgba(145,201,222,.24);background:rgba(81,124,145,.13);color:#d9edf4}.button.small{min-height:2.25rem}.form-error{margin:1rem 0 0;color:#ffb3b3;font-size:.78rem;line-height:1.45}.socket-label{color:var(--muted);font-size:.7rem}.socket-label.live{color:var(--aqua)}.socket-label.warn{color:var(--warn)}.transcript{min-height:312px;max-height:500px;overflow:auto;padding:1rem;border:1px solid rgba(139,201,224,.16);border-radius:.75rem;background:rgba(2,10,17,.37)}.transcript p{margin:0 0 .75rem;color:#d1e0e7;font-size:.9rem;line-height:1.65}.transcript p.interim{padding-left:.7rem;border-left:2px solid rgba(141,184,255,.45);color:#8ba2ae}.transcript p.final{padding-left:.7rem;border-left:2px solid var(--aqua);animation:transcript-enter .3s ease-out both}.transcript p.gap{padding:.58rem .68rem;border-left:2px solid var(--warn);background:rgba(255,211,122,.08);color:#ffe0a3;font-size:.78rem}.empty-transcript{display:grid;min-height:254px;place-items:center;color:var(--muted)!important;text-align:center}.transcript-footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.75rem;color:var(--muted);font-size:.7rem}.soap-guidance{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.soap-status{margin:1rem 0;padding:.12rem 0 .12rem .75rem;border-left:2px solid #628ca5;color:#b7cbd6;font-size:.8rem}.soap-status.ready{border-color:var(--aqua);color:#bbf5ef}.soap-status.error{border-color:var(--danger);color:#ffb6b6}.soap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.soap-grid label{display:grid;gap:.42rem;color:#b6ceda;font-size:.7rem;font-weight:850;letter-spacing:.05em}.soap-grid textarea{min-height:112px;resize:vertical;padding:.75rem;border:1px solid rgba(139,201,224,.2);border-radius:.65rem;outline:none;background:rgba(2,10,17,.39);color:#e8f5fa;line-height:1.5}.soap-grid textarea:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(98,230,218,.12)}.review-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.review-row label{display:flex;align-items:center;gap:.5rem;color:#bdd0da;font-size:.78rem}.review-row input{width:1rem;height:1rem;accent-color:var(--aqua)}.access-card{width:min(630px,calc(100% - 2rem));margin:12vh auto;padding:2.3rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel);box-shadow:0 22px 70px rgba(0,0,0,.28)}.access-card p:not(.eyebrow){color:#b5c8d4;line-height:1.7;margin-bottom:1.6rem}@keyframes path-pulse{from{left:-30%}to{left:100%}}@keyframes transcript-enter{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@media(max-width:1050px){.instrument-grid{grid-template-columns:1fr 1fr}.event-instrument{grid-column:1/-1;min-height:175px}.event-trail{max-height:92px}.section-heading{align-items:start;flex-direction:column;gap:.5rem}.section-heading p:not(.eyebrow){max-width:680px;text-align:left}}@media(max-width:850px){.hero{align-items:start;flex-direction:column}.session-clock{width:100%;padding:1rem 0 0;border-top:1px solid var(--line);border-left:0;grid-template-columns:1fr auto;align-items:center}.clinical-grid,.soap-grid{grid-template-columns:1fr}.soap-panel{grid-column:auto}.calendar-link{display:none}}@media(max-width:580px){.topbar{height:63px}.auth-status{font-size:.65rem}.instrument-grid{grid-template-columns:1fr}.event-instrument{grid-column:auto}.connection-card{align-items:start;flex-wrap:wrap}.connection-card .button{margin-left:3.35rem}.actions,.review-row{align-items:stretch;flex-direction:column}.button{width:100%}.review-row .button{margin-top:0}.transcript{min-height:250px}}


/* Workflow rail and intake gate */
.workflow-rail{display:flex;align-items:stretch;gap:.4rem;margin:1rem 0 .75rem;padding:.8rem;border:1px solid rgba(98,230,218,.18);border-radius:.85rem;background:rgba(2,11,19,.42);overflow-x:auto}.workflow-step{display:grid;grid-template-columns:auto 1fr;column-gap:.45rem;min-width:120px;align-items:center;color:#b6ceda}.workflow-step b{grid-row:span 2;display:grid;place-items:center;width:1.6rem;height:1.6rem;border:1px solid rgba(139,201,224,.25);border-radius:50%;color:#7894a4;font-size:.7rem}.workflow-step span{font-size:.68rem;font-weight:850;white-space:nowrap}.workflow-step small{color:#7894a4;font-size:.58rem;white-space:nowrap}.workflow-step.active b{border-color:var(--aqua);background:var(--aqua);color:#003e44}.workflow-step.active span{color:var(--aqua)}.workflow-step.complete b{border-color:#007a68;background:#007a68;color:#00c9a7;font-size:.65rem}.workflow-step.complete b::after{content:"✓"}.workflow-step.complete span{color:#007a68}.workflow-step.complete small{color:#3a6a6a}.workflow-arrow{display:grid;place-items:center;color:#567586;font-size:1rem}.workflow-tip{margin:.75rem 0 1rem;padding:.75rem 1rem;border-left:2px solid var(--aqua);border-radius:.45rem;background:rgba(98,230,218,.05);color:#b8cdd7;font-size:.76rem;line-height:1.55}.workflow-tip strong{color:#dffefa}@media(max-width:850px){.workflow-rail{padding:.7rem}.workflow-step{min-width:108px}}
.start-gate-notice{font-size:.72rem;color:#4a8a7a;margin-top:6px;display:none}#startSession:disabled ~ .start-gate-notice{display:block}
.workspace-nav{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap;margin-left:auto}.workspace-nav a{display:inline-flex;align-items:center;gap:.3rem;padding:.42rem .6rem;border:1px solid rgba(139,201,224,.2);border-radius:.45rem;color:#b8cdd7;text-decoration:none;font-size:.62rem;font-weight:800;white-space:nowrap}.workspace-nav a:hover,.workspace-nav a.current{color:#dffefa;border-color:rgba(98,230,218,.55);background:rgba(98,230,218,.08)}@media(max-width:720px){.workspace-nav{width:100%;justify-content:flex-start;margin-left:0}.workspace-nav a{font-size:.58rem}}

/* Smooth clinical signal field; decorative motion stays behind readable content. */
body{position:relative;overflow-x:hidden;background:var(--canvas)}
body::before{content:"";position:fixed;inset:-24%;pointer-events:none;z-index:0;opacity:.34;background-image:radial-gradient(ellipse at 18% 24%,rgba(0,201,167,.20),transparent 28%),radial-gradient(ellipse at 82% 18%,rgba(61,139,255,.22),transparent 30%),radial-gradient(ellipse at 68% 78%,rgba(98,230,218,.12),transparent 32%),linear-gradient(rgba(130,190,211,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(130,190,211,.055) 1px,transparent 1px);background-size:120% 120%,130% 130%,145% 145%,4rem 4rem,4rem 4rem;background-position:0% 0%,100% 0%,50% 100%,0 0,0 0;mask-image:linear-gradient(to bottom,black 12%,rgba(0,0,0,.82) 58%,transparent 100%);filter:blur(.2px);will-change:transform,background-position;animation:clinical-field-drift 34s cubic-bezier(.45,0,.55,1) infinite alternate}
body::after{content:"";position:fixed;inset:-30%;pointer-events:none;z-index:0;opacity:.16;background:conic-gradient(from 220deg at 64% 44%,transparent 0deg,rgba(61,139,255,.38) 48deg,transparent 104deg,rgba(0,201,167,.28) 178deg,transparent 238deg);filter:blur(70px);will-change:transform;animation:clinical-aura-drift 46s cubic-bezier(.42,0,.58,1) infinite alternate-reverse}
.topbar{position:sticky;overflow:hidden}.topbar::after{content:"";position:absolute;left:-20%;right:-20%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#00c9a7 28%,#3d8bff 52%,#00c9a7 72%,transparent);box-shadow:0 0 14px rgba(0,201,167,.8);will-change:transform,opacity;animation:signal-sweep 9s cubic-bezier(.37,0,.63,1) infinite}
.topbar>*{position:relative;z-index:1}.workspace,.access-card{position:relative;z-index:1}
@keyframes clinical-field-drift{0%{transform:translate3d(-2%,-1%,0) scale(1.02);background-position:0% 0%,100% 0%,50% 100%,0 0,0 0}50%{transform:translate3d(1%,2%,0) scale(1.045);background-position:12% 8%,86% 12%,58% 92%,2rem 1rem,2rem 1rem}100%{transform:translate3d(3%,-2%,0) scale(1.02);background-position:24% 2%,72% 18%,42% 84%,0 2rem,0 2rem}}
@keyframes clinical-aura-drift{0%{transform:translate3d(-5%,-3%,0) rotate(-8deg) scale(1)}100%{transform:translate3d(6%,5%,0) rotate(10deg) scale(1.12)}}
@keyframes signal-sweep{0%{transform:translateX(-24%);opacity:.28}50%{opacity:.9}100%{transform:translateX(24%);opacity:.28}}
@media(prefers-reduced-motion:reduce){body::before,body::after,.topbar::after{animation:none;transform:none}}
