:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;background:#eef1f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a{touch-action:manipulation}.app{min-height:100dvh;max-width:520px;margin:auto;background:#f8f9fb;padding-bottom:92px;box-shadow:0 0 30px #0001}header{padding:calc(20px + env(safe-area-inset-top)) 22px 16px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #e7e9ec}h1{font-size:1.45rem;margin:0}header p{margin:2px 0 0;color:#68717c;font-size:.82rem}.profile{color:inherit;text-decoration:none;background:#f0f2f4;border-radius:18px;padding:8px 12px}main{padding:22px}h2{font-size:1.35rem;margin:6px 0 10px}h3{margin:0 0 8px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:#66717c}.hero,.card,.chart{background:#fff;border-radius:20px;padding:20px;border:1px solid #e7e9ec}.hero{margin-bottom:14px}.card,.chart{margin-top:16px}.bp{display:flex;align-items:baseline;gap:7px;margin:8px 0 4px}.bp strong{font-size:3.25rem;line-height:1}.bp span{font-size:2rem;color:#87909a}.bp small{margin-left:3px;color:#68717c}.hr{font-size:1.05rem;margin-top:12px}.date,.muted{color:#737d88;font-size:.9rem;margin-top:7px}.status{font-weight:650}.primary,.secondary{width:100%;border:0;border-radius:15px;padding:15px;font-weight:700;font-size:1rem}.primary{background:#17202a;color:#fff}.secondary{background:#eef1f4;color:#17202a}.button-link{display:block;text-align:center;text-decoration:none}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.text-link{font-weight:700;color:#17202a}.fields{display:grid;gap:15px;margin:20px 0}label{font-weight:650;font-size:.88rem}label>div{display:flex;margin-top:6px;border:1px solid #ccd2d8;border-radius:14px;background:#fff;overflow:hidden;align-items:center}label>div.error{border-color:#9b1c1c}label>div input{border:0;padding:13px 14px;font-size:1.35rem;width:100%;outline:none}label>div span{padding-right:14px;color:#68717c}.dt,textarea{display:block;width:100%;margin-top:6px;border:1px solid #ccd2d8;border-radius:14px;padding:13px;background:#fff}textarea{min-height:90px;resize:vertical}.optional{font-weight:400;color:#737d88}.error-text{display:block;color:#8b1a1a;margin-top:5px}.counter{display:block;text-align:right;color:#737d88}.alert{background:#fff0f0;border:1px solid #e4b8b8;padding:12px;border-radius:12px}.success{font-weight:700}.history{display:grid;gap:10px;margin-top:16px}.history article{background:#fff;border:1px solid #e7e9ec;border-radius:16px;padding:15px;display:flex;justify-content:space-between;gap:10px}.history time{display:block;color:#68717c;font-size:.8rem}.history strong{display:block;font-size:1.35rem;margin:5px 0}.history strong em{font-style:normal;font-size:.7rem;color:#68717c}.history span,.history p{font-size:.85rem;color:#59636d}.actions{display:flex;flex-direction:column;gap:5px}.actions a,.actions button{border:0;background:#f1f3f5;color:#17202a;text-decoration:none;border-radius:9px;padding:7px 9px;font-size:.75rem;text-align:center}.button-stack{display:grid;gap:10px;margin-top:14px}fieldset{border:1px solid #dfe3e7;border-radius:14px;padding:14px;display:grid;gap:12px}legend{font-weight:700;padding:0 5px}.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary,dl{margin:0}dl div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eee}dd{margin:0;font-weight:700}.chart-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.chart-heading h2{margin-bottom:0}.chart svg{display:block;width:100%;height:auto;margin-top:8px;overflow:visible}.grid-line{stroke:#e4e7ea;stroke-width:1}.axis-label{fill:#737d88;font-size:11px}.systolic-line,.diastolic-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.systolic-line{stroke:#17202a}.diastolic-line{stroke:#78838e}.systolic-point{fill:#17202a}.diastolic-point{fill:#78838e}.legend{display:flex;flex-wrap:wrap;justify-content:end;gap:8px 12px;color:#59636d;font-size:.76rem}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{display:inline-block;width:14px;height:3px;border-radius:2px}.systolic-key{background:#17202a}.diastolic-key{background:#78838e}.chart-unit{margin:-10px 0 0 42px;color:#737d88;font-size:.72rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(520px,100%);display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #dfe3e7;padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:10}nav a{color:#737d88;text-decoration:none;font-size:.72rem;display:grid;gap:2px;justify-items:center;padding:3px}nav a span{font-size:1.35rem;line-height:1.2}nav a.active{color:#17202a;font-weight:800}@media(min-width:600px){.app{margin-top:20px;min-height:calc(100dvh - 40px);border-radius:24px;overflow:hidden}nav{bottom:20px;border-radius:0 0 24px 24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.file-label{display:block;margin-top:14px}.import-preview{margin-top:16px;padding-top:14px;border-top:1px solid #e7e9ec}.import-preview h4{margin:0 0 10px}.danger{width:100%;border:1px solid #b42318;border-radius:15px;padding:15px;font-weight:700;font-size:1rem;background:#fff;color:#8b1a1a}button:disabled{opacity:.55;cursor:not-allowed}.period-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:16px}.period-tabs button{border:1px solid #d8dde2;background:#fff;border-radius:10px;padding:8px 4px;font-size:.78rem}.period-tabs button.active{background:#17202a;color:#fff}.band{fill:#eef3ef}.diastolic-band{fill:#f2f4f6}.reference-line{stroke:#87938b;stroke-width:1;stroke-dasharray:4 4}.reference-label{fill:#59636d;font-size:9px}.personal-target{fill:none;stroke:#5c6570;stroke-width:2;stroke-dasharray:6 3}.pair-line{stroke:#aab1b8;stroke-width:1.25}.pulse-line{fill:none;stroke:#557f9f;stroke-width:2;stroke-dasharray:3 3}.pulse-point{fill:#557f9f;stroke:#fff;stroke-width:1.5}.pulse-key{background:#557f9f}.diastolic-point{fill:#fff;stroke:#78838e;stroke-width:2}.chart-guidance{margin-bottom:0}.chart-axis-labels{display:flex;justify-content:space-between;margin:-12px 30px 0 42px;color:#737d88;font-size:.72rem}.chart-help{margin:10px 0 0;font-size:.78rem}.chart-help a{color:inherit}.radio-row{display:flex;align-items:center;gap:8px}.radio-row input{width:auto}.source-list{padding-left:20px}.source-list li{margin:10px 0}.source-list a{color:#17202a}.report-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}.print-report{margin-top:22px;background:#fff;padding:22px;border:1px solid #e1e5e8;border-radius:16px}.report-header{padding:0 0 14px;border-bottom:2px solid #17202a;background:none;align-items:start}.report-header h1{font-size:1.5rem}.report-header p{margin:4px 0}.report-details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.report-summary div{border:1px solid #e1e5e8;border-radius:10px;padding:10px}.report-summary span,.report-summary small{display:block;color:#68717c;font-size:.72rem}.report-summary strong{display:block;font-size:1.3rem;margin:3px 0}.report-table{width:100%;border-collapse:collapse;font-size:.78rem}.report-table th,.report-table td{border-bottom:1px solid #e1e5e8;padding:7px 4px;text-align:left;vertical-align:top}.report-footnote{color:#68717c;font-size:.72rem;margin-top:18px}@media print{body{background:#fff}.app{max-width:none;box-shadow:none;padding:0}.app>header,nav,.no-print{display:none!important}main{padding:0}.print-report{border:0;margin:0;padding:0}.print-report .chart{break-inside:avoid}.report-table{font-size:9pt}}.systolic-line,.diastolic-line,.reference-line,.reference-label,.chart-axis-labels{display:none}.band-high{fill:#f8e9e8}.band-elevated{fill:#fbf2df}.band-reference{fill:#eaf3ed}.band-low{fill:#eef1f6}.axis-unit{fill:#59636d;font-size:10px}.pair-line{stroke:#9ca7b2;stroke-width:1.1}.chart-series-legend{justify-content:center;margin-top:2px;gap:10px 20px;color:#27313b;font-size:.8rem}.chart-series-legend i{width:12px;height:12px;border-radius:50%}.chart-series-legend .systolic-key{background:#17202a}.chart-series-legend .diastolic-key{background:#fff;border:2px solid #78838e}.chart-series-legend .pulse-key{width:20px;height:0;border-radius:0;border-top:2px dashed #557f9f;position:relative}.chart-series-legend .pulse-key:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#557f9f;left:6px;top:-5px}.reference-legend{margin-top:12px;padding:10px 12px;border:1px solid #e1e5e8;border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:.72rem}.reference-legend strong,.reference-legend small{grid-column:1 / -1}.reference-legend span{display:flex;align-items:center;gap:6px}.band-key{width:13px;height:13px;border-radius:3px;flex:0 0 auto}.band-key.high{background:#f8e9e8}.band-key.elevated{background:#fbf2df}.band-key.reference{background:#eaf3ed}.band-key.low{background:#eef1f6}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.preference-row p{margin:4px 0 0;font-size:.82rem}.switch{position:relative;flex:0 0 auto;width:48px;height:28px}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-control{position:absolute;inset:0;border-radius:999px;background:#cbd1d7;transition:background .15s ease}.switch-control:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s ease}.switch input:checked+.switch-control{background:#33404c}.switch input:focus-visible+.switch-control{outline:3px solid #8da3b8;outline-offset:2px}@media(max-width:420px){.chart{padding-left:14px;padding-right:14px}.chart-heading h2{font-size:1.35rem}.chart-series-legend{gap:8px 13px;font-size:.74rem}}@media print{.report-chart .chart-help{display:none}.reference-legend{break-inside:avoid}}:root{color-scheme:light}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{line-height:1.5}button,input,textarea,select,a{-webkit-tap-highlight-color:transparent}:where(a,button,input,textarea,select):focus-visible{outline:3px solid #376f9f;outline-offset:3px}.primary,.secondary,.danger,.button-link{min-height:48px;display:inline-flex;align-items:center;justify-content:center}.form-actions{align-items:stretch}.form-actions>*{min-width:0}.dt,label>div{min-height:48px}label>div input{min-height:46px}textarea{line-height:1.45}input[type=file].dt{padding:7px;min-height:52px}input[type=file]::file-selector-button{min-height:38px;margin-right:10px;border:1px solid #b9c1c9;border-radius:10px;padding:8px 12px;background:#eef1f4;color:#17202a;font:inherit;font-weight:700;cursor:pointer}input[type=file]::file-selector-button:hover{background:#e4e8ec}.radio-row{min-height:44px;padding:5px 0}.radio-row input{width:20px;height:20px;flex:0 0 auto}.switch{width:52px;height:32px}.switch-control:after{width:26px;height:26px}.switch input:checked+.switch-control:after{transform:translate(20px)}nav a{min-height:52px;align-content:center;border-radius:10px}nav a:focus-visible{outline-offset:-2px}.profile{min-height:44px;display:inline-flex;align-items:center}.period-tabs button{min-height:44px;font-size:.82rem}.actions{gap:8px}.actions a,.actions button{min-width:64px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;border:1px solid #dfe3e7}.actions button{color:#8b1a1a;background:#fff;border-color:#e4b8b8}.text-link,.chart-help a,.source-list a{text-underline-offset:.18em;text-decoration-thickness:.08em}.chart-history-link{color:#17202a;font-weight:700;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;text-underline-offset:.18em}@media(max-width:380px){main{padding-left:16px;padding-right:16px}.target-grid,.report-range,.report-details{grid-template-columns:1fr}.form-actions{gap:8px}.chart-heading{align-items:start}}@media(forced-colors:active){.primary,.secondary,.danger,.period-tabs button,.actions a,.actions button,input[type=file]::file-selector-button{border:1px solid ButtonText}.systolic-point,.pulse-point{fill:CanvasText}.diastolic-point{fill:Canvas;stroke:CanvasText}}.average-axis-label{fill:#17202a;font-size:10px;font-weight:800}.pulse-average{fill:#356f9c}.local-data-notice{margin:12px 0 18px;padding:12px 14px;border:1px solid #cfd6dc;border-radius:12px;background:#f6f8fa}.local-data-notice p{margin:3px 0 0;font-size:.86rem}.medication-entry{margin:12px 0;padding:14px;border:1px solid #dfe3e7;border-radius:12px;background:#fafbfc}.medication-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.text-button{min-height:44px;border:0;background:transparent;color:#334f68;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.compact-button{width:auto;padding-inline:18px}.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-medications ul{padding-left:20px}.report-medications li{margin:5px 0}@media(max-width:520px){.date-pair{grid-template-columns:1fr}.average-axis-label{font-size:9px}}
