@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-body: #FFF7F0;--bg-card: #FFFFFF;--bg-card-hover: #FFFCF9;--bg-sidebar: #FFF9F4;--text-primary: #0C0A09;--text-secondary: #57534E;--text-muted: #78716C;--accent-color: #EA580C;--accent-glow: rgba(234, 88, 12, .2);--accent-hover: #C2410C;--accent-soft: rgba(234, 88, 12, .06);--accent-light: rgba(234, 88, 12, .1);--status-normal: #059669;--status-low: #D97706;--status-high: #DC2626;--status-critical: #B91C1C;--status-normal-bg: rgba(5, 150, 105, .08);--status-low-bg: rgba(217, 119, 6, .08);--status-high-bg: rgba(220, 38, 38, .08);--border-color: #E7E5E4;--border-light: #F5F5F4;--shadow-sm: 0 1px 2px rgba(28,25,23,.04);--shadow-md: 0 4px 12px rgba(28,25,23,.06);--shadow-lg: 0 8px 24px rgba(28,25,23,.08);--shadow-card: 0 1px 3px rgba(28,25,23,.05), 0 1px 2px rgba(28,25,23,.03);--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 24px;--transition-fast: .15s ease;--transition-smooth: .3s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:#fff7f0;color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}.glass-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.glass-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-card);transition:var(--transition-smooth)}.glass-card:hover{border-color:#d1d5db;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#4f46e5,#4338ca);color:#fff;border:none;padding:12px 24px;border-radius:var(--border-radius-md);font-weight:600;font-size:.9rem;font-family:Inter,sans-serif;cursor:pointer;transition:var(--transition-smooth);box-shadow:0 4px 14px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);padding:10px 20px;border-radius:var(--border-radius-md);font-weight:500;font-size:.875rem;font-family:Inter,sans-serif;cursor:pointer;transition:var(--transition-smooth)}.btn-ghost:hover{background:var(--bg-body);border-color:#d1d5db}.container{max-width:1400px;margin:0 auto;padding:32px 24px}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.text-gradient{background:linear-gradient(135deg,#ea580c,#f97316,#ea580c);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s linear infinite}@keyframes shimmer{0%{background-position:0% center}to{background-position:200% center}}.text-small{font-size:.875rem;color:var(--text-secondary)}h1,h2,h3,h4{color:var(--text-primary);margin-bottom:8px}p{color:var(--text-secondary)}ul{padding-left:20px;color:var(--text-primary)}li{margin-bottom:8px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d6d3d1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a29e}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes countUp{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes typingDot{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes stethoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.animate-fade-in{animation:fadeIn .6s ease forwards}.animate-fade-in-up{opacity:0;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) forwards}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.header-nav{margin-bottom:0;padding:16px 0;border-bottom:1px solid #E7E5E4;position:sticky;top:0;background:#fff;z-index:50}.header-nav .text-small{color:var(--text-secondary)}.header-nav .brand-logo{color:var(--text-primary)}.brand-logo{font-size:1.5rem;font-weight:800;letter-spacing:-.5px}.upload-page{min-height:calc(100vh - 140px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}.upload-hero{text-align:center;max-width:700px;margin-bottom:48px}.upload-hero h1{font-size:3rem;font-weight:800;line-height:1.15;margin-bottom:20px;letter-spacing:-1.5px;color:#111827}.upload-hero p{font-size:1.1rem;line-height:1.7;max-width:560px;margin:0 auto;color:var(--text-secondary)}.upload-container{max-width:700px;width:100%}.dropzone{border:2px dashed #D6D3D1;border-radius:var(--border-radius-xl);padding:56px 32px;text-align:center;transition:var(--transition-smooth);cursor:pointer;background:var(--bg-body);position:relative;overflow:hidden}.dropzone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(79,70,229,.04) 0%,transparent 70%);opacity:0;transition:opacity .4s}.dropzone:hover:before,.dropzone.active:before{opacity:1}.dropzone:hover,.dropzone.active{border-color:var(--accent-color);background:#4f46e505}.dropzone-icon{width:76px;height:76px;background:linear-gradient(135deg,#4f46e51a,#7c3aed1a);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--accent-color);transition:var(--transition-smooth)}.dropzone:hover .dropzone-icon{transform:scale(1.1);background:linear-gradient(135deg,#4f46e52e,#7c3aed2e)}.feature-badges{display:flex;justify-content:center;gap:28px;margin-top:36px;flex-wrap:wrap}.feature-badge{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.82rem;font-weight:500}.steps-section{margin-top:64px;width:100%;max-width:900px}.steps-section h2{text-align:center;margin-bottom:40px;font-size:1.5rem;font-weight:700}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:28px 24px;text-align:center;transition:var(--transition-smooth);position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.step-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),#7C3AED);opacity:0;transition:opacity .3s}.step-card:hover:before{opacity:1}.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.step-number{width:40px;height:40px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-weight:700;font-size:.9rem;color:var(--accent-color)}.step-card h4{font-size:1rem;margin-bottom:8px}.step-card p{font-size:.85rem;line-height:1.6}.trust-badges{display:flex;justify-content:center;gap:20px;margin-top:48px;flex-wrap:wrap}.trust-badge{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border-color);padding:10px 18px;border-radius:var(--border-radius-md);font-size:.78rem;font-weight:500;color:var(--text-secondary);box-shadow:var(--shadow-sm)}.trust-badge svg{flex-shrink:0}.progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.progress-overlay h2,.progress-overlay p{color:#fff}.progress-overlay .text-small{color:#ffffff80}.progress-steps{display:flex;flex-direction:column;gap:12px;margin-top:28px;min-width:340px}.progress-step{display:flex;align-items:center;gap:14px;padding:14px 20px;border-radius:var(--border-radius-md);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);transition:all .4s ease;opacity:.35}.progress-step.active{opacity:1;border-color:#4f46e580;background:#4f46e51f}.progress-step.done{opacity:.6;border-color:#0596694d}.progress-step-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#ffffff80}.progress-step.active .progress-step-icon{background:#4f46e533;color:#a5b4fc;animation:pulse 1.5s ease infinite}.progress-step.done .progress-step-icon{background:#05966933;color:#6ee7b7}.progress-step-label{font-size:.88rem;font-weight:500;color:#ffffff80}.progress-step.active .progress-step-label{color:#fff}.progress-step.done .progress-step-label{color:#ffffff80}.spinner{width:44px;height:44px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:#a5b4fc;animation:spin .8s ease-in-out infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-grid{display:grid;grid-template-columns:380px 1fr;gap:28px;align-items:start}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:20px;text-align:center;transition:var(--transition-smooth);box-shadow:var(--shadow-card)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-value{font-size:2rem;font-weight:800;animation:countUp .6s ease-out}.stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-top:4px;font-weight:500}.biomarker-row{padding:24px;cursor:default}.biomarker-header{display:grid;grid-template-columns:2fr 1fr 1fr;align-items:center;gap:16px}.biomarker-details{margin-top:20px;padding-top:20px;border-top:1px dashed var(--border-color);display:grid;grid-template-columns:1fr;gap:16px}.gauge-container{margin-top:14px}.gauge-track{height:8px;background:#f3f4f6;border-radius:4px;width:100%;position:relative;overflow:visible}.gauge-range{position:absolute;top:0;height:100%;background:#05966926;border-radius:4px}.gauge-marker{position:absolute;top:-4px;width:16px;height:16px;border-radius:50%;border:2.5px solid white;transform:translate(-50%);box-shadow:0 1px 4px #0003;z-index:2;transition:left 1s cubic-bezier(.16,1,.3,1)}.gauge-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:.68rem;color:var(--text-muted)}.status-badge{padding:4px 12px;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.status-normal{background:var(--status-normal-bg);color:var(--status-normal);border:1px solid rgba(5,150,105,.15)}.status-low{background:var(--status-low-bg);color:var(--status-low);border:1px solid rgba(217,119,6,.15)}.status-high{background:var(--status-high-bg);color:var(--status-high);border:1px solid rgba(220,38,38,.15)}.status-critical{background:#b91c1c1a;color:#dc2626;border:1px solid rgba(185,28,28,.2)}.insight-card{background:var(--bg-body);border-radius:var(--border-radius-sm);padding:16px;border-left:3px solid}.insight-card.meaning{border-left-color:var(--accent-color)}.insight-card.causes{border-left-color:#d97706}.insight-card.tips{border-left-color:#059669}.insight-title{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.78rem;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.chat-container{display:flex;flex-direction:column;height:400px;border-radius:var(--border-radius-md);overflow:hidden;background:#111827!important;border-color:#1f2937!important}.chat-header{padding:14px 20px;border-bottom:1px solid #1F2937;display:flex;align-items:center;gap:10px;background:#0f172a}.chat-header h3{font-size:.9rem;margin:0;color:#fff}.chat-online-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981;animation:pulse 2s ease infinite}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#111827}.chat-bubble{max-width:85%;padding:12px 16px;border-radius:14px;font-size:.88rem;line-height:1.6;animation:fadeInUp .3s ease forwards}.chat-bubble.user{align-self:flex-end;background:linear-gradient(135deg,#4f46e5,#4338ca);border-bottom-right-radius:4px;color:#fff}.chat-bubble.assistant{align-self:flex-start;background:#1f2937;border:1px solid #374151;border-bottom-left-radius:4px;color:#e5e7eb}.chat-bubble p{color:inherit;margin-bottom:6px}.chat-bubble p:last-child{margin-bottom:0}.chat-bubble ul{margin:4px 0;padding-left:18px;color:inherit}.chat-bubble li{margin-bottom:4px;font-size:.85rem}.chat-bubble strong{color:#fff}.chat-bubble code{background:#ffffff1a;padding:2px 6px;border-radius:4px;font-size:.8rem}.typing-indicator{display:flex;align-items:center;gap:5px;padding:12px 18px;align-self:flex-start}.typing-dot{width:7px;height:7px;border-radius:50%;background:#6b7280;animation:typingDot 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.chat-input-area{padding:12px;border-top:1px solid #1F2937;display:flex;gap:8px;background:#0f172a}.chat-input{flex:1;background:#1f2937;border:1px solid #374151;border-radius:10px;padding:10px 16px;color:#fff;font-family:Inter,sans-serif;font-size:.88rem;outline:none;transition:border-color .2s}.chat-input:focus{border-color:#4f46e580}.chat-input::placeholder{color:#6b7280}.chat-send-btn{background:var(--accent-color);border:none;border-radius:10px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth);flex-shrink:0}.chat-send-btn:hover{background:var(--accent-hover);transform:scale(1.05)}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.normal-chip{background:var(--bg-body);padding:6px 14px;border-radius:20px;font-size:.8rem;border:1px solid var(--border-color);transition:var(--transition-fast);color:var(--text-secondary)}.normal-chip:hover{background:#eef2ff;border-color:#c7d2fe}.normal-chip strong{color:var(--status-normal)}.footer{text-align:center;padding:36px 24px;margin-top:60px;border-top:1px solid var(--border-color)}.footer p{font-size:.8rem;color:var(--text-muted)}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}.biomarker-header{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.upload-hero h1{font-size:2rem}.steps-grid,.stats-row{grid-template-columns:1fr}.trust-badges,.feature-badges{flex-direction:column;align-items:center}.biomarker-header{grid-template-columns:1fr;gap:12px}}
