html{scroll-behavior:smooth}:root{--primary-color: #00a693;--primary-light: #33b8a8;--primary-dark: #007a6b;--primary-gradient: linear-gradient(135deg, #00a693 0%, #007a6b 100%);--primary-gradient-light: linear-gradient(135deg, #33b8a8 0%, #00a693 100%);--secondary-color: #6c757d;--secondary-light: #8a9ba8;--secondary-dark: #495057;--success-color: #10b981;--success-light: #34d399;--success-dark: #059669;--warning-color: #f59e0b;--warning-light: #fbbf24;--warning-dark: #d97706;--danger-color: #ef4444;--danger-light: #f87171;--danger-dark: #dc2626;--info-color: #3b82f6;--info-light: #60a5fa;--info-dark: #2563eb;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--bg-primary: var(--primary-color);--bg-primary-light: var(--primary-light);--bg-light: var(--gray-50);--bg-white: #ffffff;--bg-card: #ffffff;--bg-surface: var(--gray-100);--bg-overlay: rgba(0, 0, 0, .5);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--text-white: #ffffff;--text-inverse: var(--gray-100);--border-light: var(--gray-200);--border-medium: var(--gray-300);--border-dark: var(--gray-400);--border-primary: var(--primary-color);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-primary: 0 10px 25px -5px rgba(0, 166, 147, .2);--shadow-success: 0 10px 25px -5px rgba(16, 185, 129, .2);--shadow-warning: 0 10px 25px -5px rgba(245, 158, 11, .2);--shadow-danger: 0 10px 25px -5px rgba(239, 68, 68, .2);--spacing-px: 1px;--spacing-0: 0;--spacing-0-5: .125rem;--spacing-1: .25rem;--spacing-1-5: .375rem;--spacing-2: .5rem;--spacing-2-5: .625rem;--spacing-3: .75rem;--spacing-3-5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-11: 2.75rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-28: 7rem;--spacing-32: 8rem;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--spacing-2xl: var(--spacing-12);--radius-none: 0;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--transition-none: none;--transition-all: all .15s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: all .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .3s cubic-bezier(.68, -.55, .265, 1.55);--font-family-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--font-primary: var(--font-family-sans);--font-mono: var(--font-family-mono);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--text-8xl: 6rem;--text-9xl: 8rem;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--font-thin: 100;--font-extralight: 200;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--duration-700: .7s;--duration-1000: 1s}*,*:before,*:after{box-sizing:border-box}html{line-height:var(--leading-normal);-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;font-family:var(--font-primary);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--text-primary);background-color:var(--bg-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0 0 var(--spacing-4) 0;letter-spacing:-.025em}h1{font-size:var(--text-4xl);font-weight:var(--font-extrabold);letter-spacing:-.05em}h2{font-size:var(--text-3xl);font-weight:var(--font-bold)}h3{font-size:var(--text-2xl);font-weight:var(--font-semibold)}h4{font-size:var(--text-xl);font-weight:var(--font-semibold)}h5{font-size:var(--text-lg);font-weight:var(--font-medium)}h6{font-size:var(--text-base);font-weight:var(--font-medium)}p{color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0 0 var(--spacing-4) 0}a{color:var(--primary-color);text-decoration:none;transition:var(--transition-fast);font-weight:var(--font-medium)}a:hover{color:var(--primary-dark);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}a:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);min-height:44px;min-width:44px;font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-none);text-align:center;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-all);user-select:none;white-space:nowrap;position:relative;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,166,147,.2)}.btn: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)}.btn:hover:before{left:100%}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(0,166,147,.3)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:disabled:before{display:none}.btn-primary{background:var(--primary-gradient);color:var(--text-white);border-color:transparent;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-primary)}.btn-secondary{background:var(--secondary-color);color:var(--text-white);border-color:var(--secondary-color);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--secondary-dark);border-color:var(--secondary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-success{background:linear-gradient(135deg,var(--success-color) 0%,var(--success-dark) 100%);color:var(--text-white);border-color:transparent;box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-success)}.btn-warning{background:linear-gradient(135deg,var(--warning-color) 0%,var(--warning-dark) 100%);color:var(--text-white);border-color:transparent;box-shadow:var(--shadow-sm)}.btn-warning:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-warning)}.btn-danger{background:linear-gradient(135deg,var(--danger-color) 0%,var(--danger-dark) 100%);color:var(--text-white);border-color:transparent;box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-danger)}.btn-outline-primary{background:transparent;color:var(--primary-color);border-color:var(--primary-color)}.btn-outline-primary:hover:not(:disabled){background:var(--primary-color);color:var(--text-white);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.btn-outline-secondary{background:transparent;color:var(--secondary-color);border-color:var(--secondary-color)}.btn-outline-secondary:hover:not(:disabled){background:var(--secondary-color);color:var(--text-white);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline-light{background:transparent;color:var(--text-white);border-color:rgba(255,255,255,.5)}.btn-outline-light:hover:not(:disabled){background:rgba(255,255,255,.1);border-color:var(--text-white);color:var(--text-white);backdrop-filter:blur(10px)}.btn-outline-danger{background:transparent;color:var(--danger-color);border-color:var(--danger-color)}.btn-outline-danger:hover:not(:disabled){background:var(--danger-color);color:var(--text-white);border-color:var(--danger-color);transform:translateY(-1px);box-shadow:var(--shadow-danger)}.btn-google{background:var(--bg-white);color:var(--text-primary);border-color:var(--border-light);position:relative;box-shadow:var(--shadow-sm)}.btn-google:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-xs{padding:var(--spacing-1-5) var(--spacing-3);font-size:var(--text-xs);min-height:40px;min-width:40px}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm);min-height:44px;min-width:44px}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--text-lg);font-weight:var(--font-bold);min-height:52px;min-width:52px}.btn-xl{padding:var(--spacing-5) var(--spacing-10);font-size:var(--text-xl);font-weight:var(--font-bold);min-height:60px;min-width:60px}.form-control{display:block;width:100%;padding:var(--spacing-3) var(--spacing-4);min-height:44px;font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-white);background-clip:padding-box;border:2px solid var(--border-light);border-radius:var(--radius-lg);transition:var(--transition-all);-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,166,147,.1)}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(0,166,147,.1);background-color:var(--bg-white)}.form-control::placeholder{color:var(--text-muted);opacity:1}.form-control:disabled{background-color:var(--bg-surface);border-color:var(--border-light);opacity:.6;cursor:not-allowed}.form-control.is-invalid{border-color:var(--danger-color);box-shadow:0 0 0 3px rgba(239,68,68,.1)}.form-control.is-valid{border-color:var(--success-color);box-shadow:0 0 0 3px rgba(16,185,129,.1)}.form-group{margin-bottom:var(--spacing-6);position:relative}.form-label{display:block;margin-bottom:var(--spacing-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.invalid-feedback{display:block;width:100%;margin-top:var(--spacing-1);font-size:var(--text-sm);color:var(--danger-color)}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);color:var(--text-muted);z-index:var(--z-10);pointer-events:none}.input-group .form-control{padding-left:var(--spacing-12)}.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);transition:var(--transition-all);overflow:hidden;position:relative}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient);opacity:0;transition:var(--transition-all)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--border-medium)}.card:hover:before{opacity:1}.card-body{padding:var(--spacing-8)}.card-header{padding:var(--spacing-6) var(--spacing-8);background-color:var(--bg-surface);border-bottom:1px solid var(--border-light)}.card-footer{padding:var(--spacing-6) var(--spacing-8);background-color:var(--bg-surface);border-top:1px solid var(--border-light)}.card-title{color:var(--text-primary);font-weight:var(--font-bold);font-size:var(--text-xl);margin-bottom:var(--spacing-3);line-height:var(--leading-tight)}.card-subtitle{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--spacing-4)}.card-text{color:var(--text-secondary);margin-bottom:var(--spacing-3);line-height:var(--leading-relaxed)}.navbar{background:var(--primary-gradient);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg);padding:var(--spacing-4) 0;position:relative;z-index:var(--z-sticky)}.navbar:before{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.navbar-brand{font-weight:var(--font-bold);color:var(--text-white)!important;font-size:var(--text-xl);display:flex;align-items:center;transition:var(--transition-all)}.navbar-brand:hover{transform:translate(4px);color:var(--text-white)!important;text-decoration:none}.navbar-brand img{border-radius:var(--radius-full);margin-right:var(--spacing-3);box-shadow:var(--shadow-md);transition:var(--transition-all);width:50px;height:50px}.navbar-brand:hover img{transform:rotate(-5deg) scale(1.05)}.navbar-nav .nav-link{color:rgba(255,255,255,.9)!important;font-weight:var(--font-medium);transition:var(--transition-all);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-lg);position:relative}.navbar-nav .nav-link:before{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--text-white);transition:var(--transition-all);transform:translate(-50%)}.navbar-nav .nav-link:hover{color:var(--text-white)!important;background:rgba(255,255,255,.1);transform:translateY(-1px)}.navbar-nav .nav-link:hover:before{width:80%}.navbar-nav .nav-link.active:before{width:80%}.container{max-width:1280px;margin:0 auto;padding:0 var(--spacing-4)}.main-content{padding:var(--spacing-16) 0;min-height:calc(100vh - 200px)}.back-button{background:var(--bg-white);border:2px solid var(--border-light);color:var(--text-secondary);border-radius:25px;padding:8px 20px;text-decoration:none;font-weight:var(--font-medium);transition:var(--transition-all);display:inline-flex;align-items:center;margin-bottom:var(--spacing-5);font-size:var(--text-sm);box-shadow:var(--shadow-xs)}.back-button:hover{border-color:var(--primary-color);color:var(--primary-color);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.back-button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.back-button i{margin-right:8px;font-size:var(--text-xs)}.dashboard-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}.dashboard-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient)}.dashboard-title{color:var(--text-primary);font-weight:var(--font-bold);font-size:var(--text-3xl);margin-bottom:var(--spacing-2);line-height:var(--leading-tight)}.dashboard-subtitle{color:var(--text-secondary);font-size:var(--text-lg);margin-bottom:0;line-height:var(--leading-relaxed)}.search-section{background:var(--bg-white);border-radius:var(--radius-2xl);padding:var(--spacing-6);margin-bottom:var(--spacing-8);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.search-input{border-radius:var(--radius-full);padding:var(--spacing-4) var(--spacing-5) var(--spacing-4) var(--spacing-14);font-size:var(--text-base);border:2px solid var(--border-light);transition:var(--transition-all);background:var(--bg-surface)}.search-input:focus{background:var(--bg-white);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-primary)}.search-icon{position:absolute;left:var(--spacing-5);top:50%;transform:translateY(-50%);color:var(--text-muted);z-index:var(--z-10);font-size:var(--text-lg)}.recordings-section{background:var(--bg-white);border-radius:var(--radius-2xl);padding:var(--spacing-8);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-6);border-bottom:2px solid var(--bg-surface)}.section-title{color:var(--text-primary);font-weight:var(--font-bold);font-size:var(--text-2xl);margin:0;line-height:var(--leading-tight)}.recordings-count{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);background:var(--bg-surface);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-full)}.recording-card{border:2px solid var(--border-light);border-radius:var(--radius-xl);transition:var(--transition-all);cursor:pointer;position:relative;background:var(--bg-white);overflow:hidden;min-height:120px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,166,147,.1);outline:none}.recording-card:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;border-color:var(--primary-color)}.visit-header{border-bottom:1px solid var(--border-light);padding-bottom:var(--spacing-3);margin-bottom:var(--spacing-4)!important}.patient-primary-info .card-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight)}.status-badge-container{display:flex;align-items:center;gap:var(--spacing-2)}.status-badge-primary{font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--spacing-1-5) var(--spacing-3);border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:var(--spacing-1)}.visit-meta{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--spacing-2)}.visit-meta span{display:inline-flex;align-items:center;font-weight:var(--font-medium)}.visit-meta i{font-size:var(--text-xs);color:var(--primary-color);width:14px}.visit-actions{flex-shrink:0;align-items:flex-start}.clinical-preview{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-4);margin-top:var(--spacing-3)}.notes-preview-header{margin-bottom:var(--spacing-2)}.notes-preview-header span{font-size:var(--text-sm);font-weight:var(--font-semibold)}.notes-preview-text{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.recording-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary-gradient);opacity:0;transition:var(--transition-all)}.recording-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.recording-card:hover:before{opacity:1}.recording-details{color:var(--text-secondary);font-size:var(--text-sm)}.recording-details i{color:var(--primary-color);width:16px;margin-right:var(--spacing-2)}.delete-btn{opacity:.7;transition:var(--transition-all);border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-xs)}.delete-btn:hover{opacity:1;transform:scale(1.1);box-shadow:var(--shadow-sm)}.delete-btn:focus{outline:none;box-shadow:0 0 0 3px rgba(239,68,68,.3)}.recording-card:hover .delete-btn{opacity:1}.delete-btn{position:relative;z-index:var(--z-10)}.recording-card.processing{border-color:var(--primary-color);background:linear-gradient(135deg,rgba(0,166,147,.02) 0%,rgba(255,255,255,1) 100%)}.processing-indicator{background:rgba(0,166,147,.05);border-radius:var(--radius-lg);padding:var(--spacing-3);border:1px solid rgba(0,166,147,.1)}.processing-indicator .progress{background-color:rgba(0,166,147,.1);border-radius:var(--radius-full);overflow:hidden}.processing-indicator .progress-bar{background:linear-gradient(90deg,var(--primary-color) 0%,var(--primary-light) 100%);background-size:200% 100%;animation:progressShimmer 2s infinite linear}@keyframes progressShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pulsing{animation:medicalPulse 2s ease-in-out infinite}@keyframes medicalPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.status-dot.pulsing{position:relative;overflow:visible}.status-dot.pulsing:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:var(--radius-full);border:2px solid currentColor;opacity:.4;animation:statusRipple 2s infinite}@keyframes statusRipple{0%{transform:scale(1);opacity:.4}50%{transform:scale(1.2);opacity:.1}to{transform:scale(1.4);opacity:0}}.status-indicator{display:flex;align-items:center}.status-dot{width:12px;height:12px;border-radius:var(--radius-full);margin-left:var(--spacing-3)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-3);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:var(--leading-none);text-align:center;white-space:nowrap;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-primary{background-color:var(--primary-color);color:var(--text-white)}.badge-secondary{background-color:var(--secondary-color);color:var(--text-white)}.badge-success{background-color:var(--success-color);color:var(--text-white)}.badge-warning{background-color:var(--warning-color);color:var(--text-white)}.badge-danger{background-color:var(--danger-color);color:var(--text-white)}.badge-info{background-color:var(--info-color);color:var(--text-white)}.bg-success{background-color:var(--success-color)!important}.bg-warning{background-color:var(--warning-color)!important}.bg-danger{background-color:var(--danger-color)!important}.bg-info{background-color:var(--info-color)!important}.bg-primary{background-color:var(--primary-color)!important}.bg-secondary{background-color:var(--secondary-color)!important}.loading-spinner{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-16);gap:var(--spacing-4)}.spinner-border{width:3rem;height:3rem;border:.25em solid var(--border-light);border-right-color:var(--primary-color);border-radius:var(--radius-full);animation:spinner-border .75s linear infinite}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-sm{width:1.5rem;height:1.5rem;border-width:.125em}.spinner-lg{width:4rem;height:4rem;border-width:.375em}.alert{padding:var(--spacing-4) var(--spacing-6);margin-bottom:var(--spacing-6);border:1px solid transparent;border-radius:var(--radius-xl);position:relative;display:flex;align-items:center;gap:var(--spacing-3);font-weight:var(--font-medium)}.alert:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.alert-danger{background-color:rgba(239,68,68,.1);border-color:rgba(239,68,68,.2);color:var(--danger-dark)}.alert-danger:before{background-color:var(--danger-color)}.alert-info{background-color:rgba(59,130,246,.1);border-color:rgba(59,130,246,.2);color:var(--info-dark)}.alert-info:before{background-color:var(--info-color)}.alert-success{background-color:rgba(16,185,129,.1);border-color:rgba(16,185,129,.2);color:var(--success-dark)}.alert-success:before{background-color:var(--success-color)}.alert-warning{background-color:rgba(245,158,11,.1);border-color:rgba(245,158,11,.2);color:var(--warning-dark)}.alert-warning:before{background-color:var(--warning-color)}.empty-state{text-align:center;padding:var(--spacing-16) var(--spacing-8);color:var(--text-secondary)}.empty-state i{margin-bottom:var(--spacing-6);color:var(--text-muted);opacity:.5}.empty-state h5{color:var(--text-primary);font-weight:var(--font-semibold);margin-bottom:var(--spacing-3)}.empty-state p{max-width:400px;margin:0 auto var(--spacing-6);line-height:var(--leading-relaxed)}.healthcare-empty-state{max-width:800px;margin:0 auto}.empty-state-icon{position:relative;display:inline-block}.step-card{background:var(--bg-white);border:2px solid var(--border-light)!important;transition:var(--transition-all);min-height:140px;display:flex;flex-direction:column;justify-content:center}.step-card:hover{border-color:var(--primary-color)!important;transform:translateY(-2px);box-shadow:var(--shadow-md)}.cta-section .btn-lg{font-size:var(--text-lg);font-weight:var(--font-bold);padding:var(--spacing-4) var(--spacing-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-primary);transition:var(--transition-all)}.cta-section .btn-lg:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl)}.quick-tips{background:var(--bg-surface);border-radius:var(--radius-xl);padding:var(--spacing-6);border:1px solid var(--border-light)}.quick-tips ul li{display:flex;align-items:flex-start;line-height:var(--leading-relaxed)}.quick-tips .fas.fa-check{margin-top:2px;flex-shrink:0}.modal-content{border-radius:var(--radius-2xl);border:none;box-shadow:var(--shadow-2xl);overflow:hidden}.modal-header{border-bottom:1px solid var(--border-light);padding:var(--spacing-6) var(--spacing-8);background:var(--bg-surface)}.modal-body{padding:var(--spacing-8)}.modal-footer{border-top:1px solid var(--border-light);padding:var(--spacing-6) var(--spacing-8);background:var(--bg-surface);gap:var(--spacing-3)}.modal-title{font-weight:var(--font-bold);color:var(--text-primary);font-size:var(--text-xl);margin:0}.login-page{background:var(--primary-gradient);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4)}.login-container{background:var(--bg-white);border-radius:var(--radius-3xl);box-shadow:var(--shadow-2xl);padding:var(--spacing-12);width:100%;max-width:450px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--primary-gradient)}.logo-container{text-align:center;margin-bottom:var(--spacing-12)}.logo{width:120px;height:120px;border-radius:var(--radius-full);object-fit:cover;margin-bottom:var(--spacing-6);box-shadow:var(--shadow-lg);border:4px solid var(--bg-white)}.login-title{font-size:var(--text-3xl);font-weight:var(--font-extrabold);color:var(--text-primary);margin-bottom:var(--spacing-8);text-align:center;letter-spacing:-.025em}.divider{text-align:center;margin:var(--spacing-8) 0;position:relative}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-light)}.divider span{background:var(--bg-white);padding:0 var(--spacing-4);color:var(--text-secondary);font-weight:var(--font-medium);font-size:var(--text-sm)}.google-icon{position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);width:20px;height:20px}.signup-link{text-align:center;margin-top:var(--spacing-8);color:var(--text-secondary);font-size:var(--text-sm)}.signup-link p{margin-bottom:var(--spacing-2)}.signup-link a{font-weight:var(--font-semibold)}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-primary{color:var(--primary-color)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.text-white{color:var(--text-white)!important}.text-success{color:var(--success-color)!important}.text-warning{color:var(--warning-color)!important}.text-danger{color:var(--danger-color)!important}.text-info{color:var(--info-color)!important}.bg-light{background-color:var(--bg-light)!important}.bg-white{background-color:var(--bg-white)!important}.bg-surface{background-color:var(--bg-surface)!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-grid{display:grid!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.gap-0{gap:0!important}.gap-1{gap:var(--spacing-1)!important}.gap-2{gap:var(--spacing-2)!important}.gap-3{gap:var(--spacing-3)!important}.gap-4{gap:var(--spacing-4)!important}.gap-5{gap:var(--spacing-5)!important}.gap-6{gap:var(--spacing-6)!important}.m-0{margin:0!important}.m-1{margin:var(--spacing-1)!important}.m-2{margin:var(--spacing-2)!important}.m-3{margin:var(--spacing-3)!important}.m-4{margin:var(--spacing-4)!important}.m-5{margin:var(--spacing-5)!important}.m-6{margin:var(--spacing-6)!important}.m-8{margin:var(--spacing-8)!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:var(--spacing-1)!important}.mt-2{margin-top:var(--spacing-2)!important}.mt-3{margin-top:var(--spacing-3)!important}.mt-4{margin-top:var(--spacing-4)!important}.mt-5{margin-top:var(--spacing-5)!important}.mt-6{margin-top:var(--spacing-6)!important}.mt-8{margin-top:var(--spacing-8)!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:var(--spacing-1)!important}.mb-2{margin-bottom:var(--spacing-2)!important}.mb-3{margin-bottom:var(--spacing-3)!important}.mb-4{margin-bottom:var(--spacing-4)!important}.mb-5{margin-bottom:var(--spacing-5)!important}.mb-6{margin-bottom:var(--spacing-6)!important}.mb-8{margin-bottom:var(--spacing-8)!important}.ms-1{margin-left:var(--spacing-1)!important}.ms-2{margin-left:var(--spacing-2)!important}.ms-3{margin-left:var(--spacing-3)!important}.ms-4{margin-left:var(--spacing-4)!important}.ms-auto{margin-left:auto!important}.me-1{margin-right:var(--spacing-1)!important}.me-2{margin-right:var(--spacing-2)!important}.me-3{margin-right:var(--spacing-3)!important}.me-4{margin-right:var(--spacing-4)!important}.me-auto{margin-right:auto!important}.p-0{padding:0!important}.p-1{padding:var(--spacing-1)!important}.p-2{padding:var(--spacing-2)!important}.p-3{padding:var(--spacing-3)!important}.p-4{padding:var(--spacing-4)!important}.p-5{padding:var(--spacing-5)!important}.p-6{padding:var(--spacing-6)!important}.p-8{padding:var(--spacing-8)!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:var(--spacing-1)!important;padding-bottom:var(--spacing-1)!important}.py-2{padding-top:var(--spacing-2)!important;padding-bottom:var(--spacing-2)!important}.py-3{padding-top:var(--spacing-3)!important;padding-bottom:var(--spacing-3)!important}.py-4{padding-top:var(--spacing-4)!important;padding-bottom:var(--spacing-4)!important}.py-5{padding-top:var(--spacing-5)!important;padding-bottom:var(--spacing-5)!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:var(--spacing-1)!important;padding-right:var(--spacing-1)!important}.px-2{padding-left:var(--spacing-2)!important;padding-right:var(--spacing-2)!important}.px-3{padding-left:var(--spacing-3)!important;padding-right:var(--spacing-3)!important}.px-4{padding-left:var(--spacing-4)!important;padding-right:var(--spacing-4)!important}.px-5{padding-left:var(--spacing-5)!important;padding-right:var(--spacing-5)!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.border{border:1px solid var(--border-light)!important}.border-0{border:0!important}.border-top{border-top:1px solid var(--border-light)!important}.border-end{border-right:1px solid var(--border-light)!important}.border-bottom{border-bottom:1px solid var(--border-light)!important}.border-start{border-left:1px solid var(--border-light)!important}.rounded{border-radius:var(--radius-lg)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--radius-sm)!important}.rounded-2{border-radius:var(--radius-md)!important}.rounded-3{border-radius:var(--radius-lg)!important}.rounded-4{border-radius:var(--radius-xl)!important}.rounded-5{border-radius:var(--radius-2xl)!important}.rounded-circle,.rounded-pill{border-radius:var(--radius-full)!important}.shadow-none{box-shadow:none!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.fade-in{animation:fadeIn var(--duration-300) ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp var(--duration-300) ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in-left{animation:slideInLeft var(--duration-300) ease-out}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.slide-in-right{animation:slideInRight var(--duration-300) ease-out}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.bounce-in{animation:bounceIn var(--duration-500) var(--transition-bounce)}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.btn:focus-visible,.form-control:focus-visible,.card:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width: 1200px){.container{max-width:1140px}}@media (max-width: 992px){.container{max-width:960px}.main-content{padding:var(--spacing-12) 0}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}}@media (max-width: 768px){.container{max-width:720px;padding:0 var(--spacing-3)}.main-content{padding:var(--spacing-8) 0}.dashboard-header,.search-section,.recordings-section{margin-left:0;margin-right:0;padding:var(--spacing-6)}.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.navbar-nav{margin-top:var(--spacing-4)}.navbar-nav .nav-link{padding:var(--spacing-3) var(--spacing-4)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}.btn-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--text-base)}.delete-btn{opacity:1}.login-container{padding:var(--spacing-8);margin:var(--spacing-4)}.logo{width:100px;height:100px}.visit-header{flex-direction:column;align-items:stretch}.patient-primary-info .d-flex{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.status-badge-container{align-self:flex-start}.visit-meta{flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.visit-meta span{margin-right:0!important;margin-bottom:var(--spacing-1)}.visit-actions{margin-top:var(--spacing-3);justify-content:space-between;width:100%}}@media (max-width: 576px){.container{max-width:540px;padding:0 var(--spacing-2)}.btn{padding:var(--spacing-2-5) var(--spacing-5);font-size:var(--text-sm)}.card-body{padding:var(--spacing-6)}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}.dashboard-header,.search-section,.recordings-section{padding:var(--spacing-4)}.login-container{padding:var(--spacing-6);margin:var(--spacing-2)}.login-title{font-size:var(--text-2xl)}.logo{width:80px;height:80px}}@media print{.navbar,.btn,.search-section,.delete-btn{display:none!important}.card{border:1px solid #000!important;box-shadow:none!important;break-inside:avoid}body{background:white!important;color:#000!important;font-size:12pt;line-height:1.4}h1,h2,h3,h4,h5,h6{color:#000!important;page-break-after:avoid}.main-content{padding:0}.container{max-width:none;padding:0}}@media (prefers-contrast: high){:root{--border-light: #000000;--border-medium: #000000;--text-secondary: #000000;--text-muted: #000000}.card{border-width:2px}.btn{border-width:3px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:before{display:none}}
