:root{--color-primary:#7ab8b8;--color-teal-dark:#5a9e9e;--color-teal-deep:#1f5a5d;--color-teal-light:#a8d4d4;--color-teal-pale:#e8f4f4;--color-background:#f7fbfb;--color-surface:#fff;--color-border:#cce6e6;--color-text:#3a5a5a;--color-muted:#7a9e9e;--color-error:#d97a7a;--color-ink:#122828;--color-soft-ink:#466b6b;--color-paper:#fbfefe;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:18px;--shadow-panel:0 22px 60px #5a9e9e24;color:var(--color-text);background:var(--color-background);font-synthesis-weight:none;font-family:Lato,system-ui,sans-serif}*{box-sizing:border-box}html{min-height:100%}body{background:linear-gradient(180deg, #e8f4f4bd, #f7fbfbdb), var(--color-background);min-height:100%;margin:0}button,input,textarea{font:inherit}button{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);min-height:44px;padding:0 var(--space-lg);color:var(--color-surface);background:var(--color-teal-dark);cursor:pointer;border:1px solid #0000;font-weight:700;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}button:hover:not(:disabled){background:#4f8f8f;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #7ab8b859}h1,h2,p{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}h1,h2{color:var(--color-ink);letter-spacing:0;font-family:Playfair Display,Georgia,serif;line-height:1.05}h1{font-size:2.5rem}h2{font-size:1.55rem}label{gap:var(--space-sm);font-weight:700;display:grid}input,textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-ink);background:var(--color-paper)}input{min-height:52px;padding:0 var(--space-lg)}textarea{resize:vertical;min-height:360px;padding:var(--space-lg);line-height:1.55}.auth-screen,.app-shell{min-height:100svh;padding:clamp(20px,4vw,48px)}.auth-screen{place-items:center;font-family:Playfair Display,Georgia,serif;display:grid}.auth-screen input,.auth-screen button,.auth-screen textarea{font-family:Playfair Display,Georgia,serif}.auth-brand h1,.brand-kicker{font-style:italic}.auth-panel{gap:var(--space-lg);border:1px solid var(--color-border);width:min(100%,480px);box-shadow:var(--shadow-panel);background:#ffffffd6;border-radius:28px;padding:clamp(28px,5vw,56px);display:grid}.auth-brand{justify-items:center;gap:var(--space-md);padding-bottom:var(--space-lg);text-align:center;display:grid}.auth-brand h1{color:var(--color-teal-dark)}.tagline,.brand-kicker,.hint,.loading-state,.workflow-status{color:var(--color-muted)}.hint{line-height:1.5}.brand-kicker,.eyebrow{text-transform:uppercase;letter-spacing:0;font-size:.86rem;font-weight:700}.auth-panel button[type=button],.secondary-button{border-color:var(--color-border);color:var(--color-teal-dark);background:var(--color-surface)}.auth-panel button[type=button]:hover:not(:disabled),.secondary-button:hover:not(:disabled){border-color:var(--color-teal-light);color:var(--color-ink);background:var(--color-teal-pale)}.brand-mark{background:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.brand-mark-sm{width:64px;height:64px}.brand-mark-lg{width:120px;height:120px}.brand-mark img{object-fit:cover;width:100%;height:100%;transform:scale(1.15)}.app-shell{gap:var(--space-2xl);grid-template-rows:auto 1fr;display:grid}.app-header{justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.app-brand{align-items:center;gap:var(--space-md);display:flex}.app-brand h1{font-size:clamp(1.85rem,4vw,3rem)}.error{color:#a84d4d;font-weight:700}.dictation-layout{gap:var(--space-lg);display:grid}.workspace-topline{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.beta-warning{border-radius:var(--radius-md);min-height:44px;padding:var(--space-md) var(--space-lg);color:#8c4141;background:#fff9f9;border:1px solid #d97a7a7a;align-items:center;font-weight:700;display:inline-flex}.workspace-columns{gap:var(--space-xl);grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.workflow-panel{gap:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0;padding:var(--space-xl);background:#ffffffe6;grid-template-rows:auto 1fr auto auto;display:grid;box-shadow:0 18px 48px #3a5a5a14}.note-panel{grid-template-rows:auto 1fr}.panel-heading{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.panel-heading span{color:var(--color-muted);font-size:.92rem;font-weight:700}.eyebrow{color:var(--color-teal-dark)}.field-shell{min-height:0}.field-shell span{color:var(--color-soft-ink)}.microphone-access{align-items:center;gap:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);color:var(--color-soft-ink);background:var(--color-teal-pale);font-weight:700;display:flex}.microphone-access-ready{color:var(--color-teal-dark);background:#f3fbfb}.microphone-access-blocked{color:#8c4141;background:#fff9f9;border-color:#d97a7a7a}.toolbar{gap:var(--space-md);flex-wrap:wrap;display:flex}.toolbar button{flex:0 auto}.toolbar button:last-child{margin-left:auto}.recording-decision{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);color:var(--color-teal-dark);background:#f3fbfb;font-weight:700}.icon-button{border-color:var(--color-border);width:44px;min-height:44px;color:var(--color-teal-dark);background:var(--color-surface);padding:0}.icon-button:hover:not(:disabled){border-color:var(--color-teal-light);color:var(--color-ink);background:var(--color-teal-pale)}.note-output{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:360px;max-height:56svh;padding:var(--space-lg);color:var(--color-ink);white-space:pre-wrap;background:#fbfdfd;margin:0;font-family:Courier Prime,monospace;font-size:.98rem;line-height:1.55;overflow:auto}.empty-note{color:var(--color-muted)}@media (width<=760px){.auth-screen,.app-shell{padding:var(--space-lg)}.app-header,.app-brand{align-items:flex-start}.brand-mark-sm{width:56px;height:56px}.workspace-topline{align-items:stretch}.beta-warning,.workflow-status,.error{width:100%}.workflow-panel{padding:var(--space-lg)}.microphone-access{flex-direction:column;align-items:stretch}.toolbar{grid-template-columns:1fr 1fr;display:grid}.toolbar button:last-child{grid-column:1/-1;margin-left:0}textarea,.note-output{min-height:280px}}@media (width<=480px){h1{font-size:2.15rem}.auth-panel{border-radius:22px}.app-header{flex-direction:column}.app-header .secondary-button{width:100%}.toolbar{grid-template-columns:1fr}.toolbar button:last-child{grid-column:auto}}.generation-progress{color:var(--color-text);background:linear-gradient(180deg, var(--color-teal-pale) 0%, #e8f4f459 100%);border-radius:12px;flex-direction:column;gap:.65rem;min-height:360px;margin:0;padding:1.25rem 1.5rem;font-family:Lato,system-ui,sans-serif;font-size:.95rem;list-style:none;display:flex}.generation-progress-step{color:var(--color-text);align-items:center;gap:.65rem;transition:color .2s;display:flex}.generation-progress-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:inline-flex}.generation-progress-step-complete{color:var(--color-text)}.generation-progress-step-complete .generation-progress-icon{background:var(--color-teal-pale);color:var(--color-text);border-radius:999px}.generation-progress-step-complete .generation-progress-dot{color:var(--color-text)}.generation-progress-step-active{color:var(--color-text);font-weight:600}.generation-progress-step-active .generation-progress-icon,.generation-progress-step-active .generation-progress-dot,.generation-progress-step-pending .generation-progress-icon{color:var(--color-text)}.generation-progress-step-pending .generation-progress-dot{color:var(--color-text);opacity:.7}.generation-progress-dot{opacity:1;background:currentColor;border-radius:999px;width:.55rem;height:.55rem;display:inline-block}.generation-progress-label{letter-spacing:.01em}.generation-progress .spinner{animation:.9s linear infinite generation-spin}@keyframes generation-spin{to{transform:rotate(360deg)}}@media (width<=760px){.generation-progress{min-height:280px}}@media (prefers-reduced-motion:reduce){.generation-progress .spinner{animation:none}.generation-progress-step{transition:none}}.app-brand h1,.transcription-panel h2,.note-panel h2{color:var(--color-teal-deep)}.note-header-actions{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.panel-heading .disclosure-text{color:var(--color-muted);font-size:.82rem;font-weight:500}.auth-logo{width:min(240px,100%);height:auto}
