:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203d3a;background:#f3f6f3;font-synthesis:none;--bg:#f3f6f3;--panel:#fff;--ink:#203d3a;--muted:#5e716c;--line:#d2e7e3;--accent:#11675f;--tg-safe-top:0px;--tg-safe-bottom:0px;--tg-safe-left:0px;--tg-safe-right:0px}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #b16d30;outline-offset:4px}svg{width:24px;height:24px;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:36px;letter-spacing:-1.3px;line-height:1.15;font-weight:650}h2{font-size:22px;letter-spacing:-.5px}p{line-height:1.6}main:focus{outline:none}.shell{max-width:940px;margin:0 auto;padding:calc(26px + var(--tg-safe-top)) max(28px,var(--tg-safe-right)) calc(120px + var(--tg-safe-bottom)) max(28px,var(--tg-safe-left))}.header{display:flex;align-items:center;justify-content:space-between;gap:12px}.wordmark{display:flex;align-items:center;gap:9px;font-size:25px;font-weight:650;letter-spacing:-1px}.wordmark svg{color:var(--accent);width:34px;height:34px}.demo-label{font-size:11px;letter-spacing:.3px;background:#dff4f1;border:1px solid #c0e5e0;border-radius:20px;padding:8px 12px}.slogan{font-size:12px;color:var(--muted);margin:9px 0 20px}.prototype-note{font-size:12px;color:var(--muted);border-left:2px solid #65aaa4;padding-left:12px;margin-bottom:24px;max-width:690px}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#d9f3f0;border-radius:24px;padding:32px;margin-bottom:32px;overflow:hidden;min-height:240px}.hero>div:first-child{max-width:490px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:#306963;margin-bottom:15px}.hero h1{font-size:40px}.hero p:last-child{font-size:14px;color:#375f5b;margin-top:16px;max-width:350px}.hero-art{width:180px;height:180px;position:relative;flex-shrink:0;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #72bfb8;border-radius:50%;width:180px;height:180px;transform:rotate(-30deg) scaleY(.6)}.orbit-two{transform:rotate(45deg) scaleY(.6)}.art-core{width:104px;height:104px;border-radius:50%;background:linear-gradient(145deg,#f8fcf6,#81d8d0);box-shadow:0 12px 30px #608b6e24;display:grid;place-items:center;color:#216e67}.art-core svg{width:60px;height:60px;stroke-width:1.1}.art-spark{position:absolute;right:8px;top:20px;color:#317970;font-size:25px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:17px;gap:10px}.section-heading span{font-size:12px;color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.module-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:21px;position:relative;min-width:0;transition:transform .15s,border-color .15s;min-height:164px}.module-card:hover{transform:translateY(-3px);border-color:#82a699}.module-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;margin-bottom:15px;background:#dbf3f0;color:#286c64}.module-icon svg{width:25px;height:25px}.card-number{position:absolute;top:19px;right:18px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.module-card h3{font-size:15px;line-height:1.3;font-weight:600;margin-bottom:7px}.card-status{font-size:10px;color:var(--muted)}.blue .module-icon{background:#e7eff8;color:#4a7099}.rose .module-icon{background:#f7e9e9;color:#b26a74}.peach .module-icon{background:#faeee3;color:#ab784e}.lavender .module-icon{background:#eeebf8;color:#7b70a1}.sand .module-icon{background:#f4efdf;color:#9b8953}.sage .module-icon{background:#d1efeb;color:#236d65}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px}.privacy{display:flex;gap:14px;margin-top:24px;padding:22px}.privacy>svg{color:var(--accent)}.privacy h2{font-size:14px;margin-bottom:6px}.privacy p{font-size:12px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);margin-top:24px;line-height:1.5}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(940px,100%);background:var(--panel);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:10px max(12px,var(--tg-safe-right)) calc(10px + max(env(safe-area-inset-bottom),var(--tg-safe-bottom))) max(12px,var(--tg-safe-left));z-index:10}.bottom-nav a{display:flex;align-items:center;flex-direction:column;gap:5px;color:var(--muted);font-size:11px;min-height:48px;padding:5px;border-radius:12px}.bottom-nav a[aria-current]{color:var(--accent);background:#e1f5f2;font-weight:600}.bottom-nav svg{width:21px;height:21px}.state{text-align:center;padding:48px 28px;margin:24px 0;min-height:340px;display:flex;flex-direction:column;align-items:center}.state-icon,.avatar{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:#dcf2ee;color:var(--accent);margin-bottom:18px}.state-icon svg{width:36px;height:36px}.badge{font-size:11px;background:#e1f2ef;color:#52675c;border-radius:20px;padding:7px 13px;display:inline-block;margin-bottom:18px}.state h2{margin-bottom:12px}.state p{max-width:480px;font-size:14px;color:var(--muted)}.button{display:inline-flex;align-items:center;gap:12px;background:var(--accent);color:white;border-radius:12px;padding:13px 18px;font-size:13px;margin-top:26px;min-height:44px}.button svg{width:18px}.back{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:20px;padding:8px 0}.profile{margin-top:24px;padding:28px}.profile p{font-size:13px;color:var(--muted)}.profile h3{margin-top:22px}.profile dl{margin:18px 0 24px}.profile dl>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.profile dt{color:var(--muted)}.profile dd{margin:0;text-align:right}.skip{position:fixed;top:-100px;left:12px;background:var(--panel);padding:12px;z-index:30}.skip:focus{top:10px}
@media(max-width:600px){.shell{padding-left:max(16px,var(--tg-safe-left));padding-right:max(16px,var(--tg-safe-right));padding-top:calc(18px + var(--tg-safe-top))}.wordmark{font-size:23px}.demo-label{font-size:9px;padding:7px 9px;max-width:135px;text-align:center}.hero{padding:25px 22px;min-height:220px;position:relative;gap:0}.hero>div:first-child{z-index:1;max-width:85%}.hero h1{font-size:31px}.hero p:last-child{font-size:12px;max-width:250px}.eyebrow{font-size:8px;letter-spacing:1.3px}.hero-art{position:absolute;right:-50px;top:22px;opacity:.3;transform:scale(.9)}.section-heading h2{font-size:21px}.section-heading span{font-size:10px}.module-grid{gap:8px}.module-card{padding:14px 10px;min-height:155px;border-radius:15px}.module-card h3{font-size:12px;min-height:32px;line-height:1.35;overflow-wrap:anywhere}.module-icon{width:37px;height:37px;border-radius:11px;margin-bottom:13px}.card-number{top:12px;right:10px;font-size:8px}.card-status{font-size:9px}.privacy{padding:18px 15px}.privacy p{font-size:11px}h1{font-size:29px}.state{padding:34px 20px}.slogan{font-size:10px}.prototype-note{font-size:11px}footer{flex-direction:column;gap:5px}.profile{padding:22px}.profile dl>div{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
:root[data-theme=dark]{--bg:#142420;--panel:#1d302a;--ink:#dcf2ee;--muted:#b1c3b8;--line:#385046;--accent:#8be2d9;background:var(--bg);color:var(--ink)}
:root[data-theme=dark] .hero{background:#214744}:root[data-theme=dark] .hero p,:root[data-theme=dark] .eyebrow{color:#d0e1d6}:root[data-theme=dark] .button{color:#15382b}:root[data-theme=dark] .bottom-nav a[aria-current]{background:#244d48}:root[data-theme=dark] .badge,:root[data-theme=dark] .demo-label{background:#244d48;color:#d3e4d8;border-color:#496152}

/* Light sage canvas with Tiffany accents. */
:root:not([data-theme=dark]) .hero{background:#e4eee6;color:#203d3a}
:root:not([data-theme=dark]) .hero .eyebrow,
:root:not([data-theme=dark]) .hero p:last-child{color:#47695b}
.hero .art-core{background:linear-gradient(145deg,#c9f6ef,#4CC8BC);color:#006479}
.hero .art-spark{color:#b2ede5}

.bottom-nav a[aria-current]{box-shadow:inset 0 -2px #4CC8BC}

.heart-demo details,
.heart-demo fieldset { margin-block: 1rem; }
.heart-demo summary { cursor: pointer; color: var(--accent); font-weight: 650; }
.heart-demo fieldset { min-width: 0; border: 1px solid var(--line); border-radius: 12px; }
.heart-demo label { display: inline-flex; align-items: center; min-height: 44px; margin-inline-end: 12px; }
.heart-demo button { border: 0; cursor: pointer; }
.heart-demo li { margin-block: .5rem; }

#heart-flow:focus { outline: none; }
#heart-flow input[type=number] {
 width: 7rem;
 max-width: 100%;
 margin-inline-end: .5rem;
 padding: .55rem;
 border: 1px solid var(--line);
 border-radius: 8px;
}

.bp-section label { display: grid; gap: .3rem; margin-block: .7rem; min-width: 0; }
.bp-section .bp-check { display: flex; align-items: center; gap: .5rem; min-height: 44px; }
.bp-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: .5rem; }
.bp-section input:not([type=checkbox]), .bp-section select, .bp-section textarea { width: 100%; min-width: 0; padding: .55rem; border: 1px solid var(--line); border-radius: 8px; font: inherit; }
.bp-section fieldset { min-width: 0; margin: .8rem 0; border: 1px solid var(--line); border-radius: 12px; }
.bp-section .button { border: 0; cursor: pointer; margin: .35rem 0; }
.bp-section a { text-decoration: underline; }
.bp-local { margin-top: 1rem; }
.bp-tag { display: inline-block; margin: .3rem 0; padding: .3rem .55rem; border-radius: 8px; font-weight: 650; font-size: .85rem; }
.bp-normal { background: #d8f3e2; color: #145331; }
.bp-elevated { background: #fff0ad; color: #584400; }
.bp-stage1 { background: #ffdfbf; color: #763700; }
.bp-stage2 { background: #ffdad6; color: #861c17; }
.bp-critical, .bp-urgent { background: #751a3a; color: white; }
.bp-urgent { border-radius: 10px; padding: .7rem; }
.bp-urgent p { color: white; margin-block: .35rem; }
.bp-record { border-bottom: 1px solid var(--line); padding-block: .6rem; overflow-wrap: anywhere; }
.bp-record button { min-height: 44px; margin: .4rem .4rem .4rem 0; }
.bp-chart { display: block; width: 100%; height: auto; max-width: 580px; }
.bp-chart text { fill: currentColor; font-size: 11px; }
.bp-gridline { stroke: var(--line); }
.bp-line { fill: none; stroke-width: 2; }
.bp-line-0 { stroke: #117f73; }
.bp-line-1 { stroke: #28649b; }
.bp-point { fill: white; stroke-width: 2; cursor: pointer; }
.bp-point-urgent { fill: #751a3a; stroke: #751a3a; }
.bp-print { display: none; }
@media print {
  body:has(.bp-print table) :is(.header,.slogan,.prototype-note,.bottom-nav,footer,.demo-label,.skip,main > :not(#pressure-diary),#pressure-diary > :not(.bp-print)) { display: none !important; }
  body:has(.bp-print table) { background: white; color: black; }
  body:has(.bp-print table) .shell { max-width: none; padding: 0; }
  .bp-print:has(table) { display: block; }
  .bp-print table { width: 100%; border-collapse: collapse; font-size: 9pt; }
  .bp-print :is(th,td) { border: 1px solid #888; padding: .25rem; overflow-wrap: anywhere; }
  .bp-print tr { break-inside: avoid; }
}

.bp-section fieldset[data-bp-level="elevated"] { border-inline-start: 4px solid #ab7900; }
.bp-section fieldset[data-bp-level="stage1"] { border-inline-start: 4px solid #b45309; }
.bp-section fieldset[data-bp-level="stage2"] { border-inline-start: 4px solid #b42318; }
.bp-section fieldset[data-bp-level="critical"] { border: 2px solid #751a3a; }
.bp-urgent h3 { margin: 0 0 .4rem; color: white; }
.bp-urgent a { color: white; }

.labs-intro { margin-top: 1rem; }
.labs-panel label { display: grid; gap: .4rem; margin-block: .75rem; min-width: 0; }
.labs-panel input, .labs-panel textarea {
  width: 100%; min-width: 0; padding: .6rem;
  border: 1px solid var(--line); border-radius: 8px;
  font: inherit; color: inherit; background: var(--panel);
}
.labs-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .5rem 1rem; }
.labs-entry { min-width: 0; padding: 1rem; border: 1px solid var(--line); border-radius: 12px; margin-block: 1rem; }
.labs-panel .button { border: 0; cursor: pointer; margin: .35rem .25rem .35rem 0; font: inherit; }
.labs-report { border-bottom: 1px solid var(--line); padding-block: 1rem; overflow-wrap: anywhere; }
.labs-report p { margin-top: .4rem; }
.labs-results { list-style: none; padding: 0; }
.labs-indicator { padding-block: 1rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.labs-indicator h4 { margin: 0 0 .5rem; }
.labs-panel p.labs-value { font-size: 1.1rem; color: var(--ink); font-weight: 600; }
.labs-mark { display: inline-block; padding: .3rem .6rem; border-radius: 8px; margin-top: .5rem; }
.labs-panel p.labs-within { color: #145331; background: #d8f3e2; }
.labs-panel p.labs-above, .labs-panel p.labs-below { color: #763700; background: #ffdfbf; }
#labs-status { overflow-wrap: anywhere; }

.labs-photo-preview { display: block; width: 100%; max-height: 600px; object-fit: contain; margin-top: .8rem; border: 1px solid var(--line); }
.labs-ocr-text { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.labs-panel .labs-confirm { display: flex; align-items: flex-start; gap: .6rem; }
.labs-panel .labs-confirm input { width: auto; flex-shrink: 0; margin-top: .25rem; }
