body{background:#FFF9E8;color:#111A20;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:12.5px}div,text,input,textarea,button{box-sizing:border-box}button{margin:0;padding:0;line-height:normal;font-size:inherit;color:inherit;border-radius:3.5px}button::after{border:none}img{display:block}.screen{min-height:100vh;padding-bottom:80px;background:#FFF9E8}.content{margin:0 22px}.heading{display:flex;align-items:flex-start;justify-content:space-between;margin:21px 0 17px}.title{font-size:26.5px;line-height:1.15;font-weight:600;letter-spacing:-0.5px}.subtitle{font-size:10.5px;font-weight:700;margin-top:7.5px;color:#52616A;letter-spacing:0.2px}.demo{width:69.5px;height:25.5px;flex-shrink:0;margin-left:5px}.panel{background:white;border:2px solid #111A20;border-radius:5.5px;overflow:hidden}.hero{display:flex;align-items:center;position:relative;min-height:82.5px;padding:13.5px 13px;border-left:8.5px solid #6EBCCD;outline:2px solid #111A20;outline-offset:-2px}.hero-title{font-size:19px;line-height:1.2}.hero-copy{font-size:12px;margin-top:11px}.hero-figure{position:absolute;right:9px;top:7.5px;width:59px;height:66px}.hero-span{max-width:250px}.fine{font-size:9px;line-height:1.6;color:#52616A}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:15px;margin:23.5px 0 12px}.btn{border:2px solid #111A20;border-radius:4.5px;background:#6EBCCD;padding:9px 11.5px;font-size:15.5px;line-height:1.25;text-align:center}.yellow{background:#F1D64C}.small-btn{display:inline-flex;border:1.5px solid #111A20;border-radius:3.5px;padding:4px 8px;background:#F1D64C;align-items:center;justify-content:center;font-size:11px}.row{position:relative;display:flex;align-items:center;background:#fff;border:2px solid #111A20;border-radius:4.5px;overflow:hidden;margin-bottom:7.5px}.row-title{font-size:15.5px;line-height:1.3}.row-subtitle{font-size:11.5px;color:#52616A;line-height:1.4;margin-top:2px}.chevron{width:7px;height:12.5px;margin-left:auto;flex-shrink:0}.notice{margin-top:16px}.form-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(17,26,32,.45);z-index:300;display:flex;align-items:center;justify-content:center;padding:18px}.form{background:#FFF9E8;border:2px solid #111A20;border-radius:6px;padding:14px;width:100%;max-height:85vh;overflow:auto}.form-title{font-size:16px;font-weight:600;margin-bottom:10px}.form input{display:block;width:100%;background:white;border:1px solid #111A20;margin:6.5px 0;padding:7.5px;font-size:13px;height:31px}.form-actions{display:flex;gap:8px;margin-top:10px}.form-actions .btn{flex:1;font-size:12px}.badge{border:1px solid #111A20;background:#F1D64C;border-radius:2.5px;font-size:8px;padding:2.5px 6px}.badge.off{background:#DFE2E0}.full{width:100%}.link{background:transparent;text-align:left;padding:0;border:0}.english .title{font-size:20px}.secondary .heading{margin-top:17px}.raster-btn{background:none;padding:0}.raster-btn img{width:100%;height:100%}.raster-btn:active{opacity:.8}/* Editable locale labels preserve the original Haring palette and outlined shapes. */
.demo-label{display:flex;align-items:center;justify-content:center;border:1.5px solid #111A20;border-radius:14px;background:#F1D64C;font-size:10.5px;font-weight:700;width:55px;height:22.5px}.raster-btn{display:flex;align-items:center;justify-content:center;background:#F1D64C;border:1.5px solid #111A20;border-radius:3.5px;font-size:12px;line-height:1.2;padding:4px 7px;height:auto;min-height:30px}.raster-btn span{text-align:center}.hero-span{padding-right:45px}.catalog-results{height:48vh;margin-top:9px}.catalog-row{background:white;border:1px solid #111A20;border-radius:3.5px;padding:9px;margin-bottom:6px}.catalog-add{margin-left:auto;margin-right:4px;font-size:9.5px;max-width:67.5px;flex-shrink:0}.medicine{height:auto;min-height:55px;gap:9px}.medicine>div{flex:1;min-width:0;padding:7px 0}.medicine .row-title{font-size:13.5px;overflow-wrap:break-word}.row-subtitle{overflow-wrap:break-word}.pack-row{min-height:67.5px;height:auto}.category{align-self:stretch;height:auto;min-height:67.5px;padding:6px 4px;font-size:9px}.pack-item{padding:9px;min-width:0}.pack-item .row-title{font-size:12.5px;overflow-wrap:break-word}.vaccine-status{margin-left:auto;margin-right:10px;max-width:70px;text-align:center}.sync-label{font-size:9px;text-align:center;white-space:nowrap;width:auto}.phrase{font-size:10px;min-height:35px;height:auto}.voice{font-size:12px}.english .hero-title{font-size:16.5px}.english .hero-copy{font-size:11px;max-width:190px}.english .heading .title{font-size:18.5px}.english .heading{gap:4px}.english .chat-head{font-size:10px}.english .chat-head button,.english .head-note{padding-right:0;font-size:8px}.pack-foot{gap:6px}.pack-foot button{margin-right:0;flex-shrink:0}.health-link{min-height:30px;height:auto;font-size:11px}.hero-span .profile-settings{height:auto}.emergency-link{white-space:normal}

/* Catalog modal footer never overlays the scroll viewport. */
.catalog-form{display:flex;flex-direction:column;height:85vh;max-height:calc(100vh - 36px);overflow:hidden;min-height:0}
.catalog-form .form-title,.catalog-form>input,.catalog-form>.fine,.catalog-form .form-footer{flex-shrink:0}
.catalog-form .catalog-results{display:block;flex:1;min-height:0;height:0;margin-top:9px;overflow:hidden}
.form-footer{position:relative;flex-shrink:0;background:#FFF9E8;padding-top:8px;border-top:1px solid #DFE2E0}
.catalog-form .form-footer{z-index:1}
.form-footer .form-actions{margin-top:6px}
.rx-label{font-weight:700;color:#111A20}

.snapshot-label{white-space:pre-line}
.snapshot-title{white-space:pre-line}
.header{background:#FFF9E8}.nav{position:relative;display:flex;justify-content:center;align-items:center;min-height:44px}.nav-title{font-size:15.5px}.back{position:absolute;left:18.5px;background:none;width:12.5px;height:17.5px;padding:0;margin:0}.back img{width:100%;height:100%}.back::after,.language::after{border:0}.language{position:absolute;width:53px;height:25px;background:none;padding:0;margin:0}.language img{width:100%;height:100%}.language{background:#FFF9E8;border:1.5px solid #111A20;border-radius:12.5px;display:flex;align-items:center;justify-content:center;gap:3.5px;font-size:10.5px}.language .chosen{font-weight:800;text-decoration:underline}
.bar{position:fixed;left:0;right:0;bottom:0;background:#FFF9E8;z-index:100;display:flex;border-top:2px solid #111A20;padding-bottom:env(safe-area-inset-bottom);height:calc(58px + env(safe-area-inset-bottom))}.tab{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7.5px;font-size:12.5px}.tab.active::before{content:"";position:absolute;left:6.5px;right:6.5px;top:2.5px;height:3.5px;background:#111A20}.icon{width:23.5px;height:23.5px;margin-top:5px}html,body{margin:0;min-height:100%;width:100%;background:#FFF9E8}*{box-sizing:border-box}body{max-width:600px;margin:auto}button,input{font:inherit}button{border:0;cursor:pointer}input{background:transparent;border:0;outline:none;min-width:0}img{object-fit:contain}a{color:inherit}button:focus-visible,[role=button]:focus-visible,input:focus-visible{outline:3px solid #23758a;outline-offset:3px}button{-webkit-tap-highlight-color:transparent}input{font-size:16px!important}.header{padding-top:env(safe-area-inset-top)}.nav{height:52px}.nav-title{font-size:17px;font-weight:500}.language{right:20px;height:30px;width:62px}.back{width:24px;height:36px;left:20px}.screen{padding-bottom:calc(100px + env(safe-area-inset-bottom));min-height:100dvh}.bar{max-width:600px;margin:auto;height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.tab{background:transparent;font-size:13px;gap:5px}.tab .icon{margin-top:5px}.tab.active::before{top:4px}.content{margin:0 22px}.messages{overflow:auto;-webkit-overflow-scrolling:touch}.form-mask{z-index:300;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.form{max-width:540px;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto}.catalog-form{height:85dvh}.catalog-form .catalog-results{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.form input{min-height:42px}.has-form{overflow:hidden}.web-dialog-mask{position:fixed;inset:0;z-index:500;background:#111a2070;display:flex;align-items:center;justify-content:center;padding:20px}.web-dialog{background:#FFF9E8;border:2px solid #111A20;border-radius:8px;width:100%;max-width:500px;max-height:85dvh;overflow:auto;padding:20px}.web-dialog h2{font-size:20px;line-height:1.3;margin:0 0 16px}.dialog-copy{white-space:pre-wrap;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;position:sticky;bottom:-20px;background:#FFF9E8;padding:16px 0 0}.dialog-actions .btn{flex:1;font-size:14px}.dialog-actions .btn:last-child{background:#F1D64C}#toast{display:none;position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#111A20;color:#FFF9E8;padding:12px 18px;border-radius:8px;font-size:14px;z-index:700;max-width:85vw;text-align:center}#toast.show{display:block}.install-button{background:#FFF9E8;border:1.5px solid #111A20;border-radius:5px;padding:8px 12px;width:100%;margin-top:18px;font-size:13px}.install-note{font-size:10px;margin-top:8px;color:#52616A;line-height:1.6}.form-title{line-height:1.3}.hero-text{padding-right:52px}.hero-copy{max-width:220px}.heading .title{overflow-wrap:anywhere}.patient-name,.field-value{overflow-wrap:anywhere}.contact-value{gap:8px;flex-wrap:wrap}.common-row>span{width:45px;flex-shrink:0}.medicine>div{min-width:0;flex:1}.catalog-add{flex-shrink:0}.hero-figure{pointer-events:none}
@media(max-width:359px){.content{margin:0 16px}.title{font-size:23px}.hero-title{font-size:19px}.hero-text{padding-right:42px}.hero-figure{width:50px!important;right:6px!important}.hero-copy{font-size:11px}.common-row{gap:5px}.common-row .phrase{font-size:10px}.chat-head button,.head-note{padding-right:0!important}.phrase-row{gap:8px}.voice-row{gap:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.form-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.form-language{flex-shrink:0;border:1.5px solid #111A20;background:#FFF9E8;border-radius:20px;font-size:11px;padding:5px 9px}.back{width:16px;height:27px}.back img{width:100%;height:100%}.row-subtitle,.emergency-notice{white-space:pre-line}
.pack-row{height:auto!important;min-height:82px;align-items:stretch!important}.pack-row>div{min-width:0}.pack-row .pack-med{padding-top:10px;padding-bottom:10px}.pack-row .pack-name{white-space:pre-line;line-height:1.4}.pack-row .row-title{white-space:pre-line}.pack-row .category{align-self:stretch;display:flex;align-items:center}.pack-row .check{align-self:center;flex-shrink:0}
.pack-row .pack-item{padding:10px 10px;overflow-wrap:anywhere}.pack-row .category{height:auto;padding:10px 6px;min-width:0}.pack-row .snapshot-label{font-size:10px}.pack-row .check{margin-right:10px}

.form-field{display:block;margin-top:10px}.form-field-label{display:block;font-size:13px;font-weight:600;line-height:1.4;margin-bottom:4px}.form-field input{margin:0;min-height:42px}.form-field:focus-within .form-field-label{color:#23758a}

.pack-tools{margin-top:18px}.pack-tools-title{font-size:15px;font-weight:600}.pack-caution{font-size:11px;line-height:1.6;margin:8px 0 12px}.pack-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pack-preset{background:#FFF9E8;border:1.5px solid #111A20;border-radius:5px;padding:9px 8px;font-size:12px;text-align:center;line-height:1.4}.pack-preset[aria-pressed=true]{background:#F1D64C}.pack-selection-tools{display:flex;gap:8px;margin-top:10px}.pack-selection-tools .pack-preset{flex:1;border-color:#52616A;font-size:11px;padding:7px}.pack-search{display:block;margin-top:16px}.pack-search input{display:block;width:100%;background:#fff;border:1.5px solid #111A20;border-radius:5px;padding:10px;min-height:42px}.pack-filter-status{margin-top:6px}.pack-empty{font-size:13px;line-height:1.5}.pack-row .category{overflow-wrap:anywhere}

.pack-rx-review{margin-top:10px;border:1px solid #52616A;border-radius:5px;padding:9px}.pack-rx-review .pack-preset{width:100%}.pack-rx-review p{margin:7px 0 0;font-size:10px;line-height:1.6}
/* Compact pack controls leave the list in view. */
.pack-tools{margin:10px 0 12px!important;padding:0!important}.pack-presets{gap:5px!important}.pack-preset{padding:7px 5px!important;font-size:11px!important;min-height:32px!important}.pack-selection-tools{margin:6px 0!important;gap:5px!important}.pack-search{margin:6px 0!important}.pack-search input{height:35px!important;padding:7px 10px!important}.pack-rx-review{margin:6px 0!important;padding:6px!important}.pack-rx-review>p{margin:5px 0!important}.pack-row .row-title{font-size:14px}.pack-row .pack-item{padding:12px 8px!important}
/* Account panel + passport wallpaper export */
.account-panel{padding:14px;margin-bottom:12px}.account-panel h3{margin:0 0 6px;font-size:16px}
.passport-export{margin-top:14px;padding:14px}.export-title{font-size:17px;font-weight:700;margin-bottom:4px}
.export-tiers{display:flex;gap:6px;margin:8px 0}.export-tiers .export-tier{flex:1}
.export-tier,.export-field{padding:7px 8px;font-size:12px;border:2px solid #111;border-radius:10px;background:#fff}
.export-tier[aria-pressed=true],.export-field[aria-pressed=true]{background:#FFD51F}
.export-fields{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px}
.passport-canvas{width:100%;border-radius:14px;border:2px solid #111;margin:8px 0;background:#FFF9E8;display:block}
.export-download,.export-share{margin-top:8px}
/* Local export preview: each module owns its own download entry. */
.module-export{margin:24px 22px 12px}.module-export-button{width:100%;border:2px solid #111a20;border-radius:10px;background:#f1d64c;font-size:15px;font-weight:600;padding:14px 12px}.module-export-note{text-align:center;font-size:11px;color:#52616a;margin:8px 0}
.export-preview-mask{position:fixed;inset:0;z-index:600;background:#111a2080;display:flex;align-items:center;justify-content:center;padding:12px}.export-preview-dialog{width:100%;max-width:500px;max-height:calc(100dvh - 24px);background:#fff9e8;border-radius:18px;overflow-y:auto;padding:16px;box-shadow:0 12px 40px #0004}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.preview-header h2{font-size:18px;margin:0}.preview-close{background:#fff;border:1px solid #111a20;border-radius:20px;padding:6px 12px;font-size:12px}.preview-hint{font-size:12px;color:#52616a;margin:10px 0}.preview-tabs{display:flex;gap:6px;margin-bottom:12px}.preview-tab{flex:1;border:1.5px solid #111a20;border-radius:9px;padding:8px 5px;font-size:12px;background:#fff}.preview-tab[aria-pressed=true],.preview-field[aria-pressed=true]{background:#f1d64c}.preview-track{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.preview-track::-webkit-scrollbar{display:none}.preview-slide{flex:0 0 100%;width:100%;scroll-snap-align:start;display:flex;justify-content:center;align-items:flex-start;padding:0 6px}.preview-image{display:block;width:auto;max-width:100%;height:auto;max-height:46dvh;object-fit:contain;border-radius:12px;box-shadow:0 2px 10px #1112}.preview-counter{text-align:center;font-size:11px;color:#52616a;margin:10px 0}.preview-fields{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.preview-fields[hidden]{display:none}.preview-field{border:1px solid #111a20;border-radius:7px;padding:7px 10px;background:white;font-size:12px}.preview-review{font-size:12px;color:#23758a;background:none;text-decoration:underline;padding:4px 0;margin-bottom:8px}.preview-actions{display:flex;gap:8px}.preview-save,.preview-share{flex:1;border:1.5px solid #111a20;border-radius:9px;padding:12px 8px;font-size:13px;background:#f1d64c}.preview-share{background:white}.preview-privacy{font-size:10px;text-align:center;color:#52616a;margin:10px 0 0}
