:root{color-scheme:light;--bg-gradient: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 30%, #e2e8f0 100%);--surface-glass: rgba(255, 255, 255, .72);--surface-strong: rgba(255, 255, 255, .92);--surface-soft: rgba(255, 255, 255, .55);--border-glass: rgba(255, 255, 255, .6);--border-muted: rgba(15, 23, 42, .08);--text-primary: #0b1120;--text-secondary: rgba(15, 23, 42, .65);--accent: #27B297;--accent-soft: rgba(39, 178, 151, .12);--accent-strong: rgba(39, 178, 151, .2);--danger: #ff453a;--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--shadow-soft: 0 24px 60px rgba(15, 23, 42, .12);font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg-gradient);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app-shell{min-height:100vh;padding:clamp(1.5rem,3vw,3rem)}.app-shell h1,.app-shell h2,.app-shell h3,.app-shell h4,.app-shell h5,.app-shell h6{line-height:1.15;margin:0}.app-shell p{margin:0;line-height:1.45}.app-shell p+p{margin-top:.6rem}.app-shell ul,.app-shell ol{margin:0;padding-left:1.25rem}.app-shell li{margin:.25rem 0;line-height:1.45}.app-surface{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(1.4rem,2vw,2.5rem)}.glass-card{background:var(--surface-glass);border:0px solid var(--border-glass);border-radius:var(--radius-xl);padding:clamp(1.25rem,2vw,1.75rem);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow-soft)}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:1.8rem}.app-header h1{font-size:clamp(1.9rem,3vw,2.5rem);font-weight:700;margin:0;letter-spacing:-.02em}.app-header h1 .sup-note{position:relative;top:-.6em;font-size:55%;margin-left:.4ch;color:#27b297;font-weight:400;vertical-align:text-top}.app-header h1 .title-note{vertical-align:text-top!important;position:relative;top:-.1em}.app-header p{margin:.35rem 0 0;color:var(--text-secondary);font-size:.95rem}.app-header .subtitle{margin:.35rem 0 0;color:var(--text-secondary);font-size:1rem;font-weight:500;line-height:1.35}.badge{display:inline-flex;align-items:center;justify-content:center;height:60px;min-width:80px;padding:0 .8rem;border-radius:999px;background:linear-gradient(135deg,#27b297,#5eead4);color:#fff;font-weight:600;letter-spacing:.02em;box-shadow:0 14px 40px #27b29759}.section-title{display:flex;flex-direction:column;gap:.4rem}.section-title h2{margin:0;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:600}.section-title p{margin:0;color:var(--text-secondary);line-height:1.45}fieldset{border:none;margin:0;padding:0}label{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.4rem}legend{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0}input[type=file],input[type=number],input[type=datetime-local],input[type=text],select{width:100%;padding:.75rem .9rem;font-size:.95rem;background:var(--surface-strong);border:1px solid var(--border-muted);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}input[type=datetime-local]{min-height:44px}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}input[type=file]{padding:.35rem .6rem}input[type=file]::file-selector-button,input[type=file]::-webkit-file-upload-button{border:none;border-radius:999px;background:linear-gradient(135deg,#27b297,#5eead4);color:#fff;font-weight:600;padding:.4rem .9rem;font-size:.9rem;letter-spacing:.01em;box-shadow:0 16px 30px #27b29759;margin-right:.6rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}input[type=file]::file-selector-button:hover,input[type=file]::-webkit-file-upload-button:hover{transform:translateY(-1px);box-shadow:0 20px 45px #27b29766}input[type=file]::file-selector-button:disabled,input[type=file]::-webkit-file-upload-button:disabled{opacity:.6;box-shadow:none;cursor:not-allowed}button,.button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:none;border-radius:999px;background:linear-gradient(135deg,#27b297,#5eead4);color:#fff;font-weight:600;padding:.7rem 1.4rem;font-size:.95rem;letter-spacing:.01em;box-shadow:0 16px 30px #27b29759;transition:transform .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button.secondary,.button.secondary{background:#27b2971a;color:var(--accent);box-shadow:none}button.ghost{background:transparent;color:var(--text-secondary);box-shadow:none}button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 20px 45px #27b29766}.controls-grid{display:grid;gap:clamp(1rem,2vw,1.5rem);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media (max-width: 900px){.import-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.import-controls fieldset:nth-child(1){grid-column:1 / -1}.import-controls fieldset{min-width:0}.export-row{justify-content:center}.export-row>div{margin-left:0!important}.chart-area-header{justify-content:center;flex-wrap:wrap;column-gap:.75rem;row-gap:.5rem}.chart-area-header .chart-info-chips{flex-basis:100%;display:flex;justify-content:center;gap:.5rem}.chart-area-header .range-chip{margin-left:0}}@media (max-width: 540px){.import-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.import-controls fieldset:nth-child(1){grid-column:1 / -1}}.hyperlink{color:var(--accent);text-decoration:none}.hyperlink:hover{text-decoration:underline}.tab-bar{display:inline-flex;background:#fff9;border-radius:999px;padding:.35rem;border:1px solid rgba(15,23,42,.08);gap:.25rem;max-width:100%}@media (max-width: 900px){.section-tabs-header #section-tabs.tab-bar{border-radius:calc(var(--radius-md) + 6px)}}.tab-button{border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:600;padding:.55rem 1.2rem;border-radius:999px;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.tab-button{position:relative}.tab-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;line-height:18px;text-align:center;font-weight:700;box-shadow:0 0 0 2px #fff}#unit-toggle .tab-button.active{color:var(--accent)}#section-tabs .tab-button.active,#unit-toggle .tab-button.active,#time-toggle .tab-button.active{background:linear-gradient(135deg,#27b297,#5eead4);color:#fff;box-shadow:0 16px 30px #27b29759}.metrics-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}.metric-card{background:var(--surface-strong);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 0 0 1px #0f172a0a}.metric-label{text-transform:uppercase;font-size:.7rem;letter-spacing:.16em;color:var(--text-secondary)}.metric-value{font-size:1.8rem;margin-top:.4rem;font-weight:700}.glass-card>.header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}@media (max-width: 900px){.glass-card>.header.import-header{align-items:flex-end}}.glass-card>.header .section-title{flex:1}@media (max-width: 900px){.section-tabs-header{flex-direction:column;align-items:stretch;gap:.9rem}.section-tabs-header #section-tabs{order:-1;width:auto;max-width:100%;align-self:center;justify-content:center;flex-wrap:wrap;padding:.25rem;border-radius:calc(var(--radius-md) + 6px)}.section-tabs-header .section-title{order:0}.app-shell .section-tabs-header .section-title,.app-shell .section-tabs-header .section-title h2,.app-shell .section-tabs-header .section-title p{text-align:left!important;align-self:flex-start}}.timeline-card{padding:0;overflow:visible}.timeline-card .header{padding:clamp(1.2rem,2vw,1.6rem);border-bottom:1px solid rgba(15,23,42,.06)}.timeline-card .chart-area{height:clamp(320px,50vh,420px);background:radial-gradient(circle at top,rgba(39,178,151,.12),transparent 60%);padding:0 1rem 1rem;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:contain}@media (max-width: 900px){.timeline-card .chart-area{padding-bottom:2.25rem}}@media (max-width: 720px){.timeline-card{overflow:visible}.timeline-card .chart-area{height:clamp(360px,60vh,520px);padding:0 1rem 7rem}}.timeline-card .chart-area,.timeline-card .chart-area *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.recharts-tooltip-wrapper{pointer-events:none!important}.chart-area .recharts-surface{pointer-events:auto}.chart-area .recharts-cartesian-grid line{stroke:#0f172a0f}.chart-area .recharts-xAxis line,.chart-area .recharts-yAxis line,.chart-area .recharts-cartesian-axis line{stroke:#0f172a14}.chart-area .recharts-xAxis text,.chart-area .recharts-yAxis text{fill:#0f172a73;font-size:.8rem}.recharts-yAxis .recharts-label text,.recharts-yAxis .recharts-label tspan{font-size:.8rem}.timeline-tooltip{background:var(--surface-strong);border-radius:var(--radius-lg);padding:.85rem 1rem;box-shadow:0 18px 40px #0f172a26;border:1px solid rgba(255,255,255,.75);min-width:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timeline-tooltip h4{margin:0 0 .4rem;font-size:.95rem}.timeline-tooltip .value{font-size:1.6rem;font-weight:700;margin:.4rem 0 0}.timeline-tooltip .type{color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.timeline-tooltip .tooltip-events{margin-top:.75rem;padding-top:.65rem;border-top:1px solid rgba(15,23,42,.08);display:grid;gap:.55rem}.timeline-tooltip .event-item{display:grid;gap:.2rem}.timeline-tooltip .event-tag{font-size:.7rem;letter-spacing:.16em;font-weight:700}.timeline-tooltip .event-title{font-weight:600;font-size:.95rem}.timeline-tooltip .event-meta,.timeline-tooltip .event-notes{font-size:.8rem;color:var(--text-secondary)}.list-card ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.list-card li{display:flex;justify-content:space-between;background:var(--surface-strong);padding:.9rem 1.1rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.8);font-size:.9rem}.notes-card{display:flex;flex-direction:column;gap:.8rem;font-size:.95rem;color:var(--text-secondary)}.tests-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.test-item{display:flex;align-items:center;gap:.8rem;background:var(--surface-strong);border-radius:var(--radius-md);padding:.85rem 1rem;border:1px solid rgba(255,255,255,.85)}.test-item svg{flex-shrink:0}.test-item.fail{border-color:#ff453a40;box-shadow:inset 0 0 0 1px #ff453a2e}.export-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.export-row button.secondary,.export-row button.ghost{padding:.55rem 1.2rem!important;font-size:.9rem!important;line-height:1!important}@media (max-width: 720px){.app-header{align-items:flex-start}.badge{order:-1}.tab-bar{width:100%;justify-content:space-between}.tab-button{flex:1 1 auto;text-align:center;padding-inline:.8rem}#export-actions.tab-bar{width:auto;justify-content:center}.glass-card>.header.import-header{flex-direction:column;align-items:stretch;gap:.9rem}.glass-card>.header.import-header .header-meta{align-items:flex-end;text-align:right}}.header-meta{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:.25rem;font-size:.85rem;color:var(--text-secondary)}.header-meta .readings-row{display:inline-flex;align-items:center;gap:.5rem}.issues-pill{display:inline-flex;align-items:center;gap:.35rem;background:var(--danger);color:#fff;border:none;border-radius:999px;padding:.2rem .55rem;font-weight:700;font-size:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 16px 30px #ff453a59;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.issues-pill:hover{transform:translateY(-1px);box-shadow:0 20px 45px #ff453a66;color:#fff}.issues-pill:focus-visible{outline:none;box-shadow:0 0 0 3px #ff453a40}.header-meta strong{font-size:1.15rem;color:var(--text-primary);letter-spacing:-.01em}.text-muted{color:var(--text-secondary)}.panel-body{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.range-callout{font-size:.9rem;color:var(--text-secondary)}.range-chip{background:#34c75929;color:#1c7c3a;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;line-height:1;text-align:center;vertical-align:middle}.event-chip{background:#27b29724;color:#27b297;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;justify-content:center;line-height:1;text-align:center;vertical-align:middle}.chart-area-header{display:flex;justify-content:flex-start;align-items:center;gap:.35rem;padding:.5rem 0;color:var(--text-secondary);font-size:.9rem}.chart-area-header .chart-info-chips{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem}.chart-area-header .chart-info-chips .range-chip{margin-left:0}@media (max-width: 900px){.chart-area-header{justify-content:center;flex-wrap:wrap;column-gap:.35rem;row-gap:.2rem}.chart-area-header .chart-info-chips{flex-basis:100%;display:flex;justify-content:center;gap:.35rem}.chart-area-header .range-chip{margin-left:0}}.chart-compact{background:radial-gradient(circle at top,rgba(39,178,151,.08),transparent 75%);border-radius:var(--radius-lg);padding:1rem;border:1px solid rgba(255,255,255,.7)}.chart-compact .recharts-xAxis text,.chart-compact .recharts-yAxis text{fill:#0f172aa6}.empty-state{text-align:center;color:var(--text-secondary);padding:2.5rem 1rem}.list-card h3{margin:0 0 .8rem;font-size:1rem;font-weight:600}.notes-card p{display:flex;align-items:flex-start;gap:.75rem;margin:0;line-height:1.6}.section-title em{font-style:normal;color:var(--accent)}
