@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:rgba(17,24,39,0.8);--bg-glass:rgba(255,255,255,0.03);--border-glass:rgba(255,255,255,0.08);--border-hover:rgba(255,255,255,0.15);--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-teal:#14b8a6;--accent-teal-glow:rgba(20,184,166,0.15);--accent-purple:#a78bfa;--accent-purple-glow:rgba(167,139,250,0.15);--accent-blue:#38bdf8;--accent-amber:#fbbf24;--accent-rose:#fb7185;--risk-low:#34d399;--risk-low-bg:rgba(52,211,153,0.12);--risk-medium:#fbbf24;--risk-medium-bg:rgba(251,191,36,0.12);--risk-high:#fb7185;--risk-high-bg:rgba(251,113,133,0.12);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-glow-teal:0 0 30px rgba(20,184,166,0.1);--shadow-glow-purple:0 0 30px rgba(167,139,250,0.1);--shadow-card:0 4px 24px rgba(0,0,0,0.3)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{max-width:1320px;margin:0 auto;padding:24px 28px}.header{justify-content:space-between;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border-glass)}.header,.header-left{display:flex;align-items:center}.header-left{gap:16px}.header-icon{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-teal),var(--accent-purple));display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:var(--shadow-glow-teal)}.header h1{font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--accent-teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.header p{color:var(--text-muted);font-size:13px;margin-top:2px}.status-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-full);background:var(--bg-glass);border:1px solid var(--border-glass);font-size:13px;color:var(--text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--risk-low);animation:pulse-dot 2s ease-in-out infinite}.status-dot.error{background:var(--risk-high)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:border-color .3s ease,box-shadow .3s ease}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card)}.card-header{justify-content:space-between;margin-bottom:20px}.card-header,.card-title{display:flex;align-items:center}.card-title{font-size:15px;font-weight:600;color:var(--text-primary);gap:8px}.card-title .icon{font-size:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:20px;transition:all .3s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-md) var(--radius-md) 0 0}.stat-card.teal:before{background:linear-gradient(90deg,var(--accent-teal),transparent)}.stat-card.purple:before{background:linear-gradient(90deg,var(--accent-purple),transparent)}.stat-card.amber:before{background:linear-gradient(90deg,var(--accent-amber),transparent)}.stat-card.rose:before{background:linear-gradient(90deg,var(--accent-rose),transparent)}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.stat-card.active-filter{transform:translateY(-3px);box-shadow:var(--shadow-card)}.stat-card.active-filter.teal{border-color:var(--accent-teal);box-shadow:0 0 20px rgba(20,184,166,.2)}.stat-card.active-filter.rose{border-color:var(--accent-rose);box-shadow:0 0 20px rgba(251,113,133,.2)}.stat-card.active-filter.amber{border-color:var(--accent-amber);box-shadow:0 0 20px rgba(251,191,36,.2)}.stat-card.active-filter.purple{border-color:var(--accent-purple);box-shadow:0 0 20px rgba(167,139,250,.2)}.stat-label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.stat-value{font-size:28px;font-weight:700;letter-spacing:-.02em}.stat-value.teal{color:var(--accent-teal)}.stat-value.purple{color:var(--accent-purple)}.stat-value.amber{color:var(--accent-amber)}.stat-value.rose{color:var(--accent-rose)}.main-grid{display:grid;grid-template-columns:380px 1fr;grid-gap:24px;gap:24px;margin-bottom:24px}.search-section{display:flex;flex-direction:column;gap:20px}.search-input-wrapper{position:relative}.search-input{width:100%;padding:14px 16px 14px 44px;background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:Inter,sans-serif;outline:none;transition:all .3s ease}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--accent-teal);box-shadow:0 0 0 3px var(--accent-teal-glow)}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--text-muted)}.patient-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.patient-list::-webkit-scrollbar{width:5px}.patient-list::-webkit-scrollbar-track{background:transparent}.patient-list::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:10px}.patient-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.patient-item.active,.patient-item:hover{border-color:var(--accent-teal);background:var(--accent-teal-glow)}.patient-item-info{display:flex;flex-direction:column;gap:2px}.patient-item-name{font-size:14px;font-weight:500}.patient-item-id{font-size:11px;color:var(--text-muted);font-family:Courier New,monospace}.risk-badge{padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.risk-badge.low{background:var(--risk-low-bg);color:var(--risk-low)}.risk-badge.medium{background:var(--risk-medium-bg);color:var(--risk-medium)}.risk-badge.high{background:var(--risk-high-bg);color:var(--risk-high)}.gauge-section{display:flex;flex-direction:column;align-items:center;gap:24px}.gauge-container{position:relative;display:flex;align-items:flex-end;justify-content:center}.gauge-container,.gauge-svg{width:220px;height:130px}.gauge-track{stroke:var(--bg-glass)}.gauge-fill,.gauge-track{fill:none;stroke-width:12;stroke-linecap:round}.gauge-fill{transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1),stroke .5s ease;filter:drop-shadow(0 0 8px currentColor)}.gauge-value{position:absolute;bottom:4px;text-align:center}.gauge-value .number{font-size:42px;font-weight:800;letter-spacing:-.03em;line-height:1}.gauge-value .percent{font-size:18px;font-weight:500;color:var(--text-muted)}.gauge-label{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-weight:500}.risk-display{text-align:center;padding:16px 28px;border-radius:var(--radius-md);font-size:18px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.risk-display.low{background:var(--risk-low-bg);color:var(--risk-low);border:1px solid rgba(52,211,153,.2)}.risk-display.medium{background:var(--risk-medium-bg);color:var(--risk-medium);border:1px solid rgba(251,191,36,.2)}.risk-display.high{background:var(--risk-high-bg);color:var(--risk-high);border:1px solid rgba(251,113,133,.2)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.feature-item{background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-sm);padding:14px;transition:all .2s ease}.feature-item:hover{border-color:var(--border-hover)}.feature-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.feature-value{font-size:20px;font-weight:700;color:var(--accent-teal)}.chart-section{margin-bottom:24px}.chart-container{height:300px;width:100%}.patients-table{width:100%;border-collapse:collapse}.patients-table th{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-glass)}.patients-table td{padding:12px 16px;font-size:13px;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.03)}.patients-table tr{transition:background .2s ease;cursor:pointer}.patients-table tbody tr:hover{background:var(--accent-teal-glow)}.prob-bar{display:flex;align-items:center;gap:10px}.prob-bar-track{flex:1 1;height:6px;background:var(--bg-glass);overflow:hidden}.prob-bar-fill,.prob-bar-track{border-radius:var(--radius-full)}.prob-bar-fill{height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.prob-bar-value{font-size:13px;font-weight:600;min-width:40px;text-align:right}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:16px}.spinner{width:36px;height:36px;border:3px solid var(--border-glass);border-top-color:var(--accent-teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{color:var(--text-muted);font-size:13px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:12px}.empty-state .icon{font-size:48px;opacity:.3}.empty-state .title{font-size:16px;font-weight:600;color:var(--text-secondary)}.empty-state .subtitle{font-size:13px;color:var(--text-muted);max-width:300px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .5s ease forwards}.fade-in-delay-1{animation-delay:.1s;opacity:0}.fade-in-delay-2{animation-delay:.2s;opacity:0}.fade-in-delay-3{animation-delay:.3s;opacity:0}.fade-in-delay-4{animation-delay:.4s;opacity:0}@media (max-width:1024px){.main-grid{grid-template-columns:1fr}.features-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.app-container{padding:16px}.features-grid,.stats-grid{grid-template-columns:1fr}.header{flex-direction:column;gap:16px;align-items:flex-start}}