.audio-uploader{width:100%;max-width:600px;margin:0 auto}.upload-zone{border:3px dashed #cbd5e0;border-radius:12px;padding:3rem 2rem;text-align:center;transition:all .3s ease;background:#fff;cursor:pointer}.upload-zone:hover{border-color:#667eea;background:#f7fafc}.upload-zone.drag-active{border-color:#667eea;background:#edf2f7;transform:scale(1.02)}.upload-zone.has-file{border-style:solid;border-color:#48bb78}.upload-label{cursor:pointer;display:block}.upload-icon{font-size:4rem;margin-bottom:1rem}.upload-text{font-size:1.1rem;color:#2d3748;margin:.5rem 0;font-weight:500}.upload-hint{font-size:.9rem;color:#718096;margin:.5rem 0}.file-info{display:flex;align-items:center;gap:1rem;padding:1rem}.file-icon{font-size:2.5rem}.file-details{flex:1;text-align:left}.file-name{font-weight:600;color:#2d3748;margin:0 0 .25rem}.file-size{font-size:.9rem;color:#718096;margin:0}.remove-btn{background:#fc8181;color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.remove-btn:hover{background:#f56565}.upload-button{width:100%;padding:1rem;margin-top:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.upload-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.upload-button:active{transform:translateY(0)}.error-message{margin-top:1rem;padding:1rem;background:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#c53030;text-align:left}.loading-indicator{margin-top:1rem;padding:2rem;text-align:center}.loading-indicator p{color:#718096;font-size:.95rem}.voice-recorder{width:100%;max-width:600px;margin:0 auto}.recorder-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.recording-indicator{position:relative;width:120px;height:120px;margin:0 auto 1.5rem}.recording-indicator.active .pulse-ring{animation:pulse 2s ease-out infinite}.pulse-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid #f56565;border-radius:50%;opacity:0}.pulse-ring.delay-1{animation-delay:.5s}.pulse-ring.delay-2{animation-delay:1s}@keyframes pulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}.mic-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem;background:#fff;border-radius:50%;width:100px;height:100px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026}.recording-indicator.active .mic-icon{background:#fed7d7}.recorder-info{text-align:center;margin-bottom:1.5rem}.recorder-info h3{margin:0 0 .5rem;color:#2d3748;font-size:1.5rem}.recorder-info p{margin:0;color:#718096}.recording-time{font-size:2rem!important;font-weight:700;color:#f56565!important;font-family:Courier New,monospace}.audio-player{width:100%;margin-top:1rem}.recorder-controls{display:flex;flex-direction:column;gap:1rem;align-items:center}.btn-record,.btn-stop,.btn-retry,.btn-process{padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:200px}.btn-record{background:#48bb78;color:#fff}.btn-record:hover{background:#38a169;transform:translateY(-2px);box-shadow:0 4px 12px #48bb7866}.btn-stop{background:#f56565;color:#fff;animation:pulse-button 1.5s ease-in-out infinite}@keyframes pulse-button{0%,to{opacity:1}50%{opacity:.8}}.btn-stop:hover{background:#e53e3e}.post-record-actions{display:flex;gap:1rem;width:100%;justify-content:center}.btn-retry{background:#e2e8f0;color:#2d3748}.btn-retry:hover{background:#cbd5e0}.btn-process{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-process:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.processing-indicator{text-align:center;padding:1rem}.spinner{margin:0 auto 1rem;width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{margin-top:1rem;padding:1rem;background:#fed7d7;border:1px solid #fc8181;border-radius:8px;color:#c53030}.recorder-tips{margin-top:1.5rem;padding:1.5rem;background:#edf2f7;border-radius:8px}.recorder-tips h4{margin:0 0 1rem;color:#2d3748}.recorder-tips ul{margin:0;padding-left:1.5rem;color:#4a5568;line-height:1.8}.recorder-tips li{margin-bottom:.5rem}.soap-note-editor{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.editor-header h2{margin:0;color:#2d3748;font-size:1.5rem}.editor-actions{display:flex;gap:.75rem}.btn-edit,.btn-cancel,.btn-save{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-edit{background:#4299e1;color:#fff}.btn-edit:hover{background:#3182ce;transform:translateY(-1px)}.btn-cancel{background:#e2e8f0;color:#2d3748}.btn-cancel:hover{background:#cbd5e0}.btn-save{background:#48bb78;color:#fff}.btn-save:hover:not(:disabled){background:#38a169;transform:translateY(-1px)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.save-success{padding:1rem;background:#c6f6d5;border:2px solid #48bb78;border-radius:8px;color:#22543d;margin-bottom:1rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.editor-container{position:relative}.soap-textarea{width:100%;min-height:400px;padding:1.5rem;border:2px solid #cbd5e0;border-radius:8px;font-family:Courier New,monospace;font-size:.95rem;line-height:1.8;color:#2d3748;resize:vertical;transition:border-color .2s}.soap-textarea:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.editor-stats{display:flex;justify-content:flex-end;gap:1.5rem;margin-top:.5rem;font-size:.85rem;color:#718096}.soap-display{padding:1.5rem;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0}.soap-content{margin:0;font-family:Courier New,monospace;font-size:.95rem;line-height:1.8;color:#2d3748;white-space:pre-wrap;word-wrap:break-word}.btn-recheck{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;background:#4299e1;color:#fff}.btn-recheck:hover:not(:disabled){background:#3182ce;transform:translateY(-1px)}.btn-recheck:disabled{opacity:.6;cursor:not-allowed}.edit-hint{margin-top:1rem;padding:.75rem;background:#bee3f8;border-left:4px solid #4299e1;border-radius:4px;font-size:.9rem;color:#2c5282}.compliance-checker{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.compliance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.compliance-header h2{margin:0;color:#2d3748;font-size:1.5rem}.overall-status{padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem}.compliance-score{display:flex;gap:2rem;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#f7fafc;border-radius:8px}.score-circle{position:relative;width:120px;height:120px}.score-circle svg{width:100%;height:100%}.score-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.score-number{display:block;font-size:1.8rem;font-weight:700;color:#2d3748}.score-label{display:block;font-size:.8rem;color:#718096}.score-details{display:flex;gap:2rem;flex:1}.score-stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:2rem;font-weight:700;color:#2d3748}.stat-label{font-size:.9rem;color:#718096;margin-top:.25rem}.compliance-summary{padding:1rem;background:#edf2f7;border-left:4px solid #4299e1;border-radius:4px;margin-bottom:2rem}.compliance-summary p{margin:0;color:#2d3748;line-height:1.6}.checks-list{display:flex;flex-direction:column;gap:1rem}.check-item{padding:1rem;background:#f7fafc;border-left:4px solid;border-radius:4px;transition:transform .2s}.check-item:hover{transform:translate(4px)}.check-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.check-icon{font-size:1.3rem}.check-name{font-weight:600;color:#2d3748;flex:1}.severity-badge{padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;color:#fff}.check-description{margin:.5rem 0;color:#4a5568;font-size:.9rem;line-height:1.5}.check-category{display:inline-block;padding:.25rem .5rem;background:#cbd5e0;color:#2d3748;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase}.critical-alert{margin-top:2rem;padding:1rem;background:#fed7d7;border:2px solid #fc8181;border-radius:8px;display:flex;gap:1rem;align-items:flex-start}.alert-icon{font-size:1.5rem}.critical-alert strong{display:block;color:#c53030;margin-bottom:.25rem}.critical-alert p{margin:0;color:#742a2a;font-size:.9rem}.App{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column}.App-header{text-align:center;color:#fff;padding:3rem 1rem 2rem}.App-header h1{font-size:3rem;margin:0;font-weight:700}.subtitle{font-size:1.2rem;margin:.5rem 0 0;opacity:.9}.App-main{flex:1;padding:2rem 1rem;max-width:1200px;width:100%;margin:0 auto}.results-container{margin-top:2rem;display:grid;gap:2rem}.result-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.result-card h2{margin:0 0 1rem;color:#2d3748;font-size:1.5rem;display:flex;align-items:center;gap:.5rem}.transcript-content{padding:1rem;background:#f7fafc;border-left:4px solid #667eea;border-radius:4px;line-height:1.6;color:#2d3748;white-space:pre-wrap}.metadata{margin-top:1rem;display:flex;gap:2rem;font-size:.9rem;color:#718096}.soap-content{padding:1.5rem;background:#f7fafc;border-radius:8px;line-height:1.8;color:#2d3748;white-space:pre-wrap;font-family:Courier New,monospace;font-size:.95rem}.App-footer{text-align:center;padding:2rem;color:#fff;opacity:.8}.App-footer p{margin:0}.input-tabs{display:flex;gap:1rem;max-width:600px;margin:0 auto 2rem;background:#fff;padding:.5rem;border-radius:12px;box-shadow:0 2px 4px #0000001a}.tab-button{flex:1;padding:1rem;border:none;background:transparent;color:#718096;font-size:1rem;font-weight:600;cursor:pointer;border-radius:8px;transition:all .2s}.tab-button:hover{background:#f7fafc;color:#4a5568}.tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.tab-content{margin-bottom:2rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
