@font-face{font-family:Inter;src:url('/static/fonts/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px;font-synthesis:none;color:#1e293b;background:#0f172a;--app-bg:#f8fafc;--from:#0d9488;--to:#0369a1;--header-text:#fff;--accent:#0d9488;--accent-light:#ccfbf1;--accent-text:#0f766e;--line:#e2e8f0;--muted:#64748b;--soft:#f1f5f9}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 0;font-family:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit}svg{width:19px;height:19px;flex-shrink:0;vertical-align:middle}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #38bdf8;outline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:24px;font-weight:800;letter-spacing:-.6px;line-height:1.25}h2{font-size:14px;line-height:1.4;font-weight:750;letter-spacing:-.15px;margin-bottom:6px}h3{font-size:13px;font-weight:750;margin-bottom:5px}p{line-height:1.6;margin-bottom:12px}a{text-underline-offset:3px}.small{font-size:10px}.muted{color:var(--muted)}.eyebrow{font-size:9px;letter-spacing:1px;font-weight:750;color:var(--accent-text)}.desktop-info{width:412px;max-width:100%;padding:0 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#cbd5e1;font-size:9px;margin-bottom:11px}.desktop-info>span{display:flex;align-items:center;gap:7px}.desktop-info b{color:white;font-size:11px}.info-divider{color:#475569}.live-dot{display:inline-block;width:7px;height:7px;background:#34d399;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #10b9810d}.desktop-theme{display:flex;align-items:center;gap:5px;background:#1e293b;color:#fcd34d;border:1px solid #334155;padding:5px 8px;border-radius:99px;font-size:8px;white-space:nowrap}.desktop-theme svg{width:12px;height:12px}.phone{width:412px;height:860px;max-height:calc(100dvh - 64px);background:var(--app-bg);border:10px solid #1e293b;border-radius:48px;overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:0 25px 70px -15px #000b;transition:background-color .2s}.theme-yellow{--app-bg:#fefce8;--from:#facc15;--to:#eab308;--header-text:#1e293b;--accent:#ca8a04;--accent-light:#fef08a;--accent-text:#854d0e}.header{background:linear-gradient(135deg,var(--from),var(--to));color:var(--header-text);padding:12px 20px 16px;flex-shrink:0;z-index:2}.status-bar{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:650;margin-bottom:13px;min-height:20px;gap:13px}.island{width:96px;height:20px;background:#000;border-radius:20px;position:absolute;left:50%;transform:translateX(-50%);display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-right:16px}.island i{background:#1e293b;width:7px;height:7px;border-radius:50%}.island i:last-child{width:5px;height:5px;background:#064e3b}.status-icons{display:flex;gap:5px;align-items:center;opacity:.9}.status-icons svg{width:13px;height:13px}.status-icons>span:last-child svg{width:17px}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;min-width:0}.brand-icon{width:40px;height:40px;background:#ffffff30;border:1px solid #ffffff40;display:grid;place-items:center;border-radius:15px;flex-shrink:0}.brand-icon svg{width:25px;height:25px}.brand strong{display:flex;align-items:center;gap:5px;font-size:18px;letter-spacing:-.5px;line-height:1.2;font-weight:800;white-space:nowrap}.brand>span>small{display:block;font-size:10px;opacity:.8;margin-top:3px;font-weight:500}.brand strong small{font-size:6px;letter-spacing:.5px;font-weight:800;padding:3px 4px;border-radius:4px;background:#78350f20;color:#78350f}.header-actions{display:flex;gap:7px}.header-button{background:#ffffff22;border:1px solid #ffffff35;color:inherit;border-radius:11px;width:33px;height:33px;display:grid;place-items:center;padding:7px}.header-button svg{width:16px;height:16px}.header-button:hover{background:#ffffff40}main{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;outline:none;scrollbar-width:none}main::-webkit-scrollbar{display:none}.view{padding:16px 15px 24px;animation:fade .18s ease-out}.view>*+*{margin-top:16px}.card{background:white;border:1px solid #f1f5f9;border-radius:24px;padding:16px;box-shadow:0 1px 2px #0f172a05}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:41px;padding:10px 13px;border:1px solid var(--line);border-radius:13px;background:white;color:#475569;font-size:11px;font-weight:700;line-height:1.4;text-decoration:none;transition:background .15s,transform .1s}.btn:hover{background:#f8fafc}.btn:active{transform:scale(.98)}.btn svg{width:16px;height:16px}.btn.primary{background:var(--accent);border-color:var(--accent);color:white}.btn.primary:hover{filter:brightness(.94)}.btn.full{width:100%}.btn.small-btn{padding:7px 11px;min-height:33px;font-size:10px;border-radius:10px}.small-btn svg{width:13px;height:13px}.text-button{border:0;background:none;color:var(--accent-text);padding:7px 0;min-height:32px;font-size:10px;line-height:1.5;font-weight:650;display:inline-flex;align-items:center;gap:4px}.text-button:hover{text-decoration:underline}.text-button svg{width:12px;height:12px}.danger{color:#b91c1c!important}.icon-button{width:30px;height:30px;display:grid;place-items:center;border:0;background:var(--soft);border-radius:50%;color:#64748b;flex-shrink:0}.icon-button svg{width:15px;height:15px}.notice{border:1px solid #fde68a;background:#fffbeb;color:#92400e;border-radius:14px;padding:12px;font-size:10px;line-height:1.65}.notice strong{font-weight:750}.hint{background:#f8fafc;border:1px solid #f1f5f9;padding:11px;border-radius:12px;font-size:10px;color:#64748b;line-height:1.6}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:21px 1px 10px}.section-heading h2{display:flex;align-items:center;gap:6px;margin:0;font-size:12px}.section-heading h2 svg{width:16px;height:16px;color:var(--accent)}.section-heading .text-button{font-size:10px;min-height:24px;padding:0}.section-heading.flush{margin:0 0 12px}.section-heading p{margin:3px 0 0;font-size:10px}.profile-head{display:flex;align-items:center;gap:11px}.profile-avatar{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(135deg,#14b8a6,#0284c7);color:white;border-radius:15px;font-size:17px;font-weight:750;border:0}.profile-info{min-width:0;flex:1}.profile-name{display:flex;align-items:center;gap:5px}.profile-name h2{font-size:14px;margin:0;overflow-wrap:anywhere}.profile-name svg{width:15px;height:15px;color:var(--accent);flex-shrink:0}.profile-info p{font-size:10px;color:#64748b;margin:4px 0 0}.profile-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.profile-badges span{display:inline-block;border-radius:5px;background:#f1f5f9;color:#475569;font-size:9px;padding:3px 6px;max-width:100%;overflow-wrap:anywhere}.profile-badges span:last-child{background:#f0f9ff;color:#0369a1}.profile-settings{width:25px;height:25px;padding:0;background:none;border:0;color:#94a3b8;align-self:start}.profile-settings svg{width:16px;height:16px}.status-banner{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #fde68a;background:#fffbeb;border-radius:16px;margin-top:16px;color:#92400e}.status-banner.good{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.status-banner.neutral{background:#f8fafc;border-color:#e2e8f0;color:#475569}.status-symbol{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border-radius:11px;background:#f59e0b20;color:#d97706}.good .status-symbol{background:#10b98120;color:#059669}.neutral .status-symbol{background:var(--accent-light);color:var(--accent-text)}.status-symbol svg{width:18px;height:18px}.status-copy{flex:1;min-width:0}.status-copy strong{display:block;font-size:10px;line-height:1.5}.status-copy p{font-size:9px;margin:2px 0 0;line-height:1.5}.status-banner button{border:0;background:#fde68a80;color:#92400e;border-radius:10px;padding:7px 9px;min-height:31px;font-size:10px;font-weight:700}.good button{background:#a7f3d080;color:#065f46}.neutral button{background:#e2e8f0;color:#475569}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.stat{border:1px solid #f1f5f9;background:white;border-radius:16px;padding:13px 3px;text-align:center;box-shadow:0 1px 2px #0f172a05}.stat strong{display:block;font-size:22px;font-weight:800;line-height:1.3;letter-spacing:-.5px;color:var(--accent)}.stat:nth-child(2) strong{color:#059669}.stat:nth-child(3) strong{color:#0284c7}.stat span{display:block;font-size:9px;color:#64748b;margin-top:5px;font-weight:500}.cta-card{background:linear-gradient(100deg,var(--from),var(--to));color:var(--header-text);display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:24px;padding:17px;box-shadow:0 3px 7px #0f172a14}.cta-copy{min-width:0}.cta-copy .tag{color:inherit;background:#ffffff30;font-size:8px;letter-spacing:.7px;text-transform:uppercase;padding:3px 7px;font-weight:750}.cta-copy h3{font-size:13px;margin:8px 0 5px}.cta-copy p{font-size:10px;line-height:1.6;opacity:.9;margin:0}.scan-cta{border:0;background:white;color:var(--accent-text);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:750;padding:13px 12px;min-width:70px;box-shadow:0 1px 3px #0001;align-self:center}.scan-cta svg{width:22px;height:22px;color:var(--accent)}.reminder{display:flex;align-items:center;gap:10px;background:white;border:1px solid #f1f5f9;box-shadow:0 1px 2px #0f172a04;border-radius:16px;padding:13px;margin-bottom:9px}.reminder-symbol{height:38px;width:38px;border-radius:13px;background:#fef3c7;color:#d97706;display:grid;place-items:center;flex-shrink:0}.reminder-symbol svg{width:20px;height:20px}.reminder-copy{min-width:0;flex:1}.reminder-title{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.reminder-title b{font-size:11px;overflow-wrap:anywhere}.reminder p{font-size:10px;color:#64748b;margin:4px 0 0;line-height:1.4}.reminder small{display:block;font-size:9px;color:#94a3b8;margin-top:5px;line-height:1.5}.reminder>.btn{min-height:32px;padding:7px 9px;background:var(--accent-light);color:var(--accent-text);border:0;font-size:9px;border-radius:10px}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;background:#d1fae5;color:#065f46;border-radius:99px;font-weight:700;font-size:9px;line-height:1.3}.tag.pending{background:#fef3c7;color:#92400e}.tag.info{background:#e0f2fe;color:#0369a1}.tag.neutral{background:#f1f5f9;color:#64748b}.tag svg{width:11px;height:11px}.recent-record{width:100%;text-align:left;display:flex;align-items:center;gap:11px;border:1px solid #f1f5f9;background:white;border-radius:15px;padding:12px;box-shadow:0 1px 2px #0f172a04;margin-bottom:8px}.recent-record:hover,.vaccine-card:hover{border-color:#99f6e4}.record-symbol{height:35px;width:35px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;background:var(--accent-light);color:var(--accent-text)}.record-symbol.pending{background:#fef3c7;color:#d97706}.record-symbol svg{height:17px;width:17px}.record-copy{min-width:0;flex:1}.record-copy strong{display:block;font-size:10px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-copy p{font-size:9px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0}.record-qr{color:#94a3b8;width:16px;height:16px}.empty{background:white;border:1px solid #f1f5f9;border-radius:17px;padding:22px 15px;text-align:center}.empty>svg{color:var(--accent);width:25px;height:25px;margin-bottom:10px}.empty h3{font-size:11px}.empty p{font-size:10px;color:#94a3b8;line-height:1.6;margin:5px 0 0}.empty .btn{margin-top:12px}.pending-panel{padding:11px 13px;border:1px solid #fde68a;background:#fffbeb;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:#92400e}.pending-panel>span{display:flex;align-items:center;gap:7px}.pending-panel svg{width:16px;height:16px}.pending-panel button{color:#92400e;white-space:nowrap}.list-card{padding:16px;margin-bottom:14px}.search{display:flex;align-items:center;gap:8px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:0 11px}.search svg{width:15px;color:#94a3b8}.search input{background:none;border:0;outline:0;min-width:0;width:100%;padding:12px 0;font-size:10px;color:#334155}.search:focus-within{border-color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:6px;overflow:visible;margin-top:12px;padding-bottom:1px}.chip{flex:0 0 auto;font-size:10px;font-weight:650;border:0;border-radius:10px;padding:8px 11px;white-space:nowrap;background:#f1f5f9;color:#64748b;min-height:32px}.chip.active{background:var(--accent);color:white}.vaccine-card{display:block;text-align:left;width:100%;background:white;border:1px solid #f1f5f9;border-radius:17px;padding:15px;margin-bottom:10px;box-shadow:0 1px 2px #0f172a04}.vaccine-card-top{display:flex;justify-content:space-between;gap:9px}.vaccine-card h3{font-size:12px;line-height:1.5;margin:7px 0 3px;overflow-wrap:anywhere}.vaccine-card p{font-size:10px;color:var(--accent-text);margin:0;line-height:1.5;overflow-wrap:anywhere}.qr-box-small{width:34px;height:34px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc;display:grid;place-items:center;color:#64748b;flex-shrink:0}.qr-box-small svg{width:16px;height:16px}.vaccine-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;color:#64748b;border-top:1px solid #f1f5f9;margin-top:12px;padding-top:10px}.vaccine-card-footer b{color:#334155;font-weight:650}.batch{font-family:ui-monospace,SFMono-Regular,monospace;background:#f1f5f9;padding:3px 6px;border-radius:5px;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav{flex-shrink:0;display:flex;justify-content:space-around;align-items:center;background:#fffffff5;border-top:1px solid #e2e8f0;padding:8px 8px 5px;z-index:3}.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#94a3b8;font-size:9px;font-weight:500;border:0;background:none;padding:4px 3px;flex:1;min-height:43px;border-radius:12px}.bottom-nav button.active{color:var(--accent);font-weight:750}.bottom-nav svg{width:20px;height:20px}.bottom-nav .add-icon{display:grid;place-items:center;height:35px;width:35px;background:var(--accent);color:white;border:2px solid white;border-radius:13px;box-shadow:0 3px 5px #0f172a17;margin-top:-17px;margin-bottom:0}.bottom-nav .add-icon svg{width:21px;height:21px}.bottom-nav #pending-dot{width:7px;height:7px;border-radius:50%;position:absolute;top:0;right:26%;background:#f59e0b;border:1px solid white}.home-indicator{height:13px;background:white;flex-shrink:0;position:relative}.home-indicator:after{position:absolute;content:'';height:4px;width:110px;border-radius:10px;background:#0f172a;bottom:5px;left:50%;transform:translateX(-50%)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:white;border:1px solid #e2e8f0;border-radius:15px;padding:5px;margin-bottom:16px;box-shadow:0 1px 2px #00000004}.segmented button{border:0;background:none;display:flex;justify-content:center;align-items:center;gap:6px;padding:10px 4px;border-radius:10px;font-size:10px;font-weight:700;min-height:36px;color:#64748b}.segmented button.active{color:white;background:var(--accent);box-shadow:0 1px 3px #0001}.segmented svg{width:15px;height:15px}.scanner-card{background:#0f172a;color:white;border:1px solid #1e293b;padding:15px;border-radius:24px;box-shadow:0 5px 12px #0f172a15}.scanner-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:9px;margin-bottom:13px}.scanner-heading>span:first-child{display:flex;align-items:center;gap:7px;color:#34d399;font-weight:650}.scanner-heading .live-dot{height:6px;width:6px}.scanner-tag{color:#cbd5e1;background:#ffffff14;border-radius:99px;padding:4px 7px;font-size:8px;white-space:nowrap}.scan-viewport{height:225px;background:linear-gradient(#1e293b,#0f172a,#1e293b);border:2px dashed #10b98170;border-radius:17px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px}.scan-corner{position:absolute;height:22px;width:22px;border-style:solid;border-color:#34d399;z-index:1}.tl{top:12px;left:12px;border-width:3px 0 0 3px;border-top-left-radius:6px}.tr{top:12px;right:12px;border-width:3px 3px 0 0;border-top-right-radius:6px}.bl{bottom:12px;left:12px;border-width:0 0 3px 3px;border-bottom-left-radius:6px}.br{bottom:12px;right:12px;border-width:0 3px 3px 0;border-bottom-right-radius:6px}.scan-paper{width:165px;height:120px;background:#f9e4a1;color:#786337;border-radius:4px;box-shadow:0 6px 15px #0002;transform:rotate(-6deg);padding:13px;position:relative}.scan-paper b{font-size:9px;letter-spacing:1.3px;display:block;margin-bottom:9px}.scan-paper>span{font-size:7px;display:block}.scan-paper i{display:block;border-bottom:1px solid #99804d50;height:15px}.scan-paper .paper-stamp{border:2px solid #357e8a90;color:#357e8ab0;border-radius:50%;height:37px;width:37px;display:grid;place-items:center;font-size:7px;position:absolute;right:12px;bottom:10px;transform:rotate(16deg)}.scan-viewport p{font-size:9px;color:#cbd5e1;text-align:center;line-height:1.5;margin:0;z-index:1}.scanner-laser{position:absolute;left:6%;right:6%;height:2px;background:linear-gradient(90deg,transparent,#10b981,#34d399,#10b981,transparent);box-shadow:0 0 12px 2px #10b98180;animation:laser 2.4s infinite ease-in-out;z-index:2}.consent{display:flex;align-items:flex-start;gap:8px;font-size:10px;color:#64748b;line-height:1.6;margin-top:15px}.consent input{height:16px;width:16px;flex-shrink:0;accent-color:var(--accent);margin:1px 0 0}.consent .text-button{font-size:9px;min-height:24px;padding:0}.scanner-card .consent{color:#cbd5e1;font-size:9px}.scanner-card .consent .text-button{color:#5eead4;display:inline}.upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.scan-green{background:#10b981;border:0;color:#022c22;font-size:10px}.scan-green:hover{background:#34d399}.scan-blue{background:#0ea5e9;border:0;color:#082f49;font-size:10px}.scan-blue:hover{background:#38bdf8}.scanner-code{border-color:#334155;background:#ffffff08;color:#e2e8f0;font-size:9px;min-height:35px;margin-top:9px}.scanner-code:hover{background:#ffffff15}.scanner-note{color:#94a3b8;text-align:center;font-size:8px;margin:12px 0 0}.scanner-card .notice{margin-top:13px}.sources-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sources-list>.empty{grid-column:1/-1}.source-card{background:white;border:1px solid #f1f5f9;border-radius:15px;padding:10px;overflow:hidden}.source-photo{height:95px;width:100%;border:0;background:#f1f5f9;border-radius:9px;overflow:hidden;padding:0;display:block;margin-bottom:10px}.source-photo img{width:100%;height:100%;object-fit:cover}.source-card h3{font-size:9px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:7px}.source-card .tag{font-size:8px}.source-card p{font-size:9px;color:#64748b;margin:8px 0 0;overflow-wrap:anywhere}.source-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;margin-top:5px}.source-actions button{font-size:8px;min-height:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 10px;margin:16px 0}.field{display:block;min-width:0}.field.wide{grid-column:1/-1}.field>span{display:block;font-weight:700;font-size:10px;color:#334155;margin-bottom:6px}.field input,.field select,.field textarea{font-size:11px;width:100%;max-width:100%;min-height:39px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:10px;color:#1e293b}.field input[type=date]{min-width:0;appearance:none;-webkit-appearance:none}.field textarea{height:75px;resize:vertical}.field small{font-size:8px;color:#94a3b8;display:block;margin-top:5px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:0;background:white}.form-actions{display:flex;gap:8px;margin-top:16px}.form-actions .btn{flex:1}.account-card{margin-top:15px}.account-card>.text-button{display:flex}.external-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e2e8f0;padding:13px 0;font-size:10px;font-weight:600;text-decoration:none}.external-row svg{width:13px;height:13px}.emergency-card{background:linear-gradient(135deg,#e11d48,#b91c1c);color:white;border-radius:24px;padding:16px;box-shadow:0 3px 7px #e11d4810}.emergency-heading{display:flex;align-items:center;justify-content:space-between;gap:9px}.emergency-heading>div{display:flex;align-items:center;gap:9px}.emergency-icon{background:#ffffff30;border-radius:12px;width:33px;height:33px;display:grid;place-items:center}.emergency-icon svg{width:21px;height:21px}.emergency-heading h2{font-size:12px;margin:0}.emergency-heading p{font-size:9px;opacity:.85;margin:2px 0 0}.emergency-heading .tag{background:#ffffff30;color:white;font-size:8px;letter-spacing:.5px;padding:5px 8px}.emergency-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#0002;border-radius:15px;padding:12px 4px;margin:14px 0 0;text-align:center}.emergency-grid>div+div{border-left:1px solid #ffffff26}.emergency-grid span{display:block;color:#fecdd3;font-size:8px;margin-bottom:5px}.emergency-grid strong{display:block;font-size:10px;overflow-wrap:anywhere;padding:0 5px}.emergency-contact{border-top:1px solid #ffffff26;padding-top:11px;margin-top:12px;font-size:9px;line-height:1.6;display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap}.emergency-contact a{font-family:ui-monospace,monospace;background:#ffffff25;border-radius:7px;padding:3px 6px;text-decoration:none}.emergency-card .edit-emergency{color:white;opacity:.9;font-size:9px;min-height:25px;padding:0;margin-top:8px}.countries{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.country{border:1px solid #e2e8f0;background:white;border-radius:15px;text-align:center;padding:10px 4px;min-height:64px}.country .flag{display:block;font-size:20px;margin-bottom:4px}.country strong{font-size:10px}.country.active{border:2px solid var(--accent);background:var(--accent-light);padding:9px 3px}.country-summary{padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:10px}.country-summary strong{font-size:10px}.country-summary p{font-size:9px;color:#64748b;margin:5px 0 0;line-height:1.6}.requirement{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:12px;display:flex;align-items:center;gap:9px;margin-top:8px}.requirement.present{background:#ecfdf580;border-color:#a7f3d0}.requirement-icon{height:27px;width:27px;border-radius:10px;display:grid;place-items:center;background:#f59e0b;color:white;flex-shrink:0}.present .requirement-icon{background:#10b981}.requirement-icon svg{height:15px;width:15px}.requirement-copy{flex:1;min-width:0}.requirement-copy strong{font-size:10px;line-height:1.5;display:block}.requirement-copy p{font-size:9px;margin:3px 0 0;color:#92400e;line-height:1.5}.present .requirement-copy p{color:#047857}.requirement-copy small{font-size:8px;color:#94a3b8;display:block;margin-top:3px}.requirement .btn{font-size:8px;padding:6px 8px;border-radius:9px;min-height:31px;background:white;color:var(--accent-text);border-color:#99f6e4}.travel-foot{font-size:8px;color:#94a3b8;line-height:1.6;margin:12px 1px 0}.travel-source{font-size:9px;color:var(--accent-text);display:flex;align-items:center;gap:4px;margin-top:12px}.travel-source svg{height:12px;width:12px}dialog{position:fixed;left:50%;bottom:max(4vh,25px);transform:translateX(-50%);margin:0;width:370px;max-width:calc(100% - 30px);max-height:min(81dvh,760px);overflow-y:auto;scrollbar-width:none;padding:0;border:1px solid #f1f5f9;border-radius:30px;background:white;color:#1e293b;box-shadow:0 15px 60px #0003}dialog::backdrop{background:#0f172a90;backdrop-filter:blur(2px)}.dialog-handle{width:37px;height:4px;background:#e2e8f0;border-radius:10px;margin:10px auto 0}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #f1f5f9;padding:10px 18px 12px;background:white;position:sticky;top:0;z-index:2}.dialog-header h2{font-size:12px;margin:0}#dialog-content{padding:16px 18px 19px}#dialog-content p{font-size:10px}.detail-title{font-size:15px;font-weight:800;line-height:1.45;letter-spacing:-.2px;margin:13px 0 4px;overflow-wrap:anywhere}.detail-sub{font-size:11px;color:var(--accent-text);font-weight:650;margin:0}.qr-certificate{background:#f8fafc;border:1px solid #e2e8f0;border-radius:25px;padding:16px;margin:16px 0;display:flex;flex-direction:column;align-items:center;text-align:center}.qr-image-wrap{height:164px;width:164px;background:white;display:grid;place-items:center;padding:5px;border:1px solid #e2e8f0;border-radius:17px}.qr-image-wrap img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.qr-reference{font-family:ui-monospace,monospace;font-size:8px;color:#64748b;margin:11px 0 5px;overflow-wrap:anywhere;max-width:100%}.qr-assurance{font-size:9px;color:#047857;font-weight:650;display:flex;align-items:center;gap:4px}.qr-assurance svg{width:12px;height:12px}.qr-caption{font-size:8px!important;color:#94a3b8;line-height:1.5;margin:7px 0 0;max-width:245px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:13px 0}.detail-grid>div{background:#f8fafc;border:1px solid #f1f5f9;border-radius:15px;padding:12px;overflow-wrap:anywhere}.detail-grid span{display:block;font-size:8px;color:#94a3b8;margin-bottom:5px;font-weight:500}.detail-grid strong{font-size:10px;color:#1e293b;line-height:1.6}.detail-grid .wide{grid-column:1/-1}.detail-grid .accent strong{color:var(--accent-text)}.detail-original{margin:13px 0;background:var(--accent-light);border:0;border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;color:var(--accent-text);text-decoration:none;width:100%;font-size:10px;font-weight:700}.detail-original svg{width:16px;height:16px}.detail-close{background:#0f172a!important;color:white!important;border:0!important;margin-top:5px;min-height:40px}.original-preview{margin:12px 0;border-radius:15px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc}.original-preview summary{font-size:10px;color:var(--accent-text);font-weight:650;padding:12px;cursor:pointer}.original-preview img{width:100%;display:block;max-height:400px;object-fit:contain}.original-preview a{display:block;font-size:9px;color:var(--accent-text);padding:10px 12px}.photo-view{max-width:100%;width:100%;object-fit:contain;max-height:60vh;border-radius:13px;background:#f8fafc}.evidence{font-size:9px;background:#f8fafc;border-left:2px solid var(--accent);padding:10px;line-height:1.6;margin:10px 0;overflow-wrap:anywhere}.detail-note{font-size:8px!important;color:#94a3b8;line-height:1.6;margin-top:12px!important;margin-bottom:0!important}.patient-name{text-align:center;margin:12px 0}.patient-name h3{font-size:16px;margin-bottom:5px}.patient-name p{font-size:10px;color:#64748b;margin:0}.patient-quick{display:flex;gap:8px;margin:10px 0 16px}.patient-quick .btn{flex:1;font-size:9px}.qr-certificate.patient .qr-image-wrap{width:190px;height:190px}.scan-video{width:100%;height:220px;object-fit:cover;background:#0f172a;border-radius:15px}.scan-error{font-size:10px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;padding:12px;border-radius:12px}.barcode-result{white-space:pre-wrap;word-break:break-all;border:1px solid #e2e8f0;background:#f8fafc;font-size:10px;padding:12px;border-radius:12px;max-height:170px;overflow:auto}.toast{position:fixed;top:80px;left:50%;transform:translateX(-50%);background:#0f172a;border:1px solid #334155;color:white;display:flex;align-items:center;gap:9px;border-radius:16px;padding:13px 15px;font-size:10px;line-height:1.6;z-index:100;width:340px;max-width:calc(100% - 32px);box-shadow:0 8px 20px #0003}.toast:before{content:'✓';color:#34d399;font-size:16px;flex-shrink:0}.loading{text-align:center;padding:55px 15px;font-size:11px;color:#64748b}.spinner{display:inline-block;width:24px;height:24px;border:2px solid #e2e8f0;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.welcome{padding:25px 20px;text-align:center}.welcome .notice{margin-bottom:20px;text-align:left}.welcome-badge{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 18px;background:var(--accent-light);color:var(--accent-text);border-radius:19px}.welcome-badge svg{width:31px;height:31px}.welcome h1{margin:8px 0 13px;font-size:25px}.intro{font-size:11px;color:#64748b;line-height:1.8}.welcome-book{height:204px;width:153px;display:flex;flex-direction:column;align-items:center;margin:25px auto 29px;background:#f0d683;border:1px solid #e2c268;border-left:7px solid #d1b461;border-radius:4px 8px 8px 4px;color:#856321;padding:16px 11px;transform:rotate(-5deg);box-shadow:8px 10px 0 #e2e8f080,0 7px 12px #0f172a12}.welcome-book>span:first-child{font-size:5px;letter-spacing:.7px;font-weight:650;white-space:nowrap}.welcome-book>span[data-icon],.welcome-book>span:has(svg){margin:18px 0 9px}.welcome-book svg{width:29px;height:32px}.welcome-book strong{font-size:21px;font-weight:700}.welcome-book small{font-size:6px;margin-top:6px}.welcome-book i{height:1px;background:#a2813340;width:95%;margin:18px 0 10px}.welcome .btn{min-height:44px}.login-hint{font-size:9px;color:#64748b;margin:14px 0 20px}.login-hint a{color:var(--accent-text);font-weight:650}.welcome-benefits{display:flex;align-items:center;justify-content:center;gap:17px;margin-bottom:17px;color:#64748b;font-size:8px}.welcome-benefits span{display:flex;align-items:center;gap:4px}.welcome-benefits svg{width:12px;height:12px;color:var(--accent)}.skip{position:fixed;top:-100px;z-index:150;background:white;padding:12px}.skip:focus{top:8px}.privacy-content h3{margin-top:18px}.privacy-content p{color:#64748b;font-size:10px;line-height:1.7}.profile-form-foot{font-size:9px;color:#94a3b8;line-height:1.6}.account-card h2{margin-bottom:13px}.account-card>.btn{margin-bottom:10px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes laser{0%,100%{top:9%;opacity:.75}50%{top:87%;opacity:1}}@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:479px){body{padding:0;background:var(--app-bg);display:block}.desktop-info{display:none}.phone{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none}.header{padding:calc(10px + env(safe-area-inset-top)) 23px 15px}.island{display:none}.status-bar{margin-bottom:11px;min-height:17px}.brand strong{font-size:18px}.bottom-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom));padding-top:8px}.home-indicator{display:none}dialog{width:100%;max-width:100%;max-height:90dvh;bottom:0;border-radius:30px 30px 0 0;border-bottom:0}#dialog-content{padding:16px 20px calc(20px + env(safe-area-inset-bottom))}.dialog-header{padding-left:20px;padding-right:20px}.toast{top:calc(80px + env(safe-area-inset-top));width:calc(100% - 32px)}.view{padding:16px 16px 26px}.welcome{padding-left:24px;padding-right:24px}}
@media(min-width:480px) and (max-height:700px){body{padding:8px 0}.phone{max-height:calc(100dvh - 42px)}.desktop-info{margin-bottom:7px}.header{padding-top:9px;padding-bottom:13px}.status-bar{margin-bottom:9px}}
@media(max-width:350px){.header{padding-left:18px;padding-right:18px}.brand{gap:8px}.brand strong{font-size:17px}.brand-icon{width:35px;height:37px;border-radius:13px}.header-actions{gap:5px}.header-button{width:29px;height:30px;padding:6px}.view{padding-left:12px;padding-right:12px}.profile-head{gap:9px}.profile-avatar{width:40px;height:42px;font-size:15px}.profile-name h2{font-size:12px}.profile-badges span{font-size:8px}.status-banner{padding:9px;gap:7px}.status-copy strong{font-size:9px}.status-copy p{font-size:8px}.status-banner button{font-size:9px;padding:6px}.cta-card{padding:14px}.cta-copy h3{font-size:11px}.cta-copy p{font-size:9px}.scan-cta{min-width:58px;padding:11px 9px;font-size:9px}.stat span{font-size:8px}.scanner-tag{font-size:7px}.scanner-heading{font-size:8px}.bottom-nav button{font-size:8px}.sources-list{gap:7px}.form-grid{gap:12px 8px}.field input,.field select{font-size:10px;padding:9px}.welcome-benefits{gap:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;padding:0}.desktop-info,.bottom-nav,.header,.home-indicator,.form-actions,.toast{display:none!important}.phone{border:0;box-shadow:none;width:100%;height:auto;max-height:none;border-radius:0}main{overflow:visible}.card,.vaccine-card{break-inside:avoid}}
/* Readable mobile type, matching the reference's 11–14 px content scale. */
.profile-name h2{font-size:16px}.profile-info p{font-size:11px}.profile-badges span{font-size:10px}.status-copy strong{font-size:11px}.status-copy p{font-size:10px}.stat span{font-size:10px}.section-heading h2{font-size:13px}.cta-copy h3{font-size:14px}.cta-copy p{font-size:11px}.reminder-title b{font-size:12px}.reminder p{font-size:11px}.reminder small{font-size:10px}.record-copy strong{font-size:11px}.record-copy p{font-size:10px}.vaccine-card h3{font-size:13px}.vaccine-card p{font-size:11px}.vaccine-card-footer{font-size:10px}.bottom-nav button{font-size:10px}.detail-title{font-size:16px}.detail-sub{font-size:12px}.detail-grid span{font-size:9px}.detail-grid strong{font-size:11px}.qr-caption{font-size:9px!important}.detail-note{font-size:9px!important}.field input,.field select,.field textarea{font-size:12px}.field>span{font-size:11px}
@media(max-width:350px){.profile-name h2{font-size:13px}.profile-info p{font-size:10px}.profile-badges span{font-size:9px}.status-copy strong{font-size:10px}.status-copy p{font-size:9px}.stat span{font-size:9px}.cta-copy h3{font-size:12px}.cta-copy p{font-size:10px}.bottom-nav button{font-size:9px}}
/* Compare the extracted fields and the actual uploaded page without switching views. */
dialog.review-modal{top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(1100px,96vw);max-width:calc(100% - 32px);height:min(850px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);border-radius:26px;overflow:hidden}dialog.review-modal[open]{display:flex;flex-direction:column}.review-modal .dialog-handle{flex-shrink:0}.review-modal .dialog-header{flex-shrink:0;padding:12px 20px}.review-modal .dialog-header h2{font-size:14px}.review-modal #dialog-content{padding:0;min-height:0;flex:1;overflow:hidden}.review-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:100%;min-height:0}.review-workspace.without-original{grid-template-columns:1fr}.review-data{overflow-y:auto;min-height:0;padding:18px 20px 24px;border-right:1px solid #e2e8f0;overscroll-behavior:contain}.review-pane-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.review-pane-heading strong{font-size:13px;display:flex;align-items:center;gap:7px;color:#334155}.review-pane-heading strong svg{width:17px;height:17px;color:var(--accent)}.review-pane-heading small{display:block;font-size:10px;color:#64748b;margin-top:6px;line-height:1.6}.review-data .field input,.review-data .field select,.review-data .field textarea{font-size:13px;min-height:43px}.review-data .field>span{font-size:12px}.review-data .consent{font-size:11px}.review-data .form-actions .btn{min-height:44px;font-size:12px}.review-original{padding:18px;background:#f1f5f9;min-height:0;display:flex;flex-direction:column;overflow:hidden}.review-original .review-pane-heading{flex-shrink:0}.review-image-scroll{background:#e2e8f0;border:1px solid #cbd5e1;border-radius:14px;overflow:auto;min-height:0;flex:1;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.review-photo{display:block;max-width:none;width:100%;height:100%;object-fit:contain;object-position:center top;user-select:none}.review-image-scroll[data-zoom="125"] .review-photo{width:125%;height:125%}.review-image-scroll[data-zoom="150"] .review-photo{width:150%;height:150%}.review-image-scroll[data-zoom="200"] .review-photo{width:200%;height:200%}.review-image-scroll[data-zoom="300"] .review-photo{width:300%;height:300%}.review-image-toolbar{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:12px}.review-zoom-controls{display:flex;align-items:center;gap:7px}.review-zoom-controls .btn{width:32px;min-height:32px;height:32px;padding:0;font-size:17px;border-radius:9px}.review-zoom-controls output{font-size:10px;color:#475569;min-width:36px;text-align:center}.review-zoom-controls .text-button{font-size:10px}.review-image-toolbar>.text-button{font-size:10px}.review-data .form-actions{position:sticky;bottom:-24px;margin:16px -3px -4px;padding:12px 3px;background:#fffffff2;border-top:1px solid #f1f5f9;backdrop-filter:blur(6px)}
@media(max-width:700px){dialog.review-modal{top:auto;bottom:0;transform:translateX(-50%);width:100%;max-width:100%;height:94dvh;max-height:94dvh;border-radius:26px 26px 0 0}.review-modal .dialog-header{padding:9px 16px}.review-modal .dialog-header h2{font-size:12px}.review-modal .dialog-handle{margin-top:8px}.review-workspace{grid-template-columns:1fr;grid-template-rows:minmax(160px,37%) minmax(0,1fr)}.review-original{grid-column:1;grid-row:1;padding:10px 12px;border-bottom:1px solid #cbd5e1}.review-original .review-pane-heading{margin-bottom:7px}.review-original .review-pane-heading strong{font-size:11px}.review-original .review-pane-heading small{display:none}.review-image-scroll{border-radius:9px}.review-image-toolbar{padding-top:6px;gap:5px}.review-zoom-controls{gap:6px}.review-zoom-controls .btn{width:29px;min-height:28px;height:28px}.review-image-toolbar>.text-button{font-size:9px;min-height:28px}.review-data{grid-column:1;grid-row:2;padding:13px 16px 20px;border-right:0}.review-data .review-pane-heading{margin-bottom:8px}.review-data .review-pane-heading strong{font-size:11px}.review-data .review-pane-heading small{font-size:9px;margin-top:4px}.review-data .field input,.review-data .field select,.review-data .field textarea{font-size:12px;min-height:39px}.review-data .field>span{font-size:11px}.review-data .form-grid{margin-top:12px}.review-data .consent{font-size:10px}.review-data .form-actions{bottom:-20px}.review-data .form-actions .btn{font-size:11px;min-height:41px}.review-workspace.without-original{grid-template-rows:1fr}.review-workspace.without-original .review-data{grid-row:1}}
#home-content>*+*{margin-top:16px}
.processing-panel{background:#f0fdfa;border:1px solid #99f6e4;border-radius:20px;padding:14px}.processing-title{display:flex;align-items:center;gap:9px;color:#0f766e;font-size:11px;margin-bottom:7px}.processing-spinner{height:15px;width:15px;border:2px solid #99f6e4;border-top-color:#0d9488;display:inline-block;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.processing-upload{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #ccfbf1;padding:10px 0}.processing-upload b{display:block;font-size:10px;overflow-wrap:anywhere}.processing-upload span{display:block;font-size:9px;color:#0f766e;margin-top:5px}.processing-upload .text-button{font-size:9px;flex-shrink:0}.processing-panel>p{font-size:9px;color:#0f766e;line-height:1.6;margin:2px 0 0}.source-time{font-size:8px!important;color:#94a3b8!important;margin:0 0 7px!important}.recent-count{font-size:9px;margin:0 2px 9px;line-height:1.6}.verification-link{display:flex;gap:6px;align-items:center;color:var(--accent-text);font-size:10px;line-height:1.5;margin:12px 0;text-decoration:none}.verification-link svg{width:14px;height:14px}.verification-person{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:11px;padding:10px;font-size:10px;color:#0f766e;margin-top:13px}.identity-fields{padding:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:13px;margin-top:14px}.identity-fields h3{font-size:12px;color:#92400e}.identity-fields p{font-size:10px!important;color:#92400e}.identity-fields .form-grid{margin-bottom:0}
