/* One desktop page, not a stretched mobile app. */
#desktop-passport{display:none}
@media screen and (min-width:900px), print{
body{margin:0;background:#FFF9E8;font-size:14px;color:#111A20}
body.desktop-mode #app,body.desktop-mode #overlay{display:none!important}
body.desktop-mode #desktop-passport{display:block;max-width:1020px;margin:0 auto;padding:26px 38px 30px}
.dp-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:2px solid #111A20}
.dp-brand{font-size:19px;font-weight:700}.dp-controls{display:flex;gap:16px;align-items:center}
.dp-controls button{background:transparent;border:0;font-size:13px;cursor:pointer;padding:7px}.dp-controls button[aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:5px}
.dp-title{display:flex;align-items:center;gap:16px;margin:25px 0 5px}.dp-title h1{font-size:30px;letter-spacing:-.8px;margin:0}.dp-title img{width:37px;height:45px;object-fit:contain}
.dp-sub{color:#52616A;margin:0 0 24px;font-size:12px;line-height:1.6}
.dp-sheet{background:#fff;border:2px solid #111A20;border-radius:5px;padding:25px 28px}
.dp-identity{display:grid;grid-template-columns:2fr 1fr;gap:26px;margin-bottom:24px}
.dp-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.dp-column{min-width:0}.dp-field{display:block;margin-bottom:21px}
.dp-field span,.dp-meds-title{display:block;font-size:14px;font-weight:700;margin-bottom:8px}
.dp-field input,.dp-field textarea,.dp-med input{font:inherit;line-height:1.55;border:0;border-bottom:1px solid #ccd2d5;border-radius:0;background:#fff;width:100%;padding:8px 0;resize:vertical;min-width:0}
.dp-field input:focus,.dp-field textarea:focus,.dp-med input:focus{outline:0;border-color:#111A20;background:#fffced}
.dp-field textarea{min-height:77px}.dp-field input::placeholder,.dp-field textarea::placeholder,.dp-med input::placeholder{color:#849098}
.dp-med{display:grid;grid-template-columns:1fr 1fr 26px;gap:12px;margin-bottom:9px}.dp-med button{border:0;background:transparent;color:#52616A;font-size:19px;cursor:pointer}
.dp-add,.dp-add-vaccine{background:#F1D64C;border:1.5px solid #111A20;padding:7px 10px;margin-top:8px;cursor:pointer;font-size:12px}
.dp-contact{display:grid;grid-template-columns:1fr 1fr;gap:26px;border-top:1px solid #e1e4e6;padding-top:20px;margin-top:3px}.dp-contact .dp-field{margin-bottom:0}
.dp-actions{display:flex;align-items:center;justify-content:space-between;margin:16px 0 0;gap:20px}.dp-status{color:#52616A;font-size:12px}.dp-export{background:#6EBCCD;border:2px solid #111A20;padding:9px 14px;font-size:13px;cursor:pointer}.dp-foot{color:#52616A;font-size:11px;line-height:1.7;margin-top:15px}
}
@media print{#app,#overlay,#toast,.dp-controls,.dp-actions,.dp-foot{display:none!important}#desktop-passport{display:block!important;max-width:none!important;padding:0!important}.dp-sheet{border:1px solid #111}.dp-med button,.dp-add,.dp-add-vaccine{display:none}.dp-field input,.dp-field textarea,.dp-med input{border:0}}
@media screen and (min-width:900px), print{body.desktop-mode{max-width:none;width:100%;margin:0}.dp-field input,.dp-med input{font-size:14px!important}}
/* Download belongs in page flow, never on top of edit / emergency links. */
.module-export{position:static;bottom:auto;z-index:auto;background:transparent;box-shadow:none;padding:0;margin:20px 22px 16px}
.emergency-link{display:block;position:static;min-height:36px;height:auto;width:100%;text-align:left;padding:10px 0;white-space:normal;line-height:1.5}
@media screen and (min-width:900px), print{.dp-med textarea{font:inherit;font-size:14px;line-height:1.5;resize:vertical;border:0;border-bottom:1px solid #ccd2d5;padding:8px 0;width:100%;min-width:0;min-height:60px}.dp-med textarea:focus{outline:0;border-bottom-color:#111A20;background:#fffced}.dp-med textarea::placeholder{color:#849098}}
/* Keep all three footer actions aligned to the health card. */
body[data-page="health-passport"] .contact{margin-left:0;margin-right:0}
body[data-page="health-passport"] .edit-health{width:100%;margin-left:0;margin-right:0}

@media print{html,body{background:#fff!important}.dp-top{padding-bottom:10px}.dp-title{margin:16px 0 5px}.dp-sheet{break-inside:avoid}.dp-med textarea{border:0}.dp-identity,.dp-grid,.dp-contact{gap:20px}}
body[data-page="health-passport"] .content .panel.contact{width:100%!important;margin:12px 0 0!important}body[data-page="health-passport"] .content .edit-health{width:100%!important;margin:12px 0 0!important}
body[data-page="health-passport"] .screen>.contact{width:calc(100% - 44px)!important;margin:12px 22px 0!important}
body[data-page="health-passport"] .screen>.edit-health{width:calc(100% - 44px)!important;margin:12px 22px 0!important}
body[data-page="health-passport"] .screen>.emergency-link{width:calc(100% - 44px);margin:0 22px}
.preview-insurance{display:inline-block;margin:4px 0}.preview-insurance-note{font-size:11px;line-height:1.5;color:#52616A;margin:4px 0 10px}
.preview-card-languages{display:flex;gap:7px;align-items:center;margin:9px 0 2px;font-size:12px}.preview-card-languages span{margin-right:auto}.preview-card-languages button{min-width:42px}
/* Export is a one-screen tool: explicit tabs, not a swipe gallery. */
.export-preview-mask{padding:8px}
.export-preview-dialog{height:calc(100dvh - 16px);max-height:780px;display:flex;flex-direction:column;overflow:hidden;padding:12px;border-radius:12px;gap:0}
.preview-header{flex-shrink:0}.preview-header h2{font-size:17px}.preview-close{min-height:32px;padding:5px 10px}
.preview-card-languages{margin:7px 0 0;flex-shrink:0}
.preview-card-languages .preview-field{padding:6px 10px;min-height:32px}
.preview-hint{font-size:11px;margin:7px 0;line-height:1.4;flex-shrink:0}
.preview-tabs{margin:0 0 7px;flex-shrink:0}.preview-tab{padding:7px 4px;min-height:34px}
.preview-track{flex:1;min-height:80px;overflow:hidden;display:block;scroll-snap-type:none}
.preview-slide{width:100%;height:100%;padding:0;display:flex;justify-content:center;align-items:center}.preview-slide[hidden]{display:none!important}
.preview-image{max-width:100%;max-height:100%;height:auto;width:auto;border-radius:6px;box-shadow:none}
.preview-counter{font-size:10px;margin:5px 0;flex-shrink:0}
.preview-fields{gap:4px;margin:0 0 6px;flex-shrink:0}.preview-fields .preview-field{padding:5px 8px;min-height:28px;font-size:11px}
.preview-insurance{padding:6px 10px;min-height:32px;font-size:12px;align-self:flex-start;margin:3px 0}
.preview-insurance-note{font-size:10px;line-height:1.3;margin:3px 0 5px;flex-shrink:0}
.preview-review{font-size:11px;padding:4px 0;min-height:28px;margin:0 0 5px;flex-shrink:0;text-align:left}
.preview-actions{flex-shrink:0}.preview-save,.preview-share{padding:9px 6px;min-height:38px;font-size:12px}
.preview-privacy{font-size:9px;margin:6px 0 0;flex-shrink:0}
.language{width:88px;height:36px;border-radius:6px;gap:4px;font-size:12px;right:22px}.language svg{width:18px;height:18px;fill:none;stroke:#111A20;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.language .chosen{text-underline-offset:3px}.uk-language.language{position:static;width:88px;height:36px;border:1.5px solid #111A20;padding:0;border-radius:6px;flex-shrink:0}.destination-icon,.uk-kit-title-row .destination-icon{width:54px;height:34px;border-radius:5px;font-size:11px;font-weight:700;background:#F1D64C}.uk-header{gap:7px}.uk-header>span{flex:1;text-align:center}
/* Core first: editable records before guidance and export extras. */
body[data-page="home"] .heading,body[data-page="vaccines"] .heading{margin-top:17px;margin-bottom:13px}
body[data-page="home"] .search{margin-top:0}
body[data-page="home"] .medicine{margin-bottom:9px}
body[data-page="home"] .medicine .snapshot-label{font-size:10px}
.secondary-guide{margin-top:24px!important;min-height:100px!important}
body[data-page="vaccines"] .add-vaccine{margin:0 0 13px!important;min-height:36px}
body[data-page="vaccines"] .section-label{margin-top:18px}
body[data-page="home"] .compact-destination{position:absolute;top:65px;right:22px;margin:0!important;z-index:1}
body[data-page="home"] .heading{padding-right:64px}
.uk-screen .uk-kit-heading{margin-top:10px}.uk-screen .uk-product-search{margin-top:15px}.uk-screen .uk-passport{margin-top:24px}

/* Home shows entry points, never an unsolicited directory or saved list. */
@media(max-width:899px){
.kit-disclosure{padding:0;margin:14px 0;background:#fffdf4;overflow:hidden}
.kit-entry-summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 14px;min-height:62px;cursor:pointer;font-weight:700;font-size:16px}
.kit-entry-summary::-webkit-details-marker{display:none}
.kit-entry-summary .fine{font-weight:400;font-size:12px;text-align:right}
.kit-disclosure[open]>.kit-entry-summary{border-bottom:1px solid #182027}
.kit-disclosure-body{padding:14px}
.kit-directory-entry{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 14px;min-height:62px;margin:14px 0;text-align:left;font-size:16px;font-weight:700;background:#6EBCCD}
.kit-directory-entry .fine{font-size:12px;font-weight:400;text-align:right}
.kit-disclosure-body .uk-product-search{margin-top:0}
}
@media(max-width:899px){.quick-prep-mount{margin:16px 0}.prep-title{font-size:20px;margin:0 0 5px}.prep-note{font-size:11px;line-height:1.6;color:#4c6070;margin:6px 0}.prep-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.prep-tile{border:1px solid #182027;border-radius:6px;min-height:48px;background:#fffdf4;font-weight:700}.prep-tile[aria-pressed=true]{background:#ffe04b;box-shadow:inset 0 0 0 1px #182027}.prep-generate{width:100%;min-height:42px;border:1px solid #182027;border-radius:5px;background:#ffe04b;font-weight:700}.prep-generate:disabled{background:#f5f0df;color:#8c897f}.prep-search{width:100%;box-sizing:border-box;min-height:44px;margin-top:12px;border:1px solid #182027;border-radius:6px;padding:10px 12px;background:#fff}.prep-search-result{display:block;width:100%;text-align:left;padding:12px;background:#6EBCCD;border:1px solid #182027;margin-top:6px}.prep-mask{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center;padding:14px}.prep-dialog{box-sizing:border-box;background:#fff9e8;border:2px solid #182027;border-radius:8px;width:100%;max-width:470px;max-height:calc(100dvh - 28px);padding:16px;display:flex;flex-direction:column;overflow:auto}.prep-dialog h2{font-size:21px;margin:0 0 8px}.prep-review-list{overflow:auto;min-height:0}.prep-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #b9b8a9;font-size:13px}.prep-item input{flex:0 0 20px;width:20px;height:20px;accent-color:#182027}.prep-item p{margin:6px 0;line-height:1.5}.prep-source{font-size:11px;color:#6EBCCD}.prep-footer{display:flex;gap:8px;margin-top:10px;flex-shrink:0}.prep-footer button{flex:1;min-height:44px}}

@media(max-width:899px){.prep-packs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.prep-pack{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;min-height:85px;border:1px solid #182027;border-radius:6px;padding:12px;background:#ffe04b}.prep-pack:nth-child(2){background:#6EBCCD}.prep-pack strong{font-size:16px}.prep-pack .prep-note{margin:0;font-size:11px}.prep-dialog>.prep-note{flex-shrink:0}.prep-review-list{flex:1 1 auto}}
/* Package review has only one primary action. */
@media(max-width:899px){.prep-footer button:first-child{background:#6EBCCD;color:#182027;border:2px solid #182027}}
/* Keep text readable: blue is the shared accent fill, links use ink. */
a.prep-source,.uk-link,.preview-review,.form-field:focus-within .form-field-label{color:#111A20}
/* Shared US/UK home passport treatment. */
@media(max-width:899px){
body[data-page=home] .hero.secondary-guide,.uk-passport{background:#6EBCCD;border:2px solid #111A20;border-radius:6px;outline:none;min-height:142px;padding:16px 100px 16px 16px;margin-top:24px;margin-bottom:22px}
body[data-page=home] .hero.secondary-guide .hero-title,.uk-passport h2{font-size:22px;font-weight:500;line-height:1.2;margin:0}
body[data-page=home] .hero.secondary-guide .hero-copy,.uk-passport .uk-copy{font-size:11px;margin:11px 0 0;line-height:1.6}
body[data-page=home] .hero.secondary-guide .hero-figure,.uk-passport-figure{right:12px;top:24px;width:68px;height:78px;object-fit:contain}
body[data-page=home] .hero.secondary-guide .health-link,.uk-passport .uk-button{width:143px;font-size:11px;padding:7px;margin-top:12px;min-height:30px}
}
@media(max-width:899px){body[data-page=home] .hero.secondary-guide,.uk-passport{height:142px;box-sizing:border-box;display:block}body[data-page=home] .hero.secondary-guide .health-link,.uk-passport .uk-button{border:1px solid #111A20;border-radius:10px;height:30px;background:#F1D64C}}

@media screen and (min-width:900px), print{.dp-vaccines{border-top:1px solid #e1e4e6;padding:20px 0;margin-top:20px}.dp-vaccine-row{display:grid;grid-template-columns:2fr 1fr 30px;align-items:center;gap:12px;margin:10px 0}.dp-vaccine-row input{font:inherit;min-width:0;width:100%;box-sizing:border-box;border:0;border-bottom:1px solid #ccd2d5;padding:10px 0;background:#fff}.dp-vaccine-row .vaccine-remove{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;background:none;color:#5b4637;font-size:23px;font-weight:400;line-height:1;cursor:pointer}.dp-vaccine-row .vaccine-remove:hover,.dp-vaccine-row .vaccine-remove:focus-visible{background:#F8DF4D;border-radius:50%;outline:2px solid #5b4637}.dp-vaccine-row input:focus{outline:0;border-color:#111A20;background:#fffced}}
@media print{.dp-add-vaccine,.dp-vaccine-row .vaccine-remove{display:none}}

.joynik-contact-link{display:inline-block;font-size:12px;margin-top:5px}@media print{.joynik-contact-link{display:none}}
