.hero-section{background:linear-gradient(135deg,var(--bg-white) 0%,var(--bg-surface) 100%);color:var(--text-primary);padding:var(--spacing-20) 0;margin-bottom:var(--spacing-16);position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(0,166,147,.03) 0%,transparent 70%);animation:rotate 30s linear infinite}.hero-section.gradient-bg{background:var(--primary-gradient);color:var(--text-white)}.hero-section.gradient-bg:before{background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%)}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.feature-card{border:none;box-shadow:var(--shadow-sm);transition:var(--transition-all);height:100%;position:relative;overflow:hidden;background:var(--bg-white)}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient);opacity:0;transition:var(--transition-all)}.feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.feature-card:hover:before{opacity:1}.feature-icon{font-size:var(--text-5xl);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-6);transition:var(--transition-all)}.feature-card:hover .feature-icon{transform:scale(1.1)}.soap-section{background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-light) 100%);padding:var(--spacing-20) 0;margin:var(--spacing-16) 0;position:relative}.soap-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-light),transparent)}.soap-section:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-light),transparent)}.soap-component{background:var(--bg-white);border-radius:var(--radius-2xl);padding:var(--spacing-8);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:var(--transition-all);position:relative;overflow:hidden}.soap-component:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary-gradient);opacity:0;transition:var(--transition-all)}.soap-component:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.soap-component:hover:before{opacity:1}.soap-letter{font-size:var(--text-4xl);font-weight:var(--font-black);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-right:var(--spacing-4);line-height:1}.stats-section{background:var(--primary-gradient);color:var(--text-white);padding:var(--spacing-20) 0;position:relative;overflow:hidden}.stats-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.3}.stat-item{text-align:center;margin-bottom:var(--spacing-8);position:relative;z-index:var(--z-10)}.stat-number{font-size:var(--text-5xl);font-weight:var(--font-black);display:block;line-height:1;margin-bottom:var(--spacing-2);text-shadow:0 2px 4px rgba(0,0,0,.1)}.stat-item span:not(.stat-number){font-size:var(--text-lg);font-weight:var(--font-medium);opacity:.9}.timeline{position:relative;padding:var(--spacing-6) 0}.timeline-item{margin-bottom:var(--spacing-8);position:relative;padding-left:var(--spacing-12);transition:var(--transition-all)}.timeline-item:before{content:"";position:absolute;left:var(--spacing-3);top:var(--spacing-1);width:16px;height:16px;border-radius:var(--radius-full);background:var(--primary-gradient);box-shadow:0 0 0 4px var(--bg-white),0 0 0 6px var(--primary-color);z-index:var(--z-10)}.timeline-item:after{content:"";position:absolute;left:var(--spacing-4);top:var(--spacing-6);width:2px;height:calc(100% + var(--spacing-4));background:linear-gradient(to bottom,var(--primary-color),var(--border-light))}.timeline-item:last-child:after{display:none}.timeline-item:hover{transform:translate(var(--spacing-2))}.timeline-item h5{color:var(--text-primary);font-weight:var(--font-bold);margin-bottom:var(--spacing-2)}.timeline-item p{color:var(--text-secondary);line-height:var(--leading-relaxed)}.back-button{background:var(--bg-white);border:2px solid var(--border-light);color:var(--text-secondary);border-radius:var(--radius-full);padding:var(--spacing-3) var(--spacing-6);text-decoration:none;font-weight:var(--font-semibold);transition:var(--transition-all);display:inline-flex;align-items:center;margin-bottom:var(--spacing-6);box-shadow:var(--shadow-sm)}.back-button:hover{border-color:var(--primary-color);color:var(--primary-color);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-md)}.back-button i{margin-right:var(--spacing-2);transition:var(--transition-all)}.back-button:hover i{transform:translate(-2px)}.note-header{background:var(--bg-white);border-radius:var(--radius-2xl);padding:var(--spacing-8);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);position:relative;overflow:hidden}.note-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient)}.patient-name{color:var(--text-primary);font-weight:var(--font-black);font-size:var(--text-4xl);margin-bottom:var(--spacing-6);line-height:var(--leading-tight);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.visit-info{display:flex;flex-wrap:wrap;gap:var(--spacing-8);color:var(--text-secondary)}.visit-info-item{display:flex;align-items:center;gap:var(--spacing-2);font-weight:var(--font-medium)}.visit-info-item i{color:var(--primary-color);width:20px;font-size:var(--text-lg)}.soap-note-section{background:var(--bg-white);border-radius:var(--radius-2xl);padding:var(--spacing-8);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);border-left:6px solid var(--primary-color);transition:var(--transition-all);position:relative}.soap-note-section:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.soap-title{color:var(--text-primary);font-weight:var(--font-bold);font-size:var(--text-2xl);margin-bottom:var(--spacing-6);display:flex;align-items:center;gap:var(--spacing-4);justify-content:space-between;flex-wrap:wrap}.soap-title i{color:var(--primary-color);font-size:var(--text-xl)}.soap-title-left{display:flex;align-items:center;gap:var(--spacing-4)}.copy-btn{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color);border-radius:var(--radius-lg);padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-all);display:flex;align-items:center;gap:var(--spacing-2);min-width:100px;justify-content:center}.copy-btn:hover{background:var(--primary-color);color:var(--text-white);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.copy-btn:active{transform:translateY(0)}.copy-btn.copied{animation:copySuccess var(--duration-500) ease;background:var(--success-color);border-color:var(--success-color);color:var(--text-white)}@keyframes copySuccess{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.soap-content{color:var(--text-secondary);line-height:var(--leading-relaxed);font-size:var(--text-base);white-space:pre-wrap}.soap-content.empty{color:var(--text-muted);font-style:italic;text-align:center;padding:var(--spacing-8);background:var(--bg-surface);border-radius:var(--radius-lg)}.subjective-section{border-left-color:var(--success-color)}.subjective-section .soap-title i{color:var(--success-color)}.subjective-section .copy-btn{color:var(--success-color);border-color:var(--success-color)}.subjective-section .copy-btn:hover{background:var(--success-color);color:var(--text-white);box-shadow:var(--shadow-success)}.objective-section{border-left-color:var(--info-color)}.objective-section .soap-title i{color:var(--info-color)}.objective-section .copy-btn{color:var(--info-color);border-color:var(--info-color)}.objective-section .copy-btn:hover{background:var(--info-color);color:var(--text-white);box-shadow:0 10px 25px -5px rgba(59,130,246,.2)}.assessment-section{border-left-color:var(--warning-color)}.assessment-section .soap-title i{color:var(--warning-color)}.assessment-section .copy-btn{color:var(--warning-color);border-color:var(--warning-color)}.assessment-section .copy-btn:hover{background:var(--warning-color);color:var(--text-primary);box-shadow:var(--shadow-warning)}.plan-section{border-left-color:var(--danger-color)}.plan-section .soap-title i{color:var(--danger-color)}.plan-section .copy-btn{color:var(--danger-color);border-color:var(--danger-color)}.plan-section .copy-btn:hover{background:var(--danger-color);color:var(--text-white);box-shadow:var(--shadow-danger)}.transcript-section{border-left-color:#6366f1}.transcript-section .soap-title i{color:#6366f1}.transcript-controls{display:flex;align-items:center;gap:var(--spacing-4);flex-wrap:wrap}.transcript-section .copy-btn{color:#6366f1;border-color:#6366f1}.transcript-section .copy-btn:hover{background:#6366f1;color:var(--text-white);box-shadow:0 10px 25px -5px rgba(99,102,241,.2)}.expand-btn{background:transparent;border:2px solid #6366f1;color:#6366f1;border-radius:var(--radius-lg);padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-all);display:flex;align-items:center;gap:var(--spacing-2);min-width:120px;justify-content:center}.expand-btn:hover{background:#6366f1;color:var(--text-white);transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(99,102,241,.2)}.expand-btn:active{transform:translateY(0)}.expand-btn i{transition:var(--transition-all)}.expand-btn.expanded i{transform:rotate(180deg)}.transcript-content-wrapper{max-height:0;overflow:hidden;transition:max-height var(--duration-500) ease-out}.transcript-content-wrapper.expanded{max-height:1000px;transition:max-height var(--duration-500) ease-in}.transcript-content{color:var(--text-secondary);line-height:var(--leading-loose);font-size:var(--text-sm);font-family:var(--font-mono);white-space:pre-wrap;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-top:var(--spacing-6);max-height:400px;overflow-y:auto}.transcript-content.empty{color:var(--text-muted);font-style:italic;font-family:var(--font-primary);text-align:center}.transcript-content.loading{display:flex;align-items:center;justify-content:center;min-height:80px;color:var(--text-muted);font-style:italic}.error-container{background:var(--bg-white);border-radius:var(--radius-2xl);padding:var(--spacing-12);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.error-icon{color:var(--danger-color);font-size:var(--text-6xl);margin-bottom:var(--spacing-6);opacity:.8}.error-title{color:var(--text-primary);font-weight:var(--font-bold);font-size:var(--text-2xl);margin-bottom:var(--spacing-4)}.error-message{color:var(--text-secondary);font-size:var(--text-lg);margin-bottom:var(--spacing-8);line-height:var(--leading-relaxed)}.recording-header{background:var(--bg-white);border-radius:var(--radius-3xl);padding:var(--spacing-12);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-lg);text-align:center;position:relative;overflow:hidden;border:1px solid var(--border-light)}.recording-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(0,166,147,.03) 0%,transparent 70%);animation:rotate 25s linear infinite}.recording-header:after{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--primary-gradient);border-radius:var(--radius-3xl) var(--radius-3xl) 0 0}.recording-title{font-size:var(--text-4xl);font-weight:var(--font-black);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-3);position:relative;z-index:var(--z-10);line-height:var(--leading-tight)}.recording-subtitle{color:var(--text-secondary);font-size:var(--text-xl);font-weight:var(--font-medium);position:relative;z-index:var(--z-10)}.recording-interface{background:var(--bg-white);border-radius:var(--radius-3xl);padding:var(--spacing-12);box-shadow:var(--shadow-lg);position:relative;overflow:hidden;border:1px solid var(--border-light)}.recording-interface:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--primary-gradient);border-radius:var(--radius-3xl) var(--radius-3xl) 0 0}.patient-name-section{margin-bottom:var(--spacing-12);position:relative}.name-display{background:linear-gradient(135deg,rgba(0,166,147,.05) 0%,rgba(0,166,147,.02) 100%);border:2px solid rgba(0,166,147,.1);border-radius:var(--radius-2xl);padding:var(--spacing-8);box-shadow:var(--shadow-sm);animation:fadeIn var(--duration-500) ease}.patient-label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);font-weight:var(--font-bold);margin-bottom:var(--spacing-2)}.edit-name-btn{background:var(--bg-white);border:2px solid var(--primary-color);border-radius:var(--radius-lg);padding:var(--spacing-3) var(--spacing-4);color:var(--primary-color);transition:var(--transition-all);text-decoration:none;font-weight:var(--font-semibold);box-shadow:var(--shadow-sm)}.edit-name-btn:hover{background:var(--primary-color);color:var(--text-white);transform:translateY(-2px);box-shadow:var(--shadow-primary);text-decoration:none}.recording-controls{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-10)}.recording-circle-container{position:relative;padding:var(--spacing-8)}.recording-circle{width:280px;height:280px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-light) 100%);border:8px solid var(--primary-color);display:flex;align-items:center;justify-content:center;position:relative;transition:var(--transition-all);cursor:pointer;box-shadow:var(--shadow-primary)}.recording-circle:before{content:"";position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;border-radius:var(--radius-full);background:radial-gradient(circle,transparent 60%,rgba(0,166,147,.1) 100%);opacity:0;transition:var(--transition-all)}.recording-circle:hover:before{opacity:1}.recording-circle.disabled{border-color:var(--border-medium);cursor:not-allowed;box-shadow:var(--shadow-sm)}.recording-circle.recording{border-color:var(--danger-color);animation:recordingPulse 2s infinite;box-shadow:var(--shadow-danger)}.recording-circle.paused{border-color:var(--warning-color);box-shadow:var(--shadow-warning)}@keyframes recordingPulse{0%{transform:scale(1);box-shadow:var(--shadow-danger)}50%{transform:scale(1.02);box-shadow:0 15px 40px -5px rgba(239,68,68,.4)}to{transform:scale(1);box-shadow:var(--shadow-danger)}}.recording-button{width:180px;height:180px;border-radius:var(--radius-full);background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;transition:var(--transition-all);cursor:pointer;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.recording-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:var(--radius-full);background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width var(--duration-700) ease,height var(--duration-700) ease}.recording-button:hover:before{width:220px;height:220px}.recording-button:hover{transform:scale(1.05)}.recording-circle.disabled .recording-button{background:linear-gradient(135deg,var(--gray-300) 0%,var(--gray-400) 100%);cursor:not-allowed}.recording-circle.recording .recording-button{background:linear-gradient(135deg,var(--warning-color) 0%,var(--warning-dark) 100%)}.recording-circle.paused .recording-button{background:linear-gradient(135deg,var(--success-color) 0%,var(--success-dark) 100%)}.recording-button i{font-size:var(--text-5xl);color:var(--text-white);position:relative;z-index:var(--z-10);text-shadow:0 2px 4px rgba(0,0,0,.2)}.timer-display{background:linear-gradient(135deg,var(--bg-white) 0%,var(--bg-surface) 100%);border:2px solid var(--border-light);border-radius:var(--radius-2xl);padding:var(--spacing-6) var(--spacing-10);box-shadow:var(--shadow-md)}#timerText{font-size:var(--text-5xl);font-weight:var(--font-black);font-family:var(--font-mono);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.1em;text-shadow:0 2px 4px rgba(0,0,0,.1)}.recording-circle.recording~.timer-display #timerText{background:linear-gradient(135deg,var(--danger-color) 0%,var(--danger-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.recording-circle.paused~.timer-display #timerText{background:linear-gradient(135deg,var(--warning-color) 0%,var(--warning-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stop-button-container{margin-top:var(--spacing-8)}#stopRecordingBtn{background:linear-gradient(135deg,var(--danger-color) 0%,var(--danger-dark) 100%);border:none;border-radius:var(--radius-2xl);padding:var(--spacing-4) var(--spacing-10);font-size:var(--text-lg);font-weight:var(--font-bold);box-shadow:var(--shadow-danger);transition:var(--transition-all);position:relative;overflow:hidden}#stopRecordingBtn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--duration-500)}#stopRecordingBtn:hover:before{left:100%}#stopRecordingBtn:hover{transform:translateY(-3px);box-shadow:0 15px 40px -5px rgba(239,68,68,.4)}@media (max-width: 768px){.recording-title{font-size:var(--text-3xl)}.recording-circle{width:220px;height:220px;border-width:6px}.recording-button{width:140px;height:140px}.recording-button i,#timerText{font-size:var(--text-4xl)}.patient-name{font-size:var(--text-3xl)}.visit-info{flex-direction:column;gap:var(--spacing-4)}.soap-title{font-size:var(--text-xl);flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.soap-title-left{width:100%}.copy-btn{align-self:flex-end;min-width:120px;padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-base)}.soap-content{font-size:var(--text-sm)}.transcript-controls{flex-direction:column;gap:var(--spacing-3);align-items:stretch}.expand-btn{min-width:auto;padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-base)}.transcript-content{font-size:var(--text-sm);padding:var(--spacing-4)}.feature-icon{font-size:var(--text-4xl)}.soap-letter{font-size:var(--text-3xl)}.stat-number{font-size:var(--text-4xl)}}@media (max-width: 480px){.recording-interface{padding:var(--spacing-8) var(--spacing-4)}.recording-circle{width:180px;height:180px;border-width:4px}.recording-button{width:110px;height:110px}.recording-button i,#timerText{font-size:var(--text-3xl)}.timer-display{padding:var(--spacing-4) var(--spacing-6)}.copy-btn{width:100%;margin-top:var(--spacing-3);align-self:stretch}.soap-title{gap:var(--spacing-3)}.transcript-controls{width:100%}.expand-btn{width:100%;margin-top:var(--spacing-2)}.recording-title,.patient-name{font-size:var(--text-2xl)}.note-header,.recording-header,.recording-interface,.soap-component{padding:var(--spacing-6)}.feature-icon{font-size:var(--text-3xl)}.soap-letter{font-size:var(--text-2xl)}.stat-number{font-size:var(--text-3xl)}}
