@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--teal: #2EC4B6;--teal-d: #1A8F86;--teal-l: #E0F7F5;--navy: #0A1628;--navy-m: #1E3A5F;--navy-l: #2C5282;--slate: #64748B;--slate-l: #CBD5E1;--bg: #F8FAFB;--white: #FFFFFF;--border: #E2E8F0;--text: #0A1628;--muted: #64748B;--grade-a: #059669;--grade-b: #2563EB;--grade-c: #D97706;--grade-d: #DC2626;--radius: 10px;--font: "Inter", "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy)}.login-card{background:var(--white);border-radius:16px;padding:48px;width:100%;max-width:420px}.login-logo{display:flex;align-items:center;gap:14px;margin-bottom:32px}.login-brand{font-size:22px;font-weight:700;color:var(--navy);letter-spacing:-.4px}.login-brand span{color:var(--teal)}.login-tag{font-size:10px;font-weight:500;color:var(--teal);letter-spacing:2.5px;text-transform:uppercase;margin-top:3px}.login-title{font-size:20px;font-weight:600;color:var(--navy);margin-bottom:24px}.login-form{display:flex;flex-direction:column;gap:18px}.login-note{font-size:11px;color:var(--muted);text-align:center;margin-top:20px;line-height:1.6}.app{max-width:1000px;margin:0 auto}.app-header{background:var(--navy);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo-row{display:flex;align-items:center;gap:12px}.logo-svg{flex-shrink:0}.logo-name{font-size:20px;font-weight:700;color:#fff;letter-spacing:-.3px;line-height:1}.logo-name span{color:var(--teal)}.logo-tag{font-size:9px;font-weight:500;color:var(--teal);letter-spacing:2.5px;text-transform:uppercase;margin-top:3px}.header-right{display:flex;align-items:center;gap:16px}.encounter-badge{font-size:11px;color:#ffffff80}.encounter-badge code{color:var(--teal);font-family:var(--mono)}.user-name{font-size:13px;color:#ffffffb3}.btn-logout{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;border-radius:6px;padding:6px 14px;font-size:12px;cursor:pointer;transition:all .15s;font-family:var(--font)}.btn-logout:hover{background:#ffffff14;color:#fff}.tab-nav{background:var(--white);border-bottom:1px solid var(--border);display:flex;gap:2px;padding:0 32px;overflow-x:auto}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;padding:14px 16px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s;font-family:var(--font)}.tab-btn:hover:not(.disabled){color:var(--navy)}.tab-btn.active{color:var(--teal);border-bottom-color:var(--teal)}.tab-btn.disabled,.tab-btn:disabled{opacity:.4;cursor:not-allowed}.app-main{padding:32px}.card{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:32px;display:flex;flex-direction:column;gap:20px}.card-header h2{font-size:20px;font-weight:700;color:var(--navy);margin-bottom:4px}.card-sub{font-size:13.5px;color:var(--muted);line-height:1.7}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:var(--navy);letter-spacing:.3px}.req{color:var(--grade-d)}input,select,textarea{height:42px;padding:0 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:var(--font);color:var(--text);background:var(--white);outline:none;transition:border-color .15s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2ec4b61f}textarea{height:80px;padding:12px 14px;resize:vertical}.btn-primary{background:var(--navy);color:#fff;border:none;border-radius:8px;padding:12px 28px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;align-self:flex-start;font-family:var(--font)}.btn-primary:hover:not(:disabled){background:var(--navy-m)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary.btn-full{width:100%;text-align:center}.btn-secondary{background:transparent;color:var(--navy);border:1px solid var(--border);border-radius:8px;padding:12px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;align-self:flex-start;font-family:var(--font)}.btn-secondary:hover:not(:disabled){background:var(--bg);border-color:var(--slate-l)}.btn-row{display:flex;gap:12px;flex-wrap:wrap}.alert{padding:12px 16px;border-radius:8px;font-size:13.5px}.alert-error{background:#fee2e2;color:#7f1d1d}.alert-success{background:var(--teal-l);color:#065f46}.loading-pulse{font-size:13px;color:var(--teal);animation:pulse 1.4s ease infinite}.drop-zone{border:1.5px dashed var(--slate-l);border-radius:10px;padding:36px;text-align:center;cursor:pointer;transition:all .15s}.drop-zone:hover,.drop-zone.has-file{border-color:var(--teal);background:var(--teal-l)}.drop-text{font-size:14px;color:var(--muted);margin-bottom:4px}.drop-hint{font-size:12px;color:var(--slate-l)}.file-info{display:flex;gap:12px;justify-content:center;align-items:center}.file-name{font-size:14px;font-weight:600;color:var(--navy)}.file-size{font-size:12px;color:var(--muted)}.result-preview{border:1px solid var(--border);border-radius:10px;padding:20px}.result-preview h3{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:14px}.diarized-list{display:flex;flex-direction:column;gap:8px}.turn{display:flex;gap:10px;align-items:flex-start;font-size:13px}.speaker-label{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:2px 7px;border-radius:4px;flex-shrink:0;margin-top:2px}.turn-physician .speaker-label{background:var(--navy);color:#fff}.turn-patient .speaker-label{background:var(--teal);color:#fff}.turn-text{color:var(--text);line-height:1.6}.more-turns{font-size:12px;color:var(--muted);padding:4px 0}.result-meta{font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:12px;margin-top:4px}.soap-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.soap-section{background:var(--bg);border-radius:8px;padding:16px}.soap-section h4{font-size:10px;font-weight:700;color:var(--teal-d);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}.soap-section p{font-size:13px;color:var(--text);line-height:1.7}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.meta-item{background:var(--bg);border-radius:8px;padding:12px 14px}.meta-label{display:block;font-size:10px;font-weight:600;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px}.meta-value{font-size:13.5px;color:var(--text)}.meta-warning{color:var(--grade-d)}.eval-card{background:var(--bg);border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:8px}.eval-eyebrow{font-size:10px;font-weight:600;color:var(--muted);letter-spacing:2px;text-transform:uppercase}.grade-letter{font-size:60px;font-weight:800;line-height:1}.grade-label{font-size:13px;font-weight:600}.grade-score{font-size:12px;color:var(--muted)}.receptivity-score{font-size:48px;font-weight:800;line-height:1}.receptivity-note{font-size:12px;color:var(--muted);line-height:1.6}.dim-bars{display:flex;flex-direction:column;gap:8px}.dim-row{display:flex;align-items:center;gap:8px}.dim-name{font-size:11px;color:var(--muted);width:160px;flex-shrink:0;text-transform:capitalize}.dim-track{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.dim-fill{height:100%;border-radius:3px;transition:width .5s ease}.dim-val{font-size:10px;font-weight:600;color:var(--text);width:28px;text-align:right}.guidance-panel,.alerts-panel{border-top:1px solid var(--border);padding-top:20px;display:flex;flex-direction:column;gap:10px}.guidance-panel h3,.alerts-panel h3{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:4px}.guidance-item{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:8px;background:var(--bg);border-left:3px solid transparent}.guidance-item.priority-high{border-left-color:var(--grade-d)}.guidance-item.priority-medium{border-left-color:var(--grade-c)}.guidance-item.priority-low{border-left-color:var(--grade-b)}.guidance-tag{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);flex-shrink:0;margin-top:2px}.guidance-msg{font-size:13px;color:var(--text);line-height:1.6}.alerts-list{display:flex;flex-direction:column;gap:12px}.alert-item{padding:14px 16px;border-left:3px solid var(--border);border-radius:0 8px 8px 0;background:var(--bg)}.alert-meta{display:flex;gap:10px;align-items:center;margin-bottom:6px}.alert-severity{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.alert-category{font-size:11px;color:var(--muted);text-transform:capitalize}.alert-message{font-size:13px;color:var(--text);line-height:1.6}.fhir-preview{display:flex;flex-direction:column;gap:12px}.fhir-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.fhir-meta code{font-family:var(--mono);font-size:11px;color:var(--teal-d)}.fhir-json{font-family:var(--mono);font-size:11px;line-height:1.6;background:#0f172a;color:#94a3b8;padding:16px;border-radius:8px;overflow:auto;max-height:360px;white-space:pre}@media (max-width: 640px){.app-header{padding:12px 16px}.app-main{padding:16px}.tab-nav{padding:0 16px}.form-row,.soap-grid,.meta-grid,.eval-grid{grid-template-columns:1fr}.header-right{gap:8px}.user-name{display:none}}.app{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1}.drop-zone.drag-over{border-color:var(--teal);background:var(--teal-l);transform:scale(1.01)}.drop-zone{transition:all .2s}.btn-logout{cursor:pointer}.eval-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width: 600px){.eval-grid{grid-template-columns:1fr}}.meta-item-full{grid-column:1 / -1}.loading-pulse{color:var(--teal-d);font-size:13px;padding:8px 0;animation:pulse 1.4s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}footer{font-size:10px!important;color:#94a3b8!important}
