:root{color:#17212b;background:#dfe7ec;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #f7f9fb;--ink: #17212b;--protocol: #24577d;--protocol-deep: #173e5c;--mist: #e6eef4;--verified: #2e6b57;--verified-soft: #e3efe9;--deviation: #c65a4a;--deviation-soft: #f9e9e6;--line: #c9d6df;--muted: #60707e;--shadow: 0 18px 50px rgb(23 33 43 / .12)}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{min-height:100%;background:#dfe7ec}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;color:var(--ink);background:#dfe7ec}button,input,select,textarea{color:inherit;font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #78a9cb;outline-offset:2px}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:ui-rounded,system-ui,sans-serif;letter-spacing:-.025em}h1{margin-bottom:0;font-size:clamp(1.8rem,8vw,2.25rem);line-height:1.05;font-weight:720}h2{margin-bottom:0;font-size:1rem;line-height:1.3}h3{margin-bottom:.35rem;font-size:1rem;line-height:1.35}p{margin-bottom:.75rem;line-height:1.5}small{color:var(--muted);font-size:.77rem;line-height:1.4}.tabular{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.app-viewport,.login-screen,.boot-screen{width:min(100%,430px);min-height:100vh;min-height:100dvh;margin-inline:auto;background:var(--paper);box-shadow:var(--shadow)}.app-viewport{position:relative;isolation:isolate}.app-viewport:before,.login-sheet:before{position:absolute;z-index:2;top:0;right:0;left:0;height:5px;content:"";background:var(--protocol)}.app-content{min-height:100vh;min-height:100dvh;padding-bottom:6.25rem;outline:none}.app-content--standalone{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.standalone-session-action{margin-top:-.75rem;padding:0 1rem 2rem}.screen{display:grid;gap:1.35rem;padding:1.25rem 1rem 2rem}.screen-header{padding-top:.7rem}.screen-header__row{display:flex;align-items:center;gap:.7rem}.screen-header__copy{min-width:0;flex:1}.screen-header__action{flex:0 0 auto}.screen-description,.login-intro{max-width:36ch;margin:.6rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.5}.eyebrow{margin:0 0 .3rem;color:var(--protocol);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.66rem;font-weight:740;letter-spacing:.105em;line-height:1.3}.icon-button,.avatar-button{display:inline-grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:11px;background:#fff}.icon-button--primary,.avatar-button{color:#fff;border-color:var(--protocol);background:var(--protocol)}.avatar-button{border-radius:50%;font-family:ui-rounded,system-ui,sans-serif;font-weight:750}.bottom-nav{position:fixed;z-index:20;right:max(0px,calc((100vw - 430px)/2));bottom:0;left:max(0px,calc((100vw - 430px)/2));display:grid;grid-template-columns:repeat(4,1fr);padding:.45rem .55rem max(.45rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f7f9fbfa}.bottom-nav button{min-width:0;min-height:52px;padding:.32rem .15rem;color:var(--muted);border:0;border-radius:9px;background:transparent;font-size:.68rem}.bottom-nav button svg,.bottom-nav button span{display:block;margin-inline:auto}.bottom-nav button span{margin-top:.18rem}.bottom-nav button[aria-current=page]{color:var(--protocol);background:var(--mist);font-weight:700}.offline-banner{position:sticky;z-index:25;top:0;display:flex;min-height:36px;align-items:center;justify-content:center;gap:.45rem;padding:.45rem 1rem;color:#fff;background:var(--deviation);font-size:.76rem;font-weight:700}.section-heading{display:flex;min-height:32px;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.65rem;padding-bottom:.45rem;border-bottom:1px solid var(--line)}.section-heading h2{color:var(--protocol-deep);font-size:1.05rem}.section-heading span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;border:1px solid transparent;border-radius:10px;font-family:ui-rounded,system-ui,sans-serif;font-size:.88rem;font-weight:730}.button--wide{width:100%}.button--primary{color:#fff;border-color:var(--protocol);background:var(--protocol)}.button--secondary{color:var(--protocol-deep);border-color:#9cb7ca;background:#fff}.button--danger{color:#8d352a;border-color:#e3ada6;background:var(--deviation-soft)}.text-button{display:inline-flex;min-height:44px;align-items:center;gap:.25rem;padding:.4rem 0;color:var(--protocol);border:0;background:transparent;font-size:.78rem;font-weight:720}.text-button--center{justify-content:center}.form-stack{display:grid;gap:.9rem}.form-card,.activation-card{display:grid;gap:.9rem;padding:1rem;border:1px solid #b8cbd9;border-top:4px solid var(--protocol);border-radius:12px;background:#fff}.form-card__heading{display:flex;align-items:flex-start;gap:.7rem;color:var(--protocol-deep)}.form-card__heading svg{flex:0 0 auto;margin-top:.1rem}.form-card__heading h2{font-size:1.08rem}.form-card__heading p{margin:.15rem 0 0;color:var(--muted);font-size:.8rem}.field{display:grid;gap:.35rem;min-width:0;color:var(--ink);font-size:.78rem;font-weight:690}.field>span small{margin-left:.25rem;font-weight:500}.field input,.field select,.field textarea,.date-control input{width:100%;min-width:0;min-height:46px;padding:.65rem .72rem;border:1px solid #aebfcb;border-radius:8px;background:#fbfdfe;font-weight:500}.field textarea{min-height:72px;resize:vertical;line-height:1.4}.field input::placeholder,.field textarea::placeholder{color:#85939d}.field input:is([type=date],[type=datetime-local],[type=time],[type=month],[type=week]){width:auto;justify-self:stretch}.field--measurement input{min-height:58px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.42rem;font-variant-numeric:tabular-nums}.measurement-entry{display:grid;grid-template-columns:minmax(0,2fr) minmax(86px,1fr);gap:.65rem}.two-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.inline-message{margin:0;padding:.65rem .75rem;border-left:3px solid;border-radius:3px 8px 8px 3px;font-size:.79rem}.inline-message--success{color:#204f40;border-color:var(--verified);background:var(--verified-soft)}.inline-message--error{color:#84362b;border-color:var(--deviation);background:var(--deviation-soft)}.inline-message--info{color:var(--protocol-deep);border-color:var(--protocol);background:var(--mist)}.state-panel{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#fff}.state-panel>svg{flex:0 0 auto;color:var(--protocol)}.state-panel h2{margin-bottom:.2rem}.state-panel p{margin:0;color:var(--muted);font-size:.8rem}.state-panel--error,.state-panel--offline{border-color:#e4b6af;background:var(--deviation-soft)}.state-panel--error>svg,.state-panel--offline>svg{color:var(--deviation)}.state-panel__action{margin-top:.65rem}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.protocol-rail{display:flex;min-width:0;overflow-x:auto;padding:.25rem 0 .55rem;scrollbar-width:thin}.protocol-rail__item{position:relative;display:grid;min-width:84px;flex:1 0 84px;justify-items:center;text-align:center}.protocol-rail__item:not(:last-child):after{position:absolute;z-index:0;top:16px;left:calc(50% + 18px);width:calc(100% - 36px);height:2px;content:"";background:var(--line)}.protocol-rail__item--complete:not(:last-child):after{background:var(--verified)}.protocol-rail__marker{z-index:1;display:grid;width:34px;height:34px;place-items:center;color:var(--muted);border:2px solid var(--line);border-radius:50%;background:var(--paper);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem;font-weight:800}.protocol-rail__item--complete .protocol-rail__marker{color:#fff;border-color:var(--verified);background:var(--verified)}.protocol-rail__item--current .protocol-rail__marker{color:#fff;border-color:var(--protocol);background:var(--protocol);box-shadow:0 0 0 4px var(--mist)}.protocol-rail__item--warning .protocol-rail__marker{color:#fff;border-color:var(--deviation);background:var(--deviation)}.protocol-rail__label{margin-top:.38rem;font-size:.69rem;font-weight:720}.protocol-rail__detail{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.62rem}.stack-list{display:grid;gap:.6rem}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.quick-action{display:grid;min-width:0;min-height:72px;place-items:center;gap:.2rem;padding:.55rem .2rem;color:var(--protocol-deep);border:1px solid #bdd0dc;border-radius:9px;background:#fff;font-size:.69rem;font-weight:700}.list-card,.feature-card{display:flex;width:100%;min-height:62px;align-items:center;gap:.72rem;padding:.72rem;color:inherit;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left}.list-card--button,.feature-card{cursor:pointer}.list-card>svg{flex:0 0 auto;color:var(--protocol)}.list-card__body,.feature-card__body{display:grid;min-width:0;flex:1;gap:.12rem}.list-card__body strong,.feature-card__body strong{overflow:hidden;font-family:ui-rounded,system-ui,sans-serif;font-size:.88rem;text-overflow:ellipsis}.feature-card__icon,.card-icon{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;color:var(--protocol);border-radius:9px;background:var(--mist)}.attention-card{display:grid;grid-template-columns:auto 1fr;gap:.75rem;padding:1rem;color:var(--protocol-deep);border:1px solid #9dbbd0;border-left:5px solid var(--protocol);border-radius:8px 12px 12px 8px;background:var(--mist)}.attention-card h2{font-size:1.08rem}.attention-card p:not(.eyebrow){margin:.18rem 0 0;font-size:.8rem}.attention-card .button{grid-column:1 / -1}.plan-card,.instruction-card{padding:.85rem .9rem;border:1px solid var(--line);border-left:4px solid var(--protocol);border-radius:7px 10px 10px 7px;background:#fff}.plan-card p:not(.eyebrow),.instruction-card p:not(.eyebrow){margin:.3rem 0 0;color:#445361;font-size:.8rem}.instruction-line{padding-top:.45rem;border-top:1px dashed var(--line)}.scope-note{margin:0;padding:.75rem;color:var(--muted);border-top:1px solid var(--line);font-size:.73rem;line-height:1.45}.measurement-list{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.measurement-record:not(:last-child){border-bottom:1px solid var(--line)}.measurement-record .measurement-row{border-bottom:0}.measurement-row,.template-row,.activation-row,.checkin-row{display:flex;min-height:58px;align-items:center;gap:.7rem;padding:.7rem .75rem;border-bottom:1px solid var(--line)}.measurement-row:last-child,.template-row:last-child,.activation-row:last-child,.checkin-row:last-child{border-bottom:0}.measurement-row__icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;color:var(--protocol);border-radius:8px;background:var(--mist)}.measurement-row>div:last-child,.template-row>div,.activation-row>div,.checkin-row>div{display:grid;flex:1;gap:.1rem}.measurement-row strong{font-size:1.02rem}.measurement-row__delete{width:44px;height:44px;color:var(--deviation);border-color:transparent;background:transparent}.measurement-delete{display:grid;gap:.7rem;padding:.8rem;border-top:1px dashed #d9aaa3;background:var(--deviation-soft)}.measurement-delete>div:first-child{display:grid;gap:.15rem}.measurement-delete__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.protocol-sheet,.progress-sheet{padding:.9rem;border:1px solid #b4c9d8;border-top:4px solid var(--protocol);border-radius:11px;background:var(--mist)}.protocol-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;margin-bottom:.85rem}.protocol-sheet__header h2{font-size:1.05rem}.status-chip,.version-badge{display:inline-flex;min-height:27px;align-items:center;justify-content:center;padding:.2rem .5rem;border-radius:999px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.66rem;font-weight:800}.status-chip--active,.version-badge{color:var(--protocol-deep);background:#d3e3ee}.status-chip--done{color:#204f40;background:var(--verified-soft)}.day-session-list{display:grid;gap:.75rem}.day-session{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.day-session__heading{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;background:#f0f5f8}.day-session__heading>div{display:grid}.step-number{display:grid;width:30px;height:30px;place-items:center;color:#fff;border-radius:50%;background:var(--protocol);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem;font-weight:800}.day-session__periods{display:grid;grid-template-columns:repeat(2,1fr)}.session-button{display:flex;min-height:52px;align-items:center;justify-content:space-between;padding:.65rem .75rem;border:0;border-top:1px solid var(--line);background:#fff;font-weight:700}.session-button:first-child{border-right:1px solid var(--line)}.session-button--completed{color:var(--verified);background:var(--verified-soft)}.session-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.65rem;border-top:1px dashed var(--line)}.session-results>div{display:grid;gap:.12rem}.session-results span{font-size:.67rem}.triplet-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:#fff}.triplet-card legend,.observation-card legend{padding:0 .35rem;color:var(--protocol);font-family:ui-rounded,system-ui,sans-serif;font-size:.79rem;font-weight:760}.triplet-card label{display:grid;gap:.3rem;min-width:0;text-align:center}.triplet-card label>span{display:grid;font-size:.7rem;font-weight:760}.triplet-card input{width:100%;min-height:54px;padding:.45rem .25rem;border:1px solid #aebfcb;border-radius:8px;background:#fbfdfe;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem;text-align:center}.lab-card{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.lab-card__top{display:flex;align-items:center;gap:.65rem;padding:.8rem}.lab-card__top--button{width:100%;min-height:68px;color:inherit;border:0;background:#fff;text-align:left}.lab-card__copy{display:grid;min-width:0;flex:1;gap:.15rem}.lab-card__copy>strong{overflow:hidden;font-family:ui-rounded,system-ui,sans-serif;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.lab-card__copy>span{color:var(--muted);font-size:.72rem}.lab-card__footer{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .8rem;border-top:1px solid var(--line);background:#f2f6f8;font-size:.72rem}.pagination-button{margin-top:.75rem}.form-limit{margin-top:-.45rem;text-align:right}.lab-version-row{display:flex;width:100%;min-height:66px;align-items:center;gap:.7rem;padding:.7rem .75rem;color:inherit;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left}.lab-version-row:last-child{border-bottom:0}.lab-version-row__body{display:grid;min-width:0;flex:1;gap:.12rem}.lab-version-row>svg{flex:0 0 auto;color:var(--protocol)}.lab-version-sheet{display:grid;gap:.8rem;padding:.9rem;border:1px solid #b8cbd9;border-top:4px solid var(--protocol);border-radius:11px;background:#fff}.lab-version-sheet__heading{display:flex;align-items:center;gap:.7rem}.source-metadata{display:grid;gap:.6rem;margin:0}.source-metadata>div{display:grid;gap:.12rem;padding-top:.55rem;border-top:1px dashed var(--line)}.source-metadata dt{color:var(--muted);font-size:.68rem;font-weight:720}.source-metadata dd{margin:0;overflow-wrap:anywhere;font-size:.8rem;line-height:1.45}.lab-observation-list{display:grid;gap:.75rem}.lab-observation{display:grid;gap:.75rem;padding:.85rem;border:1px solid var(--line);border-left:4px solid var(--protocol);border-radius:7px 10px 10px 7px;background:#fff}.lab-observation__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.source-status{flex:0 0 auto;padding:.22rem .42rem;color:var(--protocol-deep);border-radius:5px;background:var(--mist);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.62rem;font-weight:760}.source-values{display:grid;gap:.5rem}.source-value{display:grid;gap:.15rem;padding:.7rem;border:1px solid #bfd0dc;border-radius:8px;background:var(--mist)}.source-value strong{color:var(--protocol-deep);font-size:1rem}.source-value span{color:var(--muted);font-size:.68rem}.source-details{padding:.65rem .7rem;border-left:3px solid #9cb7ca;background:#f2f6f8;font-size:.75rem}.source-details ul{margin:.35rem 0 0;padding-left:1.1rem}.source-details li+li{margin-top:.25rem}.source-metadata--observation>div:first-child{border-top:0}.observation-card{position:relative;display:grid;gap:.8rem;margin:0;padding:.8rem;border:1px solid var(--line);border-left:4px solid var(--protocol);border-radius:7px 10px 10px 7px;background:#fff}.observation-card__remove{position:absolute;top:.25rem;right:.45rem;color:var(--deviation)}.activation-card{grid-template-columns:auto 1fr}.activation-card__mark{display:grid;width:42px;height:42px;place-items:center;color:#fff;border-radius:9px;background:var(--protocol)}.activation-card__copy h2{font-size:1.15rem}.activation-card__copy p:not(.eyebrow){margin:.25rem 0 0;color:var(--muted);font-size:.77rem}.activation-card .field,.activation-card .inline-message,.activation-card .button{grid-column:1 / -1}.template-row,.activation-row,.checkin-row{border:1px solid var(--line);border-radius:9px;background:#fff}.template-row>svg,.activation-row>svg,.checkin-row>svg{flex:0 0 auto;color:var(--verified)}.template-row>.template-row__actions{display:flex;flex:0 0 auto;align-items:center;gap:.4rem}.template-row__actions>svg{flex:0 0 auto;color:var(--verified)}.template-row__version-action{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:.25rem;padding:.4rem .5rem;color:var(--protocol-deep);border:1px solid #9cb7ca;border-radius:8px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:740}.template-editor,.editor-card-list{display:grid;gap:1rem}.template-editor__identity .scope-note{margin:0;padding:.7rem 0 0}.editor-version-line{display:flex;align-items:center;gap:.7rem}.editor-version-line>div{display:grid;min-width:0;gap:.1rem}.editor-version-line strong{overflow:hidden;font-family:ui-rounded,system-ui,sans-serif;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.editor-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.editor-sections button{display:grid;min-width:0;min-height:68px;place-items:center;gap:.12rem;padding:.45rem .15rem;color:var(--muted);border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.68rem;font-weight:720}.editor-sections button small{font-size:.62rem}.editor-sections button[aria-pressed=true]{color:var(--protocol-deep);border-color:#8eafc5;background:var(--mist)}.editor-sections button[aria-pressed=true] small{color:var(--protocol)}.editor-empty{display:grid;justify-items:start;gap:.75rem;padding:1rem;border:1px dashed #aebfcb;border-radius:10px;background:#fff}.editor-empty p{margin:0;color:var(--muted);font-size:.8rem}.editor-card,.editor-step{position:relative;display:grid;min-width:0;gap:.85rem;margin:0;padding:.9rem;border:1px solid var(--line);border-left:4px solid var(--protocol);border-radius:7px 10px 10px 7px;background:#fff}.editor-card legend,.editor-step legend{max-width:calc(100% - 48px);padding:0 .35rem;color:var(--protocol-deep);font-family:ui-rounded,system-ui,sans-serif;font-size:.88rem;font-weight:740}.editor-card__remove{position:absolute;z-index:1;top:.35rem;right:.45rem;display:inline-grid;width:40px;height:40px;place-items:center;padding:0;color:var(--deviation);border:0;border-radius:8px;background:transparent}.check-field{display:flex;min-height:44px;align-items:center;gap:.55rem;font-size:.78rem;font-weight:690}.check-field input{width:21px;height:21px;margin:0;accent-color:var(--protocol)}.editor-card--batch{gap:1rem}.batch-step-list{display:grid;gap:.85rem;padding-top:.2rem;border-top:1px dashed var(--line)}.editor-subheading{display:flex;align-items:end;justify-content:space-between;gap:.7rem}.editor-subheading h3{margin:0}.editor-step{border-left-width:1px;background:#f8fbfc}.validation-summary{padding:.8rem .9rem;color:#84362b;border-left:4px solid var(--deviation);border-radius:4px 9px 9px 4px;background:var(--deviation-soft);font-size:.79rem}.validation-summary ul{margin:.45rem 0 0;padding-left:1.15rem}.validation-summary li+li{margin-top:.25rem}.editor-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.65rem;padding-top:.25rem}.date-control{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:.7rem;padding:.45rem .55rem .45rem .8rem;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.78rem;font-weight:700}.date-control input{width:auto;min-width:155px}.deviation-text{margin:.35rem 0 0;padding:.45rem .55rem;color:#813a30;border-left:3px solid var(--deviation);background:var(--deviation-soft);font-size:.75rem}.progress-sheet{display:grid;gap:.65rem}.progress-sheet>div{display:flex;align-items:baseline;justify-content:space-between}.progress-sheet strong{color:var(--protocol-deep);font-size:1.25rem}.progress-sheet span{color:var(--muted);font-size:.72rem}.progress-sheet progress{width:100%;height:8px;overflow:hidden;border:0;border-radius:99px;background:#cbd9e2}.progress-sheet progress::-webkit-progress-bar{background:#cbd9e2}.progress-sheet progress::-webkit-progress-value{background:var(--verified)}.progress-sheet progress::-moz-progress-bar{background:var(--verified)}.shopping-items{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.shopping-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line)}.shopping-item:last-child{border-bottom:0}.shopping-item--purchased{background:var(--verified-soft)}.shopping-item--partial,.shopping-item--unavailable,.shopping-item--substituted,.shopping-item--skipped{background:#fff8f6}.shopping-item__check,.step-check{display:grid;width:44px;height:44px;place-items:center;color:var(--protocol);border:0;border-radius:8px;background:transparent}.shopping-item:not(.shopping-item--pending) .shopping-item__check,.batch-step--done .step-check{color:var(--verified)}.shopping-item__body{display:grid;min-width:0;gap:.1rem;padding:.65rem .15rem}.shopping-item__body strong{font-size:.83rem}.shopping-item__body strong small{color:var(--protocol)}.shopping-item__body>span{color:var(--muted);font-size:.7rem}.shopping-item__manage{padding-right:.7rem;padding-left:.45rem}.shopping-item__form{display:grid;grid-column:1 / -1;gap:.7rem;padding:.75rem;border-top:1px dashed var(--line);background:#f5f8fa}.status-text--partial,.status-text--unavailable,.status-text--substituted,.status-text--skipped{color:var(--deviation)!important;font-weight:700}.batch-step-list{display:grid}.batch-step{display:grid;grid-template-columns:38px minmax(0,1fr)}.batch-step__rail{position:relative;display:grid;justify-items:center}.batch-step__rail span{z-index:1;display:grid;width:32px;height:32px;place-items:center;color:var(--protocol-deep);border:2px solid #9db9cc;border-radius:50%;background:var(--paper);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.65rem;font-weight:800}.batch-step__rail i{position:absolute;top:32px;bottom:-1px;width:2px;background:var(--line)}.batch-step:last-child .batch-step__rail i{display:none}.batch-step--done .batch-step__rail span{color:#fff;border-color:var(--verified);background:var(--verified)}.batch-step--blocked .batch-step__rail span,.batch-step--skipped .batch-step__rail span{color:#fff;border-color:var(--deviation);background:var(--deviation)}.batch-step__content{margin:0 0 .8rem .35rem;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:#fff}.batch-step__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.batch-step__content>p:not(.eyebrow,.ingredient-line,.deviation-text){margin:.5rem 0;color:#445361;font-size:.8rem}.ingredient-line{margin:.5rem 0 0;color:var(--protocol-deep);font-size:.76rem}.batch-step__meta{display:flex;flex-wrap:wrap;gap:.35rem}.batch-step__meta span{padding:.24rem .45rem;color:var(--muted);border-radius:5px;background:var(--mist);font-size:.66rem}.batch-step__form{display:grid;gap:.65rem;margin-top:.45rem;padding-top:.7rem;border-top:1px dashed var(--line)}.privacy-panel,.privacy-note{display:flex;align-items:flex-start;gap:.65rem;padding:.8rem;color:#315367;border:1px solid #b8cbd9;border-radius:10px;background:var(--mist)}.privacy-panel svg,.privacy-note svg{flex:0 0 auto}.privacy-panel p,.privacy-note p{margin:.2rem 0 0;font-size:.75rem}.login-screen{display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom))}.login-sheet{position:relative;width:100%;overflow:hidden;padding:2rem 1.1rem 1.2rem;border:1px solid var(--line);border-radius:14px;background:#fff}.login-sheet h1{max-width:11ch;color:var(--protocol-deep);font-size:2.25rem}.login-seal{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1.7rem;padding:.4rem .55rem;color:var(--protocol-deep);border:1px solid #b8cbd9;border-radius:8px;background:var(--mist);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;font-weight:800;letter-spacing:.08em}.login-sheet .form-stack{margin-top:1.3rem}.login-sheet .privacy-note{margin-top:1rem}.boot-screen{display:grid;place-items:center;padding:1rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
