*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}:root{--bg: #f1f5f9;--surface: #ffffff;--surface-alt: #f8fafc;--surface-sunken: #eef2f7;--banner-bg: #0f172a;--text: #1e293b;--text-muted: #64748b;--text-faint: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--header-bg: #111827;--header-text: #f1f5f9;--accent: #4f46e5;--accent-hover: #4338ca;--accent-dark: #312e81;--accent-dark-hover: #1e1b4b;--accent-soft-bg: #e0e7ff;--accent-soft-text: #3730a3;--accent-soft-border: #a5b4fc;--cell-link: var(--accent);--success: #16a34a;--success-hover: #15803d;--success-soft-bg: #dcfce7;--success-soft-text: #15803d;--add-bg: #14532d;--add-hover: #052e16;--danger: #dc2626;--danger-hover: #b91c1c;--danger-dark: #7f1d1d;--danger-dark-hover: #450a0a;--danger-soft-bg: #fee2e2;--danger-soft-text: #b91c1c;--warning: #d97706;--warning-hover: #b45309;--neutral: #64748b;--neutral-hover: #475569;--high: #ffcccc;--sl-high: #ffe5cc;--sl-low: #cceeff;--low: #ccddff;--level-track: #d4d9de;--level-track-hover: #aeb6bf;--level-1: #ffd8a8;--level-2: #ffb347;--level-3: #f97316;--level-4: #c2410c;--modal-overlay: rgba(15, 23, 42, .6);--scrollbar-thumb: #cbd5e1;--scrollbar-thumb-hover: #94a3b8;--scrollbar-track: transparent;--hover-popover-bg: var(--surface);--hover-popover-text: var(--text);--hover-popover-border: var(--border);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--shadow-md: 0 4px 12px rgba(15, 23, 42, .1);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .2);--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0b1120;--surface: #161f32;--surface-alt: #1e293b;--surface-sunken: #0f172a;--banner-bg: #05070d;--text: #e2e8f0;--text-muted: #94a3b8;--text-faint: #64748b;--border: #2d3b52;--border-strong: #3e4f6b;--header-bg: #0a0f1c;--header-text: #f1f5f9;--accent: #818cf8;--accent-hover: #a5b4fc;--accent-dark: #4338ca;--accent-dark-hover: #312e81;--accent-soft-bg: #312e5c;--accent-soft-text: #c7d2fe;--accent-soft-border: #4c4a8f;--cell-link: var(--text);--success: #4ade80;--success-hover: #86efac;--success-soft-bg: #14532d;--success-soft-text: #86efac;--add-bg: #166534;--add-hover: #0d3b1f;--danger: #f87171;--danger-hover: #fca5a5;--danger-dark: #b91c1c;--danger-dark-hover: #991b1b;--danger-soft-bg: #450a0a;--danger-soft-text: #fca5a5;--warning: #fbbf24;--warning-hover: #fcd34d;--neutral: #64748b;--neutral-hover: #94a3b8;--high: #b91c1c;--sl-high: #d97706;--sl-low: #0369a1;--low: #1d4ed8;--level-track: #334155;--level-track-hover: #475569;--modal-overlay: rgba(0, 0, 0, .7);--scrollbar-thumb: #334155;--scrollbar-thumb-hover: #475569;--scrollbar-track: transparent;--hover-popover-bg: #e5e7eb;--hover-popover-text: #111827;--hover-popover-border: #9ca3af;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 45px rgba(0, 0, 0, .55)}}:root[data-theme=dark]{--bg: #0b1120;--surface: #161f32;--surface-alt: #1e293b;--surface-sunken: #0f172a;--banner-bg: #05070d;--text: #e2e8f0;--text-muted: #94a3b8;--text-faint: #64748b;--border: #2d3b52;--border-strong: #3e4f6b;--header-bg: #0a0f1c;--header-text: #f1f5f9;--accent: #818cf8;--accent-hover: #a5b4fc;--accent-dark: #4338ca;--accent-dark-hover: #312e81;--accent-soft-bg: #312e5c;--accent-soft-text: #c7d2fe;--accent-soft-border: #4c4a8f;--cell-link: var(--text);--success: #4ade80;--success-hover: #86efac;--success-soft-bg: #14532d;--success-soft-text: #86efac;--add-bg: #166534;--add-hover: #0d3b1f;--danger: #f87171;--danger-hover: #fca5a5;--danger-dark: #b91c1c;--danger-dark-hover: #991b1b;--danger-soft-bg: #450a0a;--danger-soft-text: #fca5a5;--warning: #fbbf24;--warning-hover: #fcd34d;--neutral: #64748b;--neutral-hover: #94a3b8;--high: #b91c1c;--sl-high: #d97706;--sl-low: #0369a1;--low: #1d4ed8;--level-track: #334155;--level-track-hover: #475569;--modal-overlay: rgba(0, 0, 0, .7);--scrollbar-thumb: #334155;--scrollbar-thumb-hover: #475569;--scrollbar-track: transparent;--hover-popover-bg: #e5e7eb;--hover-popover-text: #111827;--hover-popover-border: #9ca3af;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 45px rgba(0, 0, 0, .55)}html,body{height:100%;overflow:hidden}body{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font);font-size:14px;line-height:1.5;background:var(--bg);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid transparent;border-radius:999px;min-height:48px}*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-corner{background:transparent}header{position:sticky;top:0;z-index:100;background:var(--header-bg);color:var(--header-text);display:flex;align-items:center;gap:12px;padding:10px 16px;box-shadow:var(--shadow-md);flex-shrink:0}header h1{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;flex:0 0 auto}.app-logo{width:24px;height:24px;border-radius:var(--radius-sm);flex:0 0 auto}#pageNav{display:flex;align-items:center;justify-content:center;gap:4px;flex:1 1 auto;min-width:260px;overflow-x:auto}.page-btn{border:none;border-radius:var(--radius-sm);background:transparent;color:#ffffffb8;cursor:pointer;flex:0 0 auto;font-family:var(--font);font-size:13px;font-weight:700;padding:7px 10px;transition:background-color .15s ease,color .15s ease}.page-btn:hover{background:#ffffff1a;color:#fff}.page-btn.active{background:#ffffff2e;color:#fff}#globalSearchWrap{display:flex;align-items:center;gap:8px;flex:0 1 420px;min-width:180px}#globalSearchWrap label{font-size:11px;font-weight:700;color:#ffffffc7}#globalSearch{flex:1 1 auto;min-width:0;width:100%;border:1px solid rgba(255,255,255,.24);border-radius:var(--radius-sm);padding:7px 10px;font-family:var(--font);font-size:14px;color:var(--text);background:var(--surface);transition:box-shadow .15s ease,border-color .15s ease}#globalSearch:focus{outline:none;border-color:#9bd2f5;box-shadow:0 0 0 3px #9bd2f547}#btnAdd,#btnAddSymptom,#btnAddLabResult,#btnAddTreatment,#btnAddTestResult,#btnAddDiagnosis,#btnSettings{padding:7px 14px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;transition:background-color .15s ease,transform .1s ease}#btnAdd,#btnAddSymptom,#btnAddLabResult,#btnAddTreatment,#btnAddTestResult,#btnAddDiagnosis{background:var(--add-bg);color:#fff}#btnAdd:hover,#btnAddSymptom:hover,#btnAddLabResult:hover,#btnAddTreatment:hover,#btnAddTestResult:hover,#btnAddDiagnosis:hover{background:var(--add-hover)}#btnAdd:active,#btnAddSymptom:active,#btnAddLabResult:active,#btnAddTreatment:active,#btnAddTestResult:active,#btnAddDiagnosis:active{transform:scale(.97)}#btnSettings{background:#ffffff1f;color:#fff}#btnSettings:hover{background:#fff3}.btn-download-table{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;padding:0;border:none;border-radius:var(--radius-sm);cursor:pointer;background:var(--neutral);color:#fff;transition:background-color .15s ease}.btn-download-table:hover{background:var(--neutral-hover)}.btn-download-table:before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a1 1 0 0 1 1 1v8.59l2.3-2.3a1 1 0 1 1 1.4 1.42l-4 4a1 1 0 0 1-1.4 0l-4-4a1 1 0 1 1 1.4-1.42l2.3 2.3V4a1 1 0 0 1 1-1ZM5 18a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a1 1 0 0 1 1 1v8.59l2.3-2.3a1 1 0 1 1 1.4 1.42l-4 4a1 1 0 0 1-1.4 0l-4-4a1 1 0 1 1 1.4-1.42l2.3 2.3V4a1 1 0 0 1 1-1ZM5 18a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Z'/%3E%3C/svg%3E") center / contain no-repeat}.download-format-menu{position:fixed;z-index:500;display:grid;gap:4px;min-width:138px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-lg)}.download-format-menu button{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:12px;font-weight:600;padding:7px 9px;text-align:left}.download-format-menu button:hover,.download-format-menu button:focus-visible{background:var(--surface-alt);outline:none}.btn-toolbar-settings{padding:7px 14px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;background:var(--neutral);color:#fff;white-space:nowrap;transition:background-color .15s ease}.btn-toolbar-settings:hover{background:var(--neutral-hover)}#fileBanner{background:var(--banner-bg);color:#ecf0f1;padding:14px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}#fileBanner>p{font-size:13px;flex:1;min-width:200px}#fileBanner button{padding:7px 14px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;transition:background-color .15s ease}body[data-locked]>*:not(#fileBanner){display:none!important}body[data-locked] #fileBanner{max-width:420px;margin:15vh auto;flex-direction:column;align-items:stretch;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:24px}body[data-locked] #fileBanner>p{text-align:center;margin-bottom:4px;line-height:1.5}#btnConnectDrive{background:var(--add-bg);color:#fff}#btnConnectDrive:hover{background:var(--add-hover)}#btnPickFile{background:var(--add-bg);color:#fff}#btnPickFile:hover{background:var(--add-hover)}#btnConnectDrive:not([hidden])~#btnPickFile,#btnConnectDrive:not([hidden])~#btnNewFile{background:transparent;color:#ecf0f1;border:1px solid rgba(255,255,255,.25)!important}#btnConnectDrive:not([hidden])~#btnPickFile:hover,#btnConnectDrive:not([hidden])~#btnNewFile:hover{border-color:#ffffff8c!important}#btnNewFile{background:var(--accent-dark);color:#fff}#btnNewFile:hover{background:var(--accent-dark-hover)}#btnReconnect{padding:7px 14px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;background:var(--warning);color:#fff;transition:background-color .15s ease}#btnReconnect:hover{background:var(--warning-hover)}.install-help{width:100%;padding-top:16px;border-top:1px solid rgba(255,255,255,.18)}.install-help h2{font-size:14px;margin-bottom:5px}.install-help p{font-size:12px;line-height:1.45;color:#ecf0f1d1}.install-help button{margin-top:10px;background:var(--accent);color:#fff}.install-help button:hover{background:var(--accent-hover)}.install-help details{margin-top:12px}.install-help summary{cursor:pointer;font-size:12px;color:#c7d2fe}.install-help details p{margin-top:7px}.install-help .install-status{margin-top:8px;color:#bbf7d0}#filterWrap,#filterWrap2{position:relative}#btnFilter2{padding:7px 14px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;background:var(--neutral);color:#fff;white-space:nowrap;transition:background-color .15s ease}#btnFilter2:hover{background:var(--neutral-hover)}#btnFilter2.active{background:var(--accent-dark)}#btnFilter{padding:7px 14px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;background:var(--neutral);color:#fff;white-space:nowrap;transition:background-color .15s ease}#btnFilter:hover{background:var(--neutral-hover)}#btnFilter.active{background:var(--accent-dark)}#filterPanel{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:150;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:10px 14px;min-width:360px;max-width:calc(100vw - 32px)}#filterPanel.open{display:block}#filterPanel h4{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.filter-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-item:hover{color:var(--accent)}.filter-item input[type=checkbox]{cursor:pointer;accent-color:var(--accent)}#filterDivider{border:none;border-top:1px solid var(--border);margin:8px 0 6px}#filterActive{font-size:11px;color:#fff;background:var(--accent);border-radius:10px;padding:1px 6px;margin-left:4px;display:none}.tag-filter-wrap{position:relative}.btn-tag-filter{padding:7px 14px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;background:var(--neutral);color:#fff;white-space:nowrap;transition:background-color .15s ease}.btn-tag-filter:hover{background:var(--neutral-hover)}.btn-tag-filter.active{background:var(--accent-dark)}.tag-filter-panel{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:150;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:10px 14px;min-width:320px;max-width:calc(100vw - 32px);max-height:260px;overflow-y:auto}.tag-filter-panel.open{display:block}.tag-filter-panel h4{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.tag-filter-active{font-size:11px;color:#fff;background:var(--accent);border-radius:10px;padding:1px 6px;margin-left:4px;display:none}.btn-tag-filter-clear{background:none;border:none;cursor:pointer;font-size:11px;color:var(--warning);text-decoration:underline;padding:0}.filter-choice{display:grid;grid-template-columns:minmax(110px,1fr) auto;align-items:center;gap:10px;padding:5px 0}.filter-choice-name{min-width:0;color:var(--text);font-size:12px;overflow:hidden;text-overflow:ellipsis}.filter-mode-group{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-sunken)}.filter-mode-btn{border:none;border-right:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:700;min-width:58px;padding:4px 7px;transition:background-color .15s ease}.filter-mode-btn:last-child{border-right:none}.filter-mode-btn:hover{background:var(--surface-alt)}.filter-mode-btn.include[aria-pressed=true]{background:var(--success-soft-bg);color:var(--success-soft-text)}.filter-mode-btn.exclude[aria-pressed=true]{background:var(--danger-soft-bg);color:var(--danger-soft-text)}#tabNav{display:flex;background:var(--surface);padding:0 16px;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-shrink:0}.tab-btn{background:none;border:none;border-bottom:3px solid transparent;color:var(--text-muted);cursor:pointer;flex:0 0 auto;white-space:nowrap;font-family:var(--font);font-size:13px;font-weight:600;padding:10px 16px;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-panel{display:none;min-height:0}.tab-panel.active{display:block;flex:1 1 auto;min-height:0;overflow:auto}#tab-data.tab-panel.active,#tab-symptoms.tab-panel.active,#tab-labs.tab-panel.active,#tab-treatments.tab-panel.active,#tab-tests.tab-panel.active,#tab-diagnoses.tab-panel.active,#tab-notes.tab-panel.active{display:flex;flex-direction:column;overflow:hidden}#tab-charts{color:var(--text-muted)}#tab-notes{padding:16px;gap:6px}#tab-search{padding:16px}#notesArea{flex:1 1 auto;min-height:0;width:100%;resize:none;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;font-family:var(--font);font-size:14px;line-height:1.6;color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm)}#notesArea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4f46e526}#notesArea.search-mismatch{border-color:var(--warning);background:var(--surface-alt)}#notesCharCount{flex:0 0 auto;font-size:11px;color:var(--text-faint);text-align:right}#searchResults{max-width:980px;margin:0 auto}.search-results-heading{font-size:18px;color:var(--text);margin-bottom:4px}.search-results-count{color:var(--text-muted);font-size:12px;margin-bottom:16px}.search-results-empty{color:var(--text-muted);font-size:14px;padding:24px 0}.search-results-section{margin-bottom:20px}.search-results-group{color:var(--text);font-size:13px;margin-bottom:8px}.search-results-list{display:grid;gap:8px}.search-result-item{display:grid;gap:4px;width:100%;border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;background:var(--surface);color:var(--text);cursor:pointer;font-family:var(--font);text-align:left;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease}.search-result-item:hover,.search-result-item:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4f46e526}.search-result-title{font-size:13px;font-weight:700;color:var(--text)}.search-result-detail{overflow:hidden;color:var(--text-muted);font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}#tableWrap,#symptomTableWrap,#labTableWrap,#treatmentTableWrap,#testTableWrap,#diagnosisTableWrap{flex:1 1 auto;min-height:0;overflow:auto;max-width:calc(100vw - 32px);margin:16px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:var(--bg);position:relative}table{border-collapse:collapse;table-layout:fixed;white-space:nowrap;width:100%;min-width:0;max-width:100%}th,td{border:1px solid var(--border);padding:6px 8px;text-align:center;overflow:hidden;text-overflow:ellipsis;background:var(--surface)}#bpTable thead tr:first-child th,#symptomTable thead th,#labTable thead th,#treatmentTable thead th,#testTable thead th,#diagnosisTable thead th{background:var(--header-bg);color:var(--header-text);font-size:12px;letter-spacing:.5px}#bpTable thead th,#symptomTable thead th,#labTable thead th,#treatmentTable thead th,#testTable thead th,#diagnosisTable thead th{position:sticky;top:0;z-index:3}#bpTable thead tr:first-child th{z-index:4}#bpTable thead tr:last-child th{top:27px}.table-sort-btn{width:100%;border:none;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:700;letter-spacing:inherit;padding:0}.table-sort-btn:after{content:"";display:inline-block;width:12px;margin-left:4px}.table-sort-btn.active[data-direction=asc]:after{content:"▲"}.table-sort-btn.active[data-direction=desc]:after{content:"▼"}.table-sort-btn:hover{text-decoration:underline}#bpTable thead tr:first-child th.pos-header{background:#263449}#bpTable thead tr:first-child th.actions-header{background:transparent;border-color:transparent;color:transparent}#bpTable thead tr:last-child th{background:var(--header-bg);color:var(--header-text);font-size:11px;font-weight:700}#bpTable tbody tr:hover td:not(.cell-high):not(.cell-sl-high):not(.cell-sl-low):not(.cell-low),#symptomTable tbody tr:hover td,#labTable tbody tr:hover td,#treatmentTable tbody tr:hover td,#testTable tbody tr:hover td,#diagnosisTable tbody tr:hover td{background:var(--surface-alt)}.summary-table tbody tr{pointer-events:none}.cell-high{background:var(--high)!important}.cell-sl-high{background:var(--sl-high)!important}.cell-sl-low{background:var(--sl-low)!important}.cell-low{background:var(--low)!important}.standing-delta-cell{text-decoration:underline;text-underline-offset:2px;cursor:pointer}.actions{display:flex;gap:6px;justify-content:center}.actions button{padding:3px 8px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;font-weight:600;transition:background-color .15s ease}.actions .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:24px;padding:0}.actions .btn-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-edit{background:var(--neutral);color:#fff}.btn-edit:hover{background:var(--neutral-hover)}.btn-del{background:var(--danger-dark);color:#fff}.btn-del:hover{background:var(--danger-dark-hover)}#emptyState,#symptomEmptyState,#labEmptyState,#treatmentEmptyState,#testEmptyState,#diagnosisEmptyState{display:none;text-align:center;padding:60px 20px;color:var(--text-muted);font-size:15px}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);z-index:200;align-items:center;justify-content:center;padding:16px}.modal-overlay.open{display:flex}.modal{background:var(--surface);border-radius:var(--radius-lg);padding:24px;max-height:calc(100vh - 32px);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain;width:90%;max-width:640px;box-shadow:var(--shadow-lg)}.modal h2{margin-bottom:16px;font-size:16px;color:var(--text)}.modal-tab-list{display:flex;gap:6px;margin:0 0 16px;border-bottom:1px solid var(--border)}.modal-tab-btn{border:none;border-bottom:3px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:12px;font-weight:700;padding:8px 10px;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.modal-tab-btn:hover{color:var(--text)}.modal-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.modal-tab-panel{display:none}.modal-tab-panel.active{display:block}.entry-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px}.pos-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.entry-notes-field{margin-top:12px}.entry-notes-field textarea{min-height:72px}.pos-section{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px}.pos-section h3{font-size:13px;font-weight:700;margin-bottom:10px;color:var(--text);text-align:center}.field-group{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.field-group label{font-size:11px;font-weight:600;color:var(--text-muted)}.field-group input{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);width:100%;background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4f46e526}#fTime,#symptomLogTime{width:11ch}.pos-section .field-group input[type=number]{width:60px}.field-group textarea{padding:7px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);width:100%;min-height:96px;resize:vertical;background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.modal-actions{position:sticky;bottom:-24px;z-index:2;display:flex;gap:10px;justify-content:flex-end;margin:20px -24px -24px;padding:12px 24px 16px;background:var(--surface);border-top:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.modal-actions button{padding:9px 20px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;transition:background-color .15s ease,transform .1s ease}.modal-actions button:active{transform:scale(.97)}.btn-save{background:var(--add-bg);color:#fff}.btn-save:hover{background:var(--add-hover)}.btn-cancel{background:var(--neutral);color:#fff}.btn-cancel:hover{background:var(--neutral-hover)}#settingsModal .modal{max-width:460px}#vitalsSettingsModal .modal{max-width:860px}.threshold-heading-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.threshold-heading-row h2{margin-bottom:0}.info-tooltip-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface-sunken);color:var(--text-muted);cursor:help;font-size:12px;font-weight:700;line-height:1}.info-tooltip-btn:focus-visible{outline:2px solid rgba(79,70,229,.35);outline-offset:2px}.theme-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.theme-setting label{font-size:12px;font-weight:600;color:var(--text)}.theme-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-sunken)}.theme-toggle-btn{border:none;border-right:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:700;min-width:64px;padding:6px 12px;transition:background-color .15s ease,color .15s ease}.theme-toggle-btn:last-child{border-right:none}.theme-toggle-btn:hover{background:var(--surface-alt)}.theme-toggle-btn[aria-pressed=true]{background:var(--accent-soft-bg);color:var(--accent-soft-text)}.settings-grid{display:grid;grid-template-columns:minmax(180px,1.25fr) repeat(4,minmax(92px,1fr));gap:8px;align-items:center;overflow-x:auto;padding-bottom:4px}.settings-grid .col-header{font-size:11px;font-weight:700;color:var(--text);text-align:center;padding:4px}.settings-grid .row-label{position:relative;display:inline-flex;align-items:center;gap:6px;overflow:visible;font-size:12px;font-weight:600;color:var(--text)}.settings-grid input[type=number]{padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;width:100%;text-align:center;background:var(--surface);color:var(--text)}.settings-divider{grid-column:1/-1;border:none;border-top:1px solid var(--border);margin:4px 0}.btn-reset{background:var(--warning);color:#fff}.btn-reset:hover{background:var(--warning-hover)}input.invalid{border-color:var(--danger)!important;background:var(--danger-soft-bg)!important}.cell-text-link{color:var(--cell-link);text-decoration:underline;cursor:pointer;font-weight:400;background:none;border:none;padding:0;font-size:inherit;font-family:inherit}.cell-text-link:hover{color:var(--accent-hover)}#popover{display:none;position:fixed;z-index:1000;background:var(--hover-popover-bg);border:1px solid var(--hover-popover-border);border-radius:var(--radius-md);padding:10px 14px;max-width:280px;white-space:pre-wrap;word-break:break-word;box-shadow:var(--shadow-lg);font-size:12px;line-height:1.5;color:var(--hover-popover-text)}.legend{display:flex;gap:14px;margin:0 16px 8px;flex-wrap:wrap}.vitals-legend{flex:1;margin:0 0 0 28px}.legend-item{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--text-muted)}.legend-swatch{width:14px;height:14px;border-radius:var(--radius-sm);border:2px solid var(--border-strong)}.symptoms-toolbar{margin:14px 16px 4px;display:flex;align-items:center;gap:10px;justify-content:flex-end}#symptomTable{width:100%}#symptomTable .actions-header{background:transparent;border-color:transparent;color:transparent}.symptom-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;white-space:normal}.symptom-notes-cell{max-width:420px;overflow:hidden;text-overflow:ellipsis;text-align:left}.symptom-severity-cell{vertical-align:middle}.symptom-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkin-symptoms-field{grid-column:1 / -1}.checkin-symptoms-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.checkin-symptoms-heading span{font-size:11px;font-weight:700;color:var(--text-muted)}#btnAddCheckInSymptom{padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-size:12px;font-weight:600;color:var(--text);transition:border-color .15s ease,color .15s ease}#btnAddCheckInSymptom:hover{border-color:var(--accent);color:var(--accent)}.checkin-symptom-row{display:grid;grid-template-columns:minmax(150px,1fr) 126px minmax(180px,1.4fr) 28px;gap:10px;align-items:start;padding:10px 0;border-top:1px solid var(--border)}.checkin-symptom-row:first-child{border-top:none;padding-top:0}.field-group select{padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);width:100%;background:var(--surface);color:var(--text)}.checkin-notes{min-height:64px}.checkin-remove-row{align-self:end;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:var(--danger-dark);color:#fff;cursor:pointer;font-size:16px;font-weight:700;line-height:1;transition:background-color .15s ease}.checkin-remove-row:hover{background:var(--danger-dark-hover)}.field-group select.invalid{border-color:var(--danger);background:var(--danger-soft-bg)}.level-rating{display:flex;align-items:center;gap:4px;min-height:32px;padding:2px 4px;border:1px solid transparent;border-radius:var(--radius-sm)}.level-rating.invalid{border-color:var(--danger);background:var(--danger-soft-bg)}.level-rating-btn{border:none;background:var(--level-track);border-radius:2px;cursor:pointer;height:18px;padding:0;width:24px;transition:background-color .15s ease}.level-rating-btn:hover,.level-rating-btn:focus-visible{background:var(--level-track-hover)}.level-rating-btn.selected[data-rating="1"],.level-display-bar.selected.level-1{background:var(--level-1)}.level-rating-btn.selected[data-rating="2"],.level-display-bar.selected.level-2{background:var(--level-2)}.level-rating-btn.selected[data-rating="3"],.level-display-bar.selected.level-3{background:var(--level-3)}.level-rating-btn.selected[data-rating="4"],.level-display-bar.selected.level-4{background:var(--level-4)}.level-rating-btn:focus-visible{outline:2px solid rgba(79,70,229,.4);outline-offset:2px;border-radius:3px}.level-display{display:inline-flex;align-items:center;gap:4px}.level-display-bar{display:inline-block;width:22px;height:10px;border-radius:2px;background:var(--level-track)}.labs-toolbar{margin:14px 16px 4px;display:flex;align-items:center;gap:10px}#btnLabConfig{margin-left:auto}#btnLabConfig,#btnTestConfig{padding:7px 14px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;background:var(--neutral);color:#fff;transition:background-color .15s ease}#btnLabConfig:hover,#btnTestConfig:hover{background:var(--neutral-hover)}#labTable{width:100%}#labTable .actions-header{background:transparent;border-color:transparent;color:transparent}.lab-notes-cell{max-width:420px;overflow:hidden;text-overflow:ellipsis;text-align:left}.lab-result-date-row{display:grid;grid-template-columns:130px 1fr;gap:12px}.lab-results-field{grid-column:1 / -1}.lab-results-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.lab-results-heading span{font-size:11px;font-weight:700;color:var(--text-muted)}.lab-results-footer{display:flex;justify-content:flex-start;margin-top:8px}#btnAddLabResultRow{padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-size:12px;font-weight:600;color:var(--text);transition:border-color .15s ease,color .15s ease}#btnAddLabResultRow:hover{border-color:var(--accent);color:var(--accent)}.lab-result-row{display:grid;grid-template-columns:minmax(170px,1fr) 82px 82px 82px minmax(180px,1.2fr) 28px;gap:10px;align-items:start;padding:10px 0;border-top:1px solid var(--border)}.lab-result-row:first-child{border-top:none;padding-top:0}.lab-result-notes{min-height:58px}.lab-result-remove{align-self:end;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:var(--danger-dark);color:#fff;cursor:pointer;font-size:16px;font-weight:700;line-height:1;transition:background-color .15s ease}.lab-result-remove:hover{background:var(--danger-dark-hover)}#labResultModal .modal{max-width:900px}#labConfigModal .modal{max-width:760px}.treatments-toolbar{margin:14px 16px 4px;display:flex;align-items:center;justify-content:flex-end;gap:10px}#treatmentTable{width:100%}#treatmentTable .actions-header{background:transparent;border-color:transparent;color:transparent}.treatment-text-cell{max-width:740px;overflow:hidden;text-align:left;text-overflow:ellipsis}.treatment-form-grid{display:grid;grid-template-columns:130px minmax(180px,1fr);gap:12px}.treatment-notes-field{grid-column:1 / -1}.tests-toolbar{margin:14px 16px 4px;display:flex;align-items:center;justify-content:flex-end;gap:10px}#testTable{width:100%}#testTable .actions-header{background:transparent;border-color:transparent;color:transparent}.test-results-cell{max-width:560px;overflow:hidden;text-overflow:ellipsis;text-align:left}.test-result-form-grid{display:grid;grid-template-columns:130px minmax(180px,1fr);gap:12px}.test-results-field{grid-column:1 / -1}.test-results-field textarea{min-height:120px}.diagnoses-toolbar{margin:14px 16px 4px;display:flex;align-items:center;gap:10px;justify-content:flex-end}#diagnosisTable{width:100%}#diagnosisTable .actions-header{background:transparent;border-color:transparent;color:transparent}.diagnosis-name-cell,.diagnosis-frequency-cell,.diagnosis-text-cell{overflow:hidden;text-overflow:ellipsis;text-align:left}.diagnosis-name-cell{max-width:240px}.diagnosis-frequency-cell{max-width:140px}.diagnosis-text-cell{max-width:360px}.diagnosis-form-grid{display:grid;grid-template-columns:1fr;gap:12px}.diagnosis-symptoms-field{grid-column:1 / -1}.diagnosis-form-grid textarea{min-height:86px}.tag-input-wrap{position:relative;display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-height:32px;padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:text}.tag-input-wrap:focus-within{border-color:var(--accent)}.tag-input-wrap.invalid{border-color:var(--danger);background:var(--danger-soft-bg)}.tag{display:inline-flex;align-items:center;gap:3px;background:var(--accent-soft-bg);color:var(--accent-soft-text);border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600;white-space:nowrap}.tag-remove{background:none;border:none;cursor:pointer;color:var(--accent-soft-text);font-size:13px;line-height:1;padding:0;font-weight:700}.tag-remove:hover{color:var(--accent-hover)}.tag-label-editable{cursor:pointer}.tag-label-editable:hover{text-decoration:underline}.tag-edit-input{width:90px;border:1px solid var(--accent-soft-border);border-radius:var(--radius-sm);padding:1px 5px;font-size:11px;font-family:var(--font);color:var(--accent-soft-text);background:var(--surface);outline:none}.tag-text-input{border:none;outline:none;font-size:12px;font-family:var(--font);min-width:80px;flex:1;padding:2px 0;background:transparent;color:var(--text)}.tag-suggestions{position:absolute;top:100%;left:0;right:0;z-index:300;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);max-height:140px;overflow-y:auto;box-shadow:var(--shadow-md)}.tag-suggestion{padding:5px 10px;font-size:12px;cursor:pointer;color:var(--text)}.tag-suggestion:hover,.tag-suggestion.active{background:var(--accent-soft-bg);color:var(--accent-soft-text)}.tag-manage-section{margin-top:20px;border-top:1px solid var(--border);padding-top:16px}.tag-manage-section h2{margin-bottom:16px}.tag-manage-group{margin-bottom:14px}.tag-manage-group h4{font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.tag-manage-list{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.tag-manage-empty{font-size:11px;color:var(--text-faint);font-style:italic}.tag-manage-item{display:inline-flex;align-items:center;gap:4px;background:var(--accent-soft-bg);color:var(--accent-soft-text);border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600}.tag-manage-item .tag-remove{color:var(--accent-soft-text);font-size:14px}.tag-manage-name{cursor:pointer}.tag-manage-name:hover{text-decoration:underline}.tag-manage-edit-input{font-size:12px;border:1px solid var(--accent-soft-border);border-radius:var(--radius-sm);padding:1px 6px;width:100px;outline:none;background:var(--surface);color:var(--accent-soft-text)}.tag-manage-confirm,.tag-manage-cancel{font-size:13px;background:none;border:none;cursor:pointer;padding:0 2px;line-height:1}.tag-manage-confirm{color:var(--success)}.tag-manage-cancel{color:var(--danger)}.charts-columns{display:flex}.charts-col{flex:1;min-width:0;overflow-x:auto}.charts-col+.charts-col{border-left:1px solid var(--border)}#comparePlaceholder{display:flex;align-items:center;justify-content:center;min-height:200px}#btnCompare{padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;background:var(--surface);border:2px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);transition:border-color .15s ease,color .15s ease}#btnCompare:hover{border-color:var(--accent);color:var(--accent)}#filterWrapCmp{position:relative}#btnFilterCmp{padding:7px 14px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;background:var(--neutral);color:#fff;white-space:nowrap;transition:background-color .15s ease}#btnFilterCmp:hover{background:var(--neutral-hover)}#btnFilterCmp.active{background:var(--accent-dark)}.charts-wrap{padding:8px 16px 16px}.charts-heading{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--text)}.charts-total{font-size:12px;color:var(--text-muted);margin-bottom:10px}.charts-empty{color:var(--text-muted);font-size:13px;margin-top:8px}.summary-table{border-collapse:collapse;font-style:normal}#chartsContent,#compareChartsContent{display:inline-block}.summary-table th{background:var(--header-bg);color:var(--header-text);padding:7px 14px;text-align:left;font-size:12px;font-weight:600;border:1px solid var(--border-strong)}.summary-table th:not(:first-child){text-align:right}.summary-table thead tr:first-child th:first-child{background:transparent;border:none}.summary-table td{padding:6px 14px;border:1px solid var(--border-strong);font-size:13px;color:var(--text);font-style:normal;text-align:left;background:var(--surface)}.summary-table td:not(:first-child){text-align:right}.summary-table tbody tr.row-high td{background:var(--high)}.summary-table tbody tr.row-low td{background:var(--low)}@media (max-width: 768px){header{flex-wrap:wrap}header h1{flex:1 1 auto}#pageNav{flex:1 1 100%;justify-content:flex-start;order:4}#globalSearchWrap{flex:1 1 100%;order:5}#bpTable{min-width:990px}.summary-table{min-width:520px}#tableWrap{-webkit-overflow-scrolling:touch}#bpTable th:first-child,#bpTable td:first-child{position:sticky;left:0;z-index:2;background:var(--surface)}#bpTable thead tr:first-child th:first-child,#bpTable thead tr:last-child th:first-child{z-index:5}#bpTable tbody tr:hover td:first-child{background:var(--surface-alt)}#tableWrap:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;pointer-events:none;background:linear-gradient(to right,transparent,rgba(15,23,42,.1))}#symptomTableWrap,#labTableWrap,#treatmentTableWrap,#testTableWrap,#diagnosisTableWrap{background:transparent;box-shadow:none;margin:12px}#symptomTable,#labTable,#treatmentTable,#testTable,#diagnosisTable,#symptomTable tbody,#labTable tbody,#treatmentTable tbody,#testTable tbody,#diagnosisTable tbody,#symptomTable tr,#labTable tr,#treatmentTable tr,#testTable tr,#diagnosisTable tr,#symptomTable td,#labTable td,#treatmentTable td,#testTable td,#diagnosisTable td{display:block;width:100%;min-width:0;white-space:normal}#symptomTable thead,#labTable thead,#treatmentTable thead,#testTable thead,#diagnosisTable thead{display:none}#symptomTable tbody tr,#labTable tbody tr,#treatmentTable tbody tr,#testTable tbody tr,#diagnosisTable tbody tr{margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:var(--surface);overflow:hidden}#symptomTable tbody tr:hover td,#labTable tbody tr:hover td,#treatmentTable tbody tr:hover td,#testTable tbody tr:hover td,#diagnosisTable tbody tr:hover td{background:var(--surface)}#symptomTable td,#labTable td,#treatmentTable td,#testTable td,#diagnosisTable td{border:none;border-bottom:1px solid var(--border);text-align:left;padding:8px 12px}#symptomTable td:before,#labTable td:before,#treatmentTable td:before,#testTable td:before,#diagnosisTable td:before{content:attr(data-card-label);display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:3px}#symptomTable td:last-child,#labTable td:last-child,#treatmentTable td:last-child,#testTable td:last-child,#diagnosisTable td:last-child{border-bottom:none;background:var(--surface-alt)}#symptomTable td:last-child .actions,#labTable td:last-child .actions,#treatmentTable td:last-child .actions,#testTable td:last-child .actions,#diagnosisTable td:last-child .actions{justify-content:flex-start}.symptom-notes-cell,.lab-notes-cell,.treatment-text-cell,.test-results-cell,.diagnosis-name-cell,.diagnosis-frequency-cell,.diagnosis-text-cell{max-width:none;overflow:visible;text-overflow:clip}#symptomTable td:nth-child(1):before{content:"Date"}#symptomTable td:nth-child(2):before{content:"Time"}#symptomTable td:nth-child(3):before{content:"Symptom"}#symptomTable td:nth-child(4):before{content:"Severity"}#symptomTable td:nth-child(5):before{content:"Notes"}#symptomTable td:nth-child(6):before{content:none}#labTable td:nth-child(1):before{content:"Date"}#labTable td:nth-child(2):before{content:"Lab"}#labTable td:nth-child(3):before{content:"Result"}#labTable td:nth-child(4):before{content:"Low Range"}#labTable td:nth-child(5):before{content:"High Range"}#labTable td:nth-child(6):before{content:"Notes"}#labTable td:nth-child(7):before{content:none}#treatmentTable td:nth-child(1):before{content:"Date"}#treatmentTable td:nth-child(2):before{content:"Frequency"}#treatmentTable td:nth-child(3):before{content:"Treatment"}#treatmentTable td:nth-child(4):before{content:none}#testTable td:nth-child(1):before{content:"Date"}#testTable td:nth-child(2):before{content:"Test Type"}#testTable td:nth-child(3):before{content:"Results"}#testTable td:nth-child(4):before{content:none}#diagnosisTable td:nth-child(1):before{content:"Symptom"}#diagnosisTable td:nth-child(2):before{content:"Frequency"}#diagnosisTable td:nth-child(3):before{content:"Resolved?"}#diagnosisTable td:nth-child(4):before{content:"Diagnosis"}#diagnosisTable td:nth-child(5):before{content:"Triggers"}#diagnosisTable td:nth-child(6):before{content:"Tried"}#diagnosisTable td:nth-child(7):before{content:"To Try"}#diagnosisTable td:nth-child(8):before{content:"Notes"}#diagnosisTable td:nth-child(9):before{content:none}}@media (max-width: 880px){.lab-result-row{grid-template-columns:1fr}.lab-result-remove{align-self:start}}@media (max-width: 640px){.pos-sections{grid-template-columns:1fr}.entry-top{grid-template-columns:1fr 1fr}.checkin-symptom-row{grid-template-columns:1fr}.checkin-remove-row{align-self:start}.lab-result-date-row,.lab-result-row,.treatment-form-grid,.test-result-form-grid,.diagnosis-form-grid{grid-template-columns:1fr}}
