:root{--bg-color: #080b12;--surface-color: #0f1420;--surface-secondary: #151c2c;--accent-color: #3b82f6;--high-risk: #dc2626;--medium-risk: #334155;--low-risk: #0369a1;--neutral-color: #6b7280;--text-main: #f3f4f6;--text-muted: #9ca3af;--border-color: #1f2937;--font-main: "IBM Plex Sans", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background-color:var(--surface-color);border-bottom:1px solid var(--border-color)}.header-left{display:flex;align-items:center;gap:.75rem}.app-title{font-size:1.5rem;font-weight:700;color:var(--text-main)}.header-right{display:flex;align-items:center;gap:1.5rem}.builder-info{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.875rem}.builder-link{color:var(--text-muted);transition:color .2s ease;display:flex;align-items:center}.builder-link:hover{color:var(--text-main)}.clear-data-btn{background:transparent;border:1px solid var(--neutral-color);color:var(--text-muted);padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;font-family:var(--font-main);font-size:.875rem;transition:all .2s ease}.clear-data-btn:hover{background:#6b72801a;color:var(--text-main);border-color:var(--text-main)}.main-content{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.upload-section{display:flex;gap:1.5rem;align-items:stretch}.upload-zone{flex:1;border:2px dashed var(--border-color);border-radius:.75rem;padding:2rem;text-align:center;cursor:pointer;transition:all .2s ease;background-color:var(--surface-color);display:flex;flex-direction:column;align-items:center;justify-content:center}.upload-zone:hover,.upload-zone.drag-active{border-color:var(--accent-color);background-color:#3b82f60d}.upload-icon{color:var(--accent-color);margin-bottom:1rem}.upload-text{font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.upload-subtext{font-size:.875rem;color:var(--text-muted)}.load-sample-btn{background-color:var(--accent-color);color:#fff;border:none;border-radius:.75rem;padding:0 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;gap:.5rem}.load-sample-btn:hover{background-color:#2563eb}.info-banner{background-color:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:var(--accent-color);padding:1rem;border-radius:.5rem;font-size:.875rem;display:flex;align-items:center;gap:.75rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.stat-card{background-color:var(--surface-color);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border-color);position:relative;overflow:hidden}.stat-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.stat-title{color:var(--text-muted);font-size:.875rem;font-weight:500}.stat-icon{color:var(--neutral-color)}.stat-value{font-size:2rem;font-weight:700;color:var(--text-main);display:flex;align-items:baseline;gap:.5rem}.stat-subtext{font-size:.875rem;margin-top:.5rem}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.chart-card{background-color:var(--surface-color);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border-color)}.chart-title{font-size:1.125rem;font-weight:600;margin-bottom:1.5rem}.chart-container{height:300px;width:100%}.table-card{background-color:var(--surface-color);border-radius:.75rem;border:1px solid var(--border-color);overflow:hidden}.table-header-controls{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.table-filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-input{background-color:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-main);padding:.5rem 1rem .5rem 2.5rem;border-radius:.375rem;font-family:var(--font-main);width:250px}.search-container{position:relative}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.filter-group{display:flex;background-color:var(--surface-secondary);border-radius:.375rem;overflow:hidden;border:1px solid var(--border-color)}.filter-btn{background:transparent;border:none;color:var(--text-muted);padding:.5rem 1rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.filter-btn:hover{color:var(--text-main)}.filter-btn.active{background-color:var(--border-color);color:var(--text-main)}.export-btn{background-color:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-main);padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;transition:all .2s}.export-btn:hover{background-color:var(--border-color)}.table-wrapper{width:100%;overflow-x:hidden}table{width:100%;border-collapse:collapse;text-align:left}th{background-color:#151c2c80;padding:8px 12px;font-weight:600;font-size:.875rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th:hover{color:var(--text-main)}td{padding:8px 12px;border-bottom:1px solid var(--border-color);font-size:.875rem;white-space:nowrap}tbody tr{transition:background-color .15s ease}tbody tr:hover{background-color:#ffffff05}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge.high{background-color:#dc262626;border:1px solid rgba(220,38,38,.3);color:var(--high-risk)}.badge.medium{background-color:#33415533;border:1px solid rgba(51,65,85,.4);color:#94a3b8}.badge.low{background-color:#0369a126;border:1px solid rgba(3,105,161,.3);color:var(--low-risk)}.progress-bar-container{width:100px;height:6px;background-color:var(--surface-secondary);border-radius:3px;overflow:hidden;margin-top:.25rem}.progress-bar{height:100%;border-radius:3px}.view-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-main);padding:.375rem .75rem;border-radius:.375rem;cursor:pointer;font-size:.75rem;transition:all .2s}.view-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.view-icon-btn{background:transparent;border:none;color:var(--neutral-color);padding:6px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.view-icon-btn:hover{color:var(--accent-color);background-color:#3b82f61a}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;color:var(--text-muted);font-size:.875rem}.page-controls{display:flex;gap:.5rem}.page-btn{background:var(--surface-secondary);border:1px solid var(--border-color);color:var(--text-main);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;cursor:pointer}.page-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:1rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start}.modal-title-group{display:flex;flex-direction:column;gap:.5rem}.modal-title{font-size:1.5rem;font-weight:700}.health-score-circle{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;border:4px solid}.close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-btn:hover{background-color:var(--surface-secondary);color:var(--text-main)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.metric-box{background-color:var(--surface-secondary);padding:1rem;border-radius:.5rem;border:1px solid var(--border-color)}.metric-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.metric-value{font-size:1.25rem;font-weight:600}.section-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-main);display:flex;align-items:center;gap:.5rem}.risk-factors-list,.recommendations-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.risk-factors-list li,.recommendations-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;padding:.75rem;background-color:var(--surface-secondary);border-radius:.375rem;border-left:3px solid}.modal-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.action-btn{flex:1;padding:.75rem;border-radius:.5rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.btn-primary{background-color:var(--accent-color);color:#fff;border:none}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-main)}.btn-secondary:hover{background-color:var(--surface-secondary)}.footer{border-top:1px solid var(--border-color);padding:1.5rem 2rem;display:flex;justify-content:space-between;color:var(--text-muted);font-size:.875rem}.text-red{color:var(--high-risk)}.text-violet{color:var(--medium-risk)}.text-sky{color:var(--low-risk)}.border-red{border-color:var(--high-risk)}.border-violet{border-color:var(--medium-risk)}.border-sky{border-color:var(--low-risk)}.bg-red{background-color:var(--high-risk)}.bg-violet{background-color:var(--medium-risk)}.bg-sky{background-color:var(--low-risk)}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.upload-section{flex-direction:column}.header,.footer{flex-direction:column;gap:1rem;text-align:center}.metrics-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}}
