:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203e39;background:#f6f8f7;font-size:15px;--teal:#15776b;--muted:#697b76}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;min-height:46px;border:0}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ecb85c;outline-offset:2px}[hidden]{display:none!important}.app{max-width:700px;margin:auto}header{padding:25px 22px 17px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.mark{background:#e3efeb;color:var(--teal);font-size:38px;width:45px;height:45px;display:grid;place-items:center;border-radius:14px}.brand strong{font-size:18px;letter-spacing:-.5px}.sub{display:block;font-size:11px;color:var(--muted);margin-top:4px}.icon{background:transparent;font-size:25px;color:var(--muted);width:46px;border-radius:50%}main{padding:22px 22px 115px}.eyebrow{letter-spacing:1.8px;font-size:10px;font-weight:700;color:var(--teal);margin-bottom:10px}h1{font-size:29px;font-weight:650;letter-spacing:-1px;margin:0 0 23px}h2{font-size:17px;font-weight:650;letter-spacing:-.3px;margin:0}.title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge{font-size:11px;background:#e8eeeb;color:#536c63;border-radius:20px;padding:7px 10px;margin-bottom:20px;white-space:nowrap}.hero{border-radius:23px;background:#15594f;color:#fff;overflow:hidden;padding:23px 21px 0}.hero-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#c6dfd6}.hero-top span:last-child{font-size:10px;text-align:right}.vitals{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:25px 0}.reading{display:flex;align-items:baseline;gap:8px;font-size:43px;letter-spacing:-2px;font-weight:600;font-variant-numeric:tabular-nums}.reading small{font-size:27px;color:#8cb9ab;font-weight:300}.unit{display:block;font-size:8px;letter-spacing:1px;color:#c6dfd6;margin-top:8px}.pulse{border-left:1px solid #477c70;padding-left:17px;white-space:nowrap}.pulse strong{font-size:29px;font-weight:500}.heart{color:#d7b4a6;font-size:24px}.hero-bottom{border-top:1px solid #477c70;font-size:10px;letter-spacing:.3px;padding:15px 0;color:#c6dfd6}.primary{background:var(--teal);color:white;font-weight:650;border-radius:12px;padding:15px 18px;width:100%}.add{margin:15px 0 27px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-title>span{font-size:11px;color:var(--muted)}.table-head,.record{display:grid;grid-template-columns:1.65fr 1fr 1fr 1fr;align-items:center;gap:5px}.table-head{padding:0 12px 10px;color:var(--muted);font-size:10px}.table-head span:not(:first-child){text-align:right}.record{width:100%;text-align:left;background:white;padding:16px 12px;margin-bottom:8px;border-radius:12px;border:1px solid #e9eeeb;color:#25483f;min-height:73px}.record .date{font-size:12px;font-weight:600}.record .time{display:block;color:var(--muted);font-size:10px;margin-top:5px;font-weight:400}.record .num{text-align:right;font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}.record .num:last-child{color:#967457}.record .note-dot{color:#15776b}.empty{text-align:center;padding:40px 15px;color:var(--muted);border:1px dashed #c9d7ce;border-radius:15px;font-size:13px;line-height:1.7}.empty strong{display:block;color:#34574a;font-size:16px;margin-bottom:5px}.secondary{background:white;border:1px solid #ccddd5;color:#225c4f;border-radius:11px;padding:11px 9px;font-weight:600;font-size:13px}.more{width:100%;margin-top:15px}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:700px;display:flex;background:#fff;border-top:1px solid #e4eae6;padding:8px 35px max(10px,env(safe-area-inset-bottom));gap:25px;z-index:2}nav button{flex:1;background:transparent;color:#7d8e85;font-size:11px;border-radius:13px;padding:6px}nav button span{font-size:23px;display:block;margin-bottom:4px}nav button.active{color:var(--teal);background:#edf5f0}.intro{color:var(--muted);margin:-12px 0 22px;font-size:13px}.ranges{display:flex;background:#e9efeb;border-radius:12px;padding:4px;gap:3px}.ranges button{flex:1;min-height:38px;background:transparent;color:#546b5f;border-radius:9px;font-size:12px;padding:6px}.ranges button.selected{background:white;color:var(--teal);box-shadow:0 1px 4px #214b3915;font-weight:700}.muted{color:var(--muted);font-size:12px;line-height:1.6}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two label{min-width:0}#customRange{margin-top:15px}#rangeLabel{min-height:20px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:white;border:1px solid #e4ece6;border-radius:14px;padding:15px 10px}.stat>span{font-size:10px;color:var(--muted);display:block}.stat strong{display:block;font-size:27px;letter-spacing:-1px;margin:8px 0;color:var(--teal)}.stat small{font-size:9px;color:var(--muted)}.detail-table{width:100%;border-collapse:collapse;font-size:11px;margin:16px 0}.detail-table th,.detail-table td{padding:9px 4px;text-align:right;border-bottom:1px solid #e1e9e3;font-variant-numeric:tabular-nums}.detail-table th:first-child,.detail-table td:first-child{text-align:left}.detail-table th{color:var(--muted);font-weight:500}.chart-card{background:white;border:1px solid #e4ece6;border-radius:17px;padding:18px 15px;margin-top:17px}.legend{display:flex;gap:15px;font-size:10px;color:var(--muted);margin-top:13px}.sys{color:#15776b}.dia{color:#4570b5}.hr{color:#b15b36}.chart-card svg{display:block;width:100%;height:auto;margin-top:16px}.footnote{font-size:10px;color:var(--muted);line-height:1.7;margin:14px 0 0}dialog{border:none;border-radius:22px;padding:24px;width:calc(100% - 26px);max-width:470px;color:#203e39;max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #123c3633}dialog::backdrop{background:#163b356b}dialog p{line-height:1.6;font-size:13px}dialog h2{font-size:22px}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.fields label{font-size:12px;color:#4f685b}.fields input{font-size:27px;text-align:center;padding:12px 3px;margin:9px 0 4px;font-weight:650;min-width:0}.fields small{display:block;text-align:center;color:var(--muted);font-size:10px}input,textarea{width:100%;border:1px solid #cad9d0;border-radius:10px;padding:12px 10px;background:#f9fbf9;color:#25483e}input[type=datetime-local],input[type=date]{font-size:13px;min-height:46px}.date-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px}.text-button{background:transparent;color:var(--teal);font-size:11px}.note-label{display:block;font-size:12px;margin-top:20px}textarea{display:block;resize:vertical;margin:9px 0 12px}#error{color:#b13227;font-size:12px}.danger{color:#ac382e;background:#fff0ed;border-radius:11px;padding:12px;width:100%;margin-top:10px}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:#203e39;color:#fff;padding:13px 19px;border-radius:12px;font-size:13px;z-index:10;max-width:90%;display:none}#toast.visible{display:block}@media(max-width:360px){main{padding-left:14px;padding-right:14px}.reading{font-size:36px}.pulse{padding-left:10px}.hero{padding-left:15px;padding-right:15px}.stats-grid{gap:5px}.stat strong{font-size:24px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}dialog[open]{animation:appear .15s ease-out}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
/* Web readability and report layout */
:root{font-size:16px}.sub,.hero-top,.hero-top span:last-child,.unit,.hero-bottom,.eyebrow,.table-head,.time,.section-title>span,.badge,.legend,.footnote,.stat>span,.stat small{font-size:12px}.muted,.ranges button,.secondary,nav button,.fields label,.note-label,.text-button,.date-heading,.record .date,.detail-table{font-size:14px}.unit{letter-spacing:0}.reading{font-size:40px}.hero-top{flex-wrap:wrap}.pulse{padding-left:12px}.stat strong{font-size:26px}dialog p{font-size:16px}.fields small{font-size:12px}.chart-card svg text{font-size:11px}#printReport{display:none}@media(max-width:380px){.reading{font-size:33px}.vitals{flex-wrap:wrap}.pulse{padding-left:0;border:0}.stat{padding:12px 7px}.stat strong{font-size:23px}}@media(min-width:800px){.app{max-width:860px}main{padding:25px 45px 110px}header{padding-left:45px;padding-right:45px}nav{max-width:860px}.hero{padding:26px 30px 0}.reading{font-size:54px}}
@media print{
 @page{size:A4;margin:15mm}
 body{background:white;color:black;font-size:11pt}
 body>*{display:none!important}
 #printReport{display:block!important}
 #printReport h1{font-size:24pt;margin:0 0 8mm}
 #printReport h2{font-size:15pt;margin:6mm 0 3mm;break-after:avoid}
 #printReport p{font-size:10pt;line-height:1.5}
 #printReport .stats-grid{display:flex;gap:8mm}
 #printReport .stat{flex:1;border:1px solid #bbb;padding:3mm}
 #printReport .stat strong{font-size:22pt}
 #printReport .stat span,#printReport .stat small{font-size:10pt}
 #printReport .detail-table{font-size:10pt}
 #printReport svg{display:block;width:125mm;max-width:100%;height:auto;break-inside:avoid}
 #printReport .history-heading{break-before:page}
 #printReport .print-table{width:100%;border-collapse:collapse;font-size:9pt;table-layout:fixed}
 #printReport .print-table th,#printReport .print-table td{border-bottom:1px solid #ccc;padding:3mm 1.5mm;text-align:left;vertical-align:top;overflow-wrap:anywhere}
 #printReport .print-table th:first-child{width:26%}
 #printReport .print-table th:last-child{width:29%}
 #printReport thead{display:table-header-group}
 #printReport tr{break-inside:avoid}
}
