@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--bg-primary:#f0f0ec;--bg-secondary:#f7f7f4;--bg-tertiary:#eaeae5;--text-primary:#1a1d2e;--text-secondary:#1a1d2e99;--text-muted:#1a1d2e4d;--text-placeholder:#1a1d2e47;--border-subtle:#1a1d2e0f;--border-default:#1a1d2e1a;--border-hover:#1a1d2e2e;--accent-indigo:#4f46e5;--accent-violet:#7c3aed;--accent-purple:#9333ea;--accent-red:#dc2626;--accent-green:#16a34a;--accent-bg:#4f46e514;--accent-bg-hover:#4f46e51f;--accent-border:#4f46e526;--accent-border-focus:#4f46e573;--accent-glow:#4f46e50f;--red-bg:#dc26260f;--red-border:#dc262626;--red-text:#b91c1c;--red-glow:#dc26260a;--green-bg:#16a34a14;--green-border:#16a34a33;--green-text:#15803d;--warning-bg:#ca8a040f;--warning-border:#ca8a0426;--warning-text:#92400e;--surface-panel-left:#f7f7f4;--surface-panel-right:#efefe9;--surface-card:#f7f7f4;--surface-input:#f7f7f4;--surface-code:#f0f0ec;--surface-btn-secondary:#eaeae5;--surface-btn-secondary-hover:#e2e2dc;--surface-disabled-btn:#ddddd7;--surface-disabled-text:#1a1d2e59;--surface-dropdown-option:#f7f7f4;--divider-bg:#1a1d2e05;--divider-hover-bg:#4f46e50f;--divider-handle:#1a1d2e33;--divider-handle-hover:#4f46e580;--blob-1:#4f46e51f;--blob-2:#9333ea1a;--blob-3:#3b82f614;--blob-opacity:.35;--shadow-sm:0 1px 2px #00000008;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 4px 16px #0000000f;--shadow-accent:0 4px 14px #4f46e533;--shadow-accent-hover:0 6px 22px #4f46e54d;--noise-opacity:.02;--scrollbar-thumb:#1a1d2e1f;--scrollbar-thumb-hover:#1a1d2e38;--selection-bg:#4f46e526;--spinner-track:#ffffff4d;--gradient-title:linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #9333ea 100%);--gradient-title-report:linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--gradient-btn:linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #9333ea 100%);--toggle-bg:#1a1d2e0f;--toggle-bg-hover:#1a1d2e1a;--toggle-border:#1a1d2e1a;--toggle-text:#1a1d2e99}[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#111118;--bg-tertiary:#16161f;--text-primary:#ffffffeb;--text-secondary:#ffffff8c;--text-muted:#ffffff40;--text-placeholder:#fff3;--border-subtle:#ffffff0a;--border-default:#ffffff14;--border-hover:#ffffff26;--accent-indigo:#6366f1;--accent-violet:#8b5cf6;--accent-purple:#a855f7;--accent-red:#ef4444;--accent-green:#22c55e;--accent-bg:#8b5cf61a;--accent-bg-hover:#8b5cf626;--accent-border:#8b5cf633;--accent-border-focus:#8b5cf680;--accent-glow:#8b5cf614;--red-bg:#ef444414;--red-border:#ef444433;--red-text:#fca5a5;--red-glow:#ef44440d;--green-bg:#22c55e1a;--green-border:#22c55e40;--green-text:#86efac;--warning-bg:#eab30814;--warning-border:#eab30833;--warning-text:#fde68a;--surface-panel-left:#00000026;--surface-panel-right:#0000000d;--surface-card:#ffffff05;--surface-input:#ffffff0a;--surface-code:#0003;--surface-btn-secondary:#ffffff0d;--surface-btn-secondary-hover:#ffffff14;--surface-disabled-btn:#ffffff0d;--surface-disabled-text:#ffffff4d;--surface-dropdown-option:#1a1a2e;--divider-bg:#ffffff05;--divider-hover-bg:#8b5cf61a;--divider-handle:#fff3;--divider-handle-hover:#8b5cf699;--blob-1:#6366f159;--blob-2:#a855f74d;--blob-3:#3b82f633;--blob-opacity:.4;--shadow-sm:0 1px 2px #00000026;--shadow-md:0 2px 8px #00000040;--shadow-lg:0 4px 24px #0003;--shadow-accent:0 4px 16px #6366f133;--shadow-accent-hover:0 6px 24px #6366f159;--noise-opacity:.03;--scrollbar-thumb:#ffffff1a;--scrollbar-thumb-hover:#fff3;--selection-bg:#8b5cf64d;--spinner-track:#fff3;--gradient-title:linear-gradient(135deg, #c7d2fe 0%, #a78bfa 50%, #c084fc 100%);--gradient-title-report:linear-gradient(135deg, #c7d2fe 0%, #a78bfa 100%);--gradient-btn:linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--toggle-bg:#ffffff0d;--toggle-bg-hover:#ffffff14;--toggle-border:#ffffff14;--toggle-text:#ffffff8c}:root{--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--ease-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-size:16px}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-tap-highlight-color:transparent;min-height:100vh;line-height:1.5;transition:background .3s,color .3s;overflow-x:hidden}#root{min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::selection{background:var(--selection-bg)}:focus-visible{outline:2px solid var(--accent-border-focus);outline-offset:2px}.split-layout{width:100%;height:100vh;display:flex;overflow:hidden}.panel{flex-direction:column;flex-shrink:0;min-width:0;height:100%;display:flex;overflow:hidden}.panel-inner{flex-direction:column;flex:1;gap:20px;padding:32px 28px;display:flex;overflow-y:auto}.divider{cursor:col-resize;background:var(--divider-bg);border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);z-index:10;flex-shrink:0;justify-content:center;align-items:center;width:8px;transition:background .2s;display:flex}.divider:hover,.divider:active{background:var(--divider-hover-bg);border-color:var(--accent-border)}.divider-handle{flex-direction:column;gap:4px;display:flex}.divider-handle span{background:var(--divider-handle);border-radius:50%;width:4px;height:4px;transition:background .2s;display:block}.divider:hover .divider-handle span{background:var(--divider-handle-hover)}.panel-left{background:var(--surface-panel-left);border-right:none;transition:background .3s}.panel-right{background:var(--surface-panel-right);transition:background .3s}.speech-input-header{align-items:center;gap:16px;display:flex}.header-icon{flex-shrink:0;width:48px;height:48px}.header-icon svg{width:100%;height:100%}.header-title{background:var(--gradient-title);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.6rem;font-weight:700;line-height:1.2}.header-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:.85rem;font-weight:400}.template-selector{flex-direction:column;gap:6px;display:flex}.template-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.75rem;font-weight:600}.select-wrapper{position:relative}.template-dropdown{background:var(--surface-input);border:1px solid var(--border-default);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;border-radius:12px;outline:none;padding:12px 40px 12px 16px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9rem;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1)}.template-dropdown:hover:not(:disabled){border-color:var(--accent-border);background:var(--surface-input)}.template-dropdown:focus{border-color:var(--accent-border-focus);box-shadow:0 0 0 3px var(--accent-glow)}.template-dropdown:disabled{opacity:.4;cursor:not-allowed}.template-dropdown option{background:var(--surface-dropdown-option);color:var(--text-primary);padding:8px}.select-chevron{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.listening-indicator{background:var(--red-bg);border:1px solid var(--red-border);color:var(--red-text);border-radius:12px;align-items:center;gap:12px;padding:10px 18px;font-size:.85rem;font-weight:500;display:flex;position:relative;overflow:hidden}.listening-indicator:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--red-glow) 50%, transparent 100%);animation:2s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.pulse-ring{border:2px solid var(--accent-red);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:1.5s ease-out infinite pulse-ring-anim;position:relative}.pulse-dot{background:var(--accent-red);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse-dot-anim;position:absolute;top:50%;left:22px;transform:translateY(-50%)}@keyframes pulse-ring-anim{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes pulse-dot-anim{0%,to{opacity:1;transform:translateY(-50%)scale(1)}50%{opacity:.5;transform:translateY(-50%)scale(.8)}}.textarea-wrapper{background:var(--surface-input);border:1px solid var(--border-default);min-height:150px;box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;flex:1;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.textarea-wrapper:focus-within{border-color:var(--accent-border-focus);box-shadow:0 0 0 3px var(--accent-glow), var(--shadow-lg);background:var(--surface-input)}.textarea-wrapper.listening{border-color:var(--red-border);box-shadow:0 0 0 3px var(--red-glow), var(--shadow-lg);animation:2s ease-in-out infinite listening-glow}@keyframes listening-glow{0%,to{box-shadow:0 0 0 3px var(--red-glow), var(--shadow-lg)}50%{box-shadow:0 0 0 5px var(--red-bg), var(--shadow-lg)}}.speech-textarea{width:100%;color:var(--text-primary);resize:none;box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;padding:18px 20px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;line-height:1.6;overflow-y:auto}.speech-textarea::placeholder{color:var(--text-placeholder);font-style:italic}.speech-textarea:disabled{opacity:.5;cursor:not-allowed}.interim-indicator{color:var(--accent-violet);opacity:.7;align-items:center;gap:6px;padding:8px 20px 14px;font-size:.75rem;display:flex}.interim-dot{background:var(--accent-violet);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite pulse-dot-anim}.action-buttons{flex-shrink:0;gap:12px;display:flex}.btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn.disabled,.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-icon{flex-shrink:0;width:18px;height:18px}.btn-label{letter-spacing:.01em}.btn-mic{background:var(--surface-btn-secondary);min-width:120px;color:var(--text-primary);border:1px solid var(--border-default);flex:none}.btn-mic:hover:not(:disabled){background:var(--surface-btn-secondary-hover);border-color:var(--border-hover)}.btn-mic.active{background:var(--red-bg);color:var(--red-text);border-color:var(--red-border);box-shadow:0 0 16px var(--red-glow)}.btn-mic.active:hover:not(:disabled){background:var(--red-bg);opacity:.9}.btn-mic-bg{display:none}.btn-send{background:var(--gradient-btn);color:#fff;border:1px solid var(--accent-border);box-shadow:var(--shadow-accent);flex:1}.btn-send:hover:not(:disabled){box-shadow:var(--shadow-accent-hover);transform:translateY(-1px)}.btn-send:active:not(:disabled){transform:translateY(0)scale(.98)}.btn-send.disabled{background:var(--surface-disabled-btn);color:var(--surface-disabled-text);border-color:var(--border-subtle);box-shadow:none}.btn-download{background:var(--green-bg);color:var(--green-text);border:1px solid var(--green-border);padding:8px 16px;font-size:.8rem}.btn-download:hover:not(:disabled){background:var(--green-bg);border-color:var(--green-border);box-shadow:var(--shadow-md);opacity:.9;transform:translateY(-1px)}.spinner{border:2px solid var(--spinner-track);border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.generating-indicator{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:14px;flex-shrink:0;align-items:center;gap:16px;padding:16px 20px;animation:.3s fadeIn;display:flex}.generating-spinner{border:3px solid var(--accent-glow);border-top-color:var(--accent-violet);border-radius:50%;flex-shrink:0;width:28px;height:28px;animation:1s linear infinite spin}.generating-text{flex-direction:column;gap:2px;display:flex}.generating-title{color:var(--accent-indigo);font-size:.9rem;font-weight:600}.generating-subtitle{color:var(--text-muted);font-size:.75rem}.error-message{background:var(--red-bg);border:1px solid var(--red-border);color:var(--red-text);border-radius:12px;flex-shrink:0;align-items:flex-start;gap:10px;padding:14px 18px;font-size:.85rem;line-height:1.5;animation:.3s fadeIn;display:flex}.error-icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.browser-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);border-radius:12px;padding:16px 18px;font-size:.85rem;line-height:1.6}.browser-warning p{margin:0 0 4px}.browser-warning p:last-child{margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.report-panel-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.report-panel-header-left{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;min-width:0;display:flex}.report-panel-icon{width:24px;height:24px;color:var(--accent-violet);flex-shrink:0}.report-panel-title{background:var(--gradient-title-report);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:1.05rem;font-weight:700}.report-panel-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.report-panel-actions .btn-label,.report-panel-actions .logout-username,.report-panel-actions .badge-text{display:none!important}.report-panel-actions .btn{border-radius:8px;justify-content:center;align-items:center;gap:0;width:32px;min-width:32px;height:32px;padding:0;display:inline-flex}.report-panel-actions .btn .btn-icon{width:15px;height:15px;margin:0}.logout-btn{width:32px;min-width:32px;height:32px;font-family:var(--font-family);color:var(--text-secondary);background:var(--toggle-bg);border:1px solid var(--toggle-border);cursor:pointer;transition:all .25s var(--ease-out);-webkit-backdrop-filter:blur(12px);border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:.75rem;font-weight:500;display:inline-flex}.logout-btn:hover{color:var(--accent-red);background:var(--red-bg);border-color:var(--red-border)}.logout-btn svg{flex-shrink:0;width:15px;height:15px}.theme-toggle-inline{border:1px solid var(--toggle-border);background:var(--toggle-bg);width:32px;min-width:32px;height:32px;color:var(--toggle-text);cursor:pointer;-webkit-backdrop-filter:blur(12px);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.theme-toggle-inline:hover{background:var(--toggle-bg-hover);border-color:var(--accent-border);color:var(--accent-violet);transform:scale(1.05)}.theme-toggle-inline svg{width:15px;height:15px}.report-latency{color:var(--text-muted);background:var(--surface-card);border:1px solid var(--border-subtle);box-sizing:border-box;border-radius:8px;align-items:center;height:32px;padding:0 8px;font-size:.72rem;font-weight:500;display:inline-flex}.report-content{flex-direction:column;gap:0;animation:.4s fadeIn;display:flex}.report-summary-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.report-template-badge{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent-indigo);letter-spacing:.01em;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.report-approval-notice{letter-spacing:.01em;border-radius:8px;align-items:center;gap:8px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .25s;display:inline-flex}.report-approval-notice.pending{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b59;box-shadow:0 2px 10px #f59e0b1f}.report-approval-notice.approved{color:#34d399;background:#10b98126;border:1px solid #10b98159;box-shadow:0 2px 10px #10b9811f}.report-approval-notice .notice-icon{font-size:.9rem;line-height:1}.report-section{border-bottom:1px solid var(--border-subtle);padding:20px 0}.report-section:last-of-type{border-bottom:none}.report-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);align-items:center;gap:8px;margin:0 0 16px;font-size:.8rem;font-weight:700;display:flex}.section-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.findings-dot{background:var(--accent-indigo);box-shadow:0 0 8px var(--accent-glow)}.impression-dot{background:var(--accent-purple);box-shadow:0 0 8px var(--accent-bg)}.findings-list{flex-direction:column;gap:10px;display:flex}.finding-item{background:var(--surface-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);border-radius:12px;padding:12px 16px;line-height:1.6;transition:all .2s}.finding-item:hover{box-shadow:var(--shadow-md);border-color:var(--accent-border)}.finding-organ{color:var(--accent-indigo);background:var(--accent-bg);text-transform:uppercase;letter-spacing:.04em;border-radius:6px;margin-bottom:4px;margin-right:10px;padding:2px 10px;font-size:.78rem;font-weight:700;display:inline-block}.finding-description{color:var(--text-secondary);font-size:.88rem;line-height:1.6}.finding-heading{box-shadow:none;background:0 0;border:none;padding:8px 0 2px}.finding-heading:not(:first-child){margin-top:14px}.finding-heading:hover{box-shadow:none;border-color:#0000}.finding-heading .finding-organ{color:var(--text-primary);text-transform:none;letter-spacing:normal;text-underline-offset:3px;background:0 0;padding:0;font-size:.9rem;text-decoration:underline}.impression-list{counter-reset:impression-counter;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.impression-item{counter-increment:impression-counter;color:var(--text-secondary);border-radius:10px;align-items:baseline;gap:12px;padding:10px 14px;font-size:.88rem;line-height:1.5;transition:background .2s;display:flex}.impression-item:hover{background:var(--accent-bg);opacity:.7}.impression-item:before{content:counter(impression-counter);min-width:24px;height:24px;color:var(--accent-purple);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.raw-report-toggle{border-top:1px solid var(--border-subtle);padding:16px 0}.raw-report-toggle summary{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0;font-size:.75rem;transition:color .2s}.raw-report-toggle summary:hover{color:var(--text-secondary)}.patient-inputs-container{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:12px;flex-direction:column;gap:10px;padding:12px 16px;transition:all .2s;display:flex}.patient-inputs-toggle{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;font-family:inherit;font-size:.85rem;font-weight:600;display:flex}.patient-inputs-toggle .chevron{margin-left:auto;transition:transform .2s}.patient-inputs-toggle .chevron.open{transform:rotate(180deg)}.patient-inputs-grid{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(2,1fr);gap:10px;padding-top:8px;display:grid}.patient-input-field{flex-direction:column;gap:4px;display:flex}.patient-input-field label{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:600}.patient-input-field input{background:var(--surface-input);border:1px solid var(--border-default);color:var(--text-primary);border-radius:8px;outline:none;padding:6px 10px;font-family:inherit;font-size:.82rem}.patient-input-field input:focus{border-color:var(--accent-border-focus)}.report-patient-header{background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;gap:8px;margin-bottom:24px;padding:20px 24px;font-family:Inter,-apple-system,sans-serif;font-size:.92rem;display:flex}.patient-row{color:var(--text-primary);align-items:center;line-height:1.5;display:flex}.patient-row.flex-row{justify-content:space-between;gap:24px;display:flex}.patient-row.flex-row>div{flex:1;align-items:center;display:flex}.patient-label{color:var(--text-secondary);margin-right:8px;font-family:monospace;font-weight:500}.patient-val{color:var(--text-primary)}.patient-val.bold{font-weight:700}.report-main-title{text-align:center;text-underline-offset:4px;color:var(--text-primary);letter-spacing:.02em;margin:20px 0 28px;font-size:1.2rem;font-weight:700;text-decoration:underline}.report-section-heading{color:var(--text-primary);letter-spacing:.02em;margin:0 0 10px;font-size:.95rem;font-weight:700}.report-section-heading u{text-underline-offset:3px}.report-section-prose{color:var(--text-secondary);margin:0 0 16px;font-size:.9rem;line-height:1.65}.raw-report{background:var(--surface-code);border:1px solid var(--border-subtle);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;border-radius:10px;margin-top:12px;padding:14px 16px;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:.78rem;line-height:1.7;overflow-x:auto}.report-empty{opacity:.6;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px 20px;display:flex}.report-empty-icon{width:80px;height:80px;color:var(--text-muted)}.report-empty-icon svg{width:100%;height:100%}.report-empty-title{color:var(--text-muted);text-align:center;font-size:1rem;font-weight:600}.report-empty-subtitle{color:var(--text-muted);text-align:center;max-width:300px;font-size:.82rem;line-height:1.6}.report-empty-subtitle strong{color:var(--text-secondary)}@media (width<=768px){.split-layout{flex-direction:column;height:auto;min-height:100vh}.panel{height:auto;min-height:50vh;width:100%!important}.divider{cursor:row-resize;border-left:none;border-right:none;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:row;width:100%;height:8px}.divider-handle{flex-direction:row}.panel-inner{padding:24px 20px}.patient-inputs-grid{grid-template-columns:1fr}}.approval-badge{box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.approval-badge.pending{color:#d97706;background:#f59e0b26;border:1px solid #f59e0b4d}.approval-badge.approved{color:#059669;background:#10b98126;border:1px solid #10b9814d}.btn-edit{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:8px;height:30px;padding:4px 10px;font-size:.75rem;font-weight:500;transition:all .2s}.btn-edit:hover{background:var(--bg-secondary);border-color:var(--border-medium)}.btn-edit.active{background:var(--accent-bg);color:var(--accent-color);border-color:var(--accent-border)}.btn-approve{color:#fff;background:#2563eb;border:none;border-radius:8px;height:30px;padding:4px 12px;font-size:.75rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #2563eb33}.btn-approve:hover{background:#1d4ed8;transform:translateY(-1px)}.btn-approve.approved{background:#10b981;box-shadow:0 2px 4px #10b98133}.btn-approve.approved:hover{background:#059669}.btn-download{background:var(--surface-btn-secondary,#ffffff14);color:var(--text-primary);border:1px solid var(--border-default,#ffffff26);border-radius:8px;gap:5px;height:30px;padding:4px 10px;font-size:.75rem;font-weight:500;transition:all .2s}.btn-download:hover:not(:disabled){background:var(--surface-btn-secondary-hover,#ffffff26);border-color:var(--border-hover,#ffffff4d)}.btn-download.disabled-download{opacity:.45;cursor:not-allowed;filter:grayscale(.8)}.doctor-editor-card{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;display:flex}.doctor-editor-header{flex-direction:column;gap:6px;display:flex}.doctor-editor-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.doctor-editor-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.btn-edit-dictate{background:var(--surface-btn-secondary,#ffffff14);color:var(--text-primary);border:1px solid var(--border-default,#ffffff26);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-edit-dictate:hover{background:var(--surface-btn-secondary-hover,#ffffff26);border-color:var(--accent-border,#6366f166)}.btn-edit-dictate.listening{color:#ef4444;background:#ef444426;border-color:#ef444466;animation:1.5s infinite pulseEditMic}@keyframes pulseEditMic{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.btn-edit-dictate .btn-icon{width:14px;height:14px}.doctor-editor-notice{color:var(--text-muted);font-size:.8rem}.doctor-editor-textarea{border:1px solid var(--border-medium);background:var(--bg-primary);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;outline:none;min-height:360px;padding:16px;font-family:inherit;font-size:.95rem;line-height:1.65}.doctor-editor-textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-bg)}.doctor-editor-actions{justify-content:flex-end;display:flex}.btn-save-edit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:8px 18px;font-size:.85rem;font-weight:600;transition:all .2s}.btn-save-edit:hover{background:#1d4ed8}.approval-action-banner{border:1px solid;border-radius:12px;margin-top:24px;padding:16px 20px;transition:all .3s}.approval-action-banner.banner-pending{background:#f59e0b14;border-color:#f59e0b4d}.approval-action-banner.banner-approved{background:#10b98114;border-color:#10b9814d}.banner-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.banner-info{align-items:center;gap:14px;display:flex}.banner-icon-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.banner-icon-badge.pending{color:#d97706;background:#f59e0b33}.banner-icon-badge.approved{color:#059669;background:#10b98133}.banner-title{color:var(--text-primary);margin-bottom:2px;font-size:.9rem;display:block}.banner-desc{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.4}.btn-approve-banner{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;flex-shrink:0;padding:10px 20px;font-size:.85rem;font-weight:700;transition:all .2s;box-shadow:0 2px 6px #10b9814d}.btn-approve-banner:hover{background:#059669;transform:translateY(-1px)}.btn-download-banner{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;flex-shrink:0;padding:10px 20px;font-size:.85rem;font-weight:700;transition:all .2s;box-shadow:0 2px 6px #2563eb4d}.btn-download-banner:hover{background:#1d4ed8;transform:translateY(-1px)}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#000000a6;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--bg-primary,#111827);border:1px solid var(--border-default,#ffffff1f);width:100%;max-width:400px;color:var(--text-primary);text-align:center;border-radius:20px;flex-direction:column;align-items:center;padding:28px 24px 24px;animation:.25s cubic-bezier(.16,1,.3,1) modalPop;display:flex;position:relative;box-shadow:0 20px 50px #00000080,0 0 30px #ef444414}@keyframes modalPop{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-close-btn{background:var(--surface-card,#ffffff0f);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.modal-close-btn:hover{background:var(--surface-btn-secondary-hover,#ffffff1f);color:var(--text-primary)}.logout-modal-icon-wrapper{margin-bottom:16px}.logout-modal-icon{color:#ef4444;background:#ef44441f;border:1px solid #ef444440;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;display:flex;box-shadow:0 0 20px #ef44442e}.logout-modal-icon svg{width:24px;height:24px}.modal-content-center{flex-direction:column;align-items:center;gap:8px;margin-bottom:24px;display:flex}.modal-title{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:700}.modal-description{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.45}.modal-user-pill{background:var(--surface-card,#ffffff0d);border:1px solid var(--border-subtle,#ffffff1a);color:var(--text-secondary);border-radius:20px;align-items:center;gap:8px;margin-top:8px;padding:5px 12px;font-size:.78rem;display:inline-flex}.user-pill-dot{background:#10b981;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #10b981}.modal-actions{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;height:40px;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.modal-btn-secondary{background:var(--surface-btn-secondary,#ffffff14);color:var(--text-primary);border:1px solid var(--border-default,#ffffff26)}.modal-btn-secondary:hover{background:var(--surface-btn-secondary-hover,#ffffff26)}.modal-btn-danger{color:#fff;background:#ef4444;box-shadow:0 4px 14px #ef444459}.modal-btn-danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 6px 18px #ef444473}.modal-btn:active{transform:scale(.98)}.login-container{z-index:2;justify-content:center;align-items:center;width:100%;height:100vh;padding:20px;display:flex;position:relative}.login-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(24px);width:100%;max-width:420px;box-shadow:var(--shadow-lg);opacity:0;padding:48px 40px 40px;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards loginCardEnter;position:relative;transform:translateY(20px)scale(.97)}@keyframes loginCardEnter{to{opacity:1;transform:translateY(0)scale(1)}}.login-logo{background:var(--gradient-btn);width:56px;height:56px;box-shadow:var(--shadow-accent);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 24px;animation:3s ease-in-out infinite logoPulse;display:flex}@keyframes logoPulse{0%,to{box-shadow:var(--shadow-accent);transform:scale(1)}50%{box-shadow:var(--shadow-accent-hover);transform:scale(1.03)}}.login-logo svg{color:#fff;width:28px;height:28px}.login-title{text-align:center;background:var(--gradient-title);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:1.5rem;font-weight:700}.login-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px;font-size:.875rem}.login-form{flex-direction:column;gap:20px;display:flex}.login-input-group{position:relative}.login-input-group label{color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px;font-size:.8rem;font-weight:500;display:block}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-icon{width:18px;height:18px;color:var(--text-muted);pointer-events:none;transition:color .2s;position:absolute;left:14px}.login-input{width:100%;font-family:var(--font-family);color:var(--text-primary);background:var(--surface-input);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all .25s var(--ease-out);outline:none;padding:12px 14px 12px 42px;font-size:.925rem}.login-input::placeholder{color:var(--text-placeholder)}.login-input:focus{border-color:var(--accent-border-focus);background:var(--accent-glow);box-shadow:0 0 0 3px var(--accent-bg)}.login-input:focus~.login-input-icon,.login-input-group:focus-within .login-input-icon{color:var(--accent-violet)}.login-password-toggle{width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:absolute;right:12px}.login-password-toggle:hover{color:var(--text-secondary);background:var(--surface-btn-secondary)}.login-password-toggle svg{width:18px;height:18px}.login-submit{width:100%;font-family:var(--font-family);color:#fff;background:var(--gradient-btn);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-accent);transition:all .3s var(--ease-out);border:none;margin-top:4px;padding:14px 20px;font-size:.95rem;font-weight:600;position:relative;overflow:hidden}.login-submit:hover:not(:disabled){box-shadow:var(--shadow-accent-hover);transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(0)scale(.99)}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-submit:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff26 50%,#0000 100%);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.login-submit:hover:not(:disabled):after{left:100%}.login-submit--loading{color:#0000}.login-spinner{border:2.5px solid var(--spinner-track);border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.6s linear infinite loginSpin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes loginSpin{to{transform:translate(-50%,-50%)rotate(360deg)}}.login-error{color:var(--red-text);background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;animation:.4s ease-in-out loginShake;display:flex}.login-error svg{flex-shrink:0;width:16px;height:16px}@keyframes loginShake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}.login-footer{text-align:center;border-top:1px solid var(--border-subtle);color:var(--text-muted);margin-top:24px;padding-top:20px;font-size:.78rem}@media (width<=480px){.login-card{border-radius:var(--radius-lg);padding:36px 24px 28px}.login-title{font-size:1.25rem}}.app{min-height:100vh;display:flex;position:relative;overflow:hidden}.ambient-bg{z-index:0;position:fixed;inset:0;overflow:hidden}.blob{filter:blur(100px);opacity:var(--blob-opacity);border-radius:50%;animation:20s ease-in-out infinite float;position:absolute}.blob-1{background:radial-gradient(circle at center, var(--blob-1) 0%, transparent 70%);width:500px;height:500px;animation-delay:0s;top:-15%;left:-10%}.blob-2{background:radial-gradient(circle at center, var(--blob-2) 0%, transparent 70%);width:400px;height:400px;animation-duration:25s;animation-delay:-7s;bottom:-10%;right:-5%}.blob-3{background:radial-gradient(circle at center, var(--blob-3) 0%, transparent 70%);width:300px;height:300px;animation-duration:30s;animation-delay:-14s;top:40%;right:20%}@keyframes float{0%,to{transform:translate(0)scale(1)}25%{transform:translate(40px,-30px)scale(1.05)}50%{transform:translate(-20px,20px)scale(.95)}75%{transform:translate(30px,10px)scale(1.02)}}.noise-overlay{z-index:1;opacity:var(--noise-opacity);pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;inset:0}.main-content{z-index:2;width:100%;height:100vh;position:relative}.theme-toggle{z-index:100;border:1px solid var(--toggle-border);background:var(--toggle-bg);width:40px;height:40px;color:var(--toggle-text);cursor:pointer;-webkit-backdrop-filter:blur(12px);border-radius:12px;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:16px;right:20px}.theme-toggle:hover{background:var(--toggle-bg-hover);border-color:var(--accent-border);color:var(--accent-violet);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{width:20px;height:20px;transition:transform .3s}.theme-toggle:hover svg{transform:rotate(15deg)}
