:root{--mpf-navy:#071f3d;--mpf-red:#c93634;--mpf-teal:#078d87;--mpf-bg:#f7f2ea;--mpf-line:#dce4eb}
.mpf-app{max-width:1180px;margin:28px auto;padding:18px;color:var(--mpf-navy);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.mpf-shell{display:block}.mpf-header{display:flex;align-items:center;gap:16px;margin-bottom:22px}.mpf-header img{width:150px;max-height:58px;object-fit:contain}.mpf-header strong{font-size:26px}.mpf-header span{color:var(--mpf-red);font:italic 20px Georgia}.mpf-card{background:#fff;border:1px solid var(--mpf-line);border-radius:22px;padding:22px;box-shadow:0 10px 28px rgba(7,31,61,.08)}.mpf-camera-card{max-width:620px;margin:auto;text-align:center}.mpf-camera-card p{font-size:17px}.mpf-number{display:inline-grid;place-items:center;background:var(--mpf-navy);color:#fff;border-radius:99px;width:34px;height:34px;font-weight:900}.mpf-primary,.mpf-secondary{border:0;border-radius:12px;padding:13px 18px;font-weight:800;cursor:pointer;text-decoration:none!important}.mpf-primary{background:var(--mpf-navy);color:#fff!important}.mpf-primary:disabled{opacity:.55;cursor:wait}.mpf-secondary{background:#fff;color:var(--mpf-navy);border:1px solid var(--mpf-line)}.mpf-camera-label{display:flex;width:100%;max-width:100%;box-sizing:border-box;justify-content:center;align-items:center;font-size:18px;margin:14px auto;white-space:normal}.mpf-wide{width:100%;font-size:17px}.mpf-tips{text-align:left;display:inline-block;margin:22px auto}.mpf-tips li{margin:8px 0}.mpf-grid{display:grid;grid-template-columns:minmax(340px,1fr) 330px;gap:18px}.mpf-title-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.mpf-title-row>div{display:flex;align-items:center;gap:10px}.mpf-title-row h2{margin:0}.mpf-stage{position:relative;width:min(100%,430px);aspect-ratio:35/45;margin:auto;background:#dce3e8;overflow:hidden;border-radius:9px;touch-action:none}.mpf-stage>img{position:absolute;left:50%;top:50%;width:auto;height:auto;max-width:none;transform-origin:center;user-select:none;-webkit-user-drag:none}.mpf-mask{position:absolute;inset:0;pointer-events:none}.mpf-oval{position:absolute;left:19%;right:19%;top:13%;bottom:18%;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 999px rgba(0,0,0,.2)}.mpf-eye{position:absolute;left:7%;right:7%;top:39%;border-top:2px dashed #ff514d}.mpf-center{position:absolute;top:5%;bottom:5%;left:50%;border-left:1px dashed #fff}.mpf-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.mpf-controls label{font-size:12px;font-weight:800}.mpf-controls input{width:100%}.mpf-score strong{font-size:64px}.mpf-score span{font-weight:900}.mpf-checks{list-style:none;padding:0}.mpf-checks li{display:grid;grid-template-columns:24px 1fr auto;gap:7px;padding:10px 0;border-bottom:1px solid #edf1f5}.mpf-checks .ok{color:#16803d}.mpf-checks .warn{color:#b7791f}.mpf-checks .bad{color:#b42318}.mpf-checks .pending{color:#64748b}.mpf-notice{font-size:12px;color:#64748b;background:#f7f9fb;padding:10px;border-radius:10px}.mpf-order{margin-top:18px}.mpf-main-product{display:flex;justify-content:space-between;gap:15px;padding:16px;background:#f5f9fc;border-radius:14px}.mpf-addon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mpf-addon{border:1px solid var(--mpf-line);border-radius:14px;padding:10px;display:grid;grid-template-columns:70px 1fr;align-items:center;gap:10px;cursor:pointer;background:#fff;text-align:left;color:var(--mpf-navy)}.mpf-addon.selected{border:2px solid var(--mpf-teal);background:#f0fdfa}.mpf-addon img{width:70px;height:70px;object-fit:cover;border-radius:8px}.mpf-addon span{display:flex;flex-direction:column}.mpf-addon em{font-style:normal}.mpf-addon small{color:var(--mpf-teal);font-weight:800}.mpf-coupon{font-weight:800;color:var(--mpf-teal)}.mpf-status{margin-top:10px;font-weight:800;color:var(--mpf-red)}
@media(max-width:820px){.mpf-app{padding:10px}.mpf-grid{grid-template-columns:1fr}.mpf-addon-grid{grid-template-columns:1fr}.mpf-title-row{align-items:flex-start;flex-direction:column}.mpf-header img{width:115px}.mpf-header strong{font-size:20px}.mpf-stage{width:100%}.mpf-controls{grid-template-columns:1fr}.mpf-main-product{flex-direction:column}.mpf-camera-label{display:flex;width:100%;min-height:58px}.mpf-card{padding:16px}}

.mpf-face-fallback{margin:14px 0;padding:14px;border:1px solid #e6b85c;background:#fff8e8;border-radius:12px}.mpf-face-fallback p{margin-top:0}.mpf-manual-confirm{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:14px;line-height:1.4}.mpf-manual-confirm input{width:20px;height:20px;flex:0 0 auto;margin-top:1px}

/* Passport-shaped live preview; the camera capture uses the identical centre crop. */
.mpf-camera-view{max-width:480px;padding:14px}
.mpf-camera-view h1{font-size:22px;line-height:1.25;margin:0 0 12px}
.mpf-camera-preview{position:relative;width:100%;max-width:430px;aspect-ratio:35/45;margin:0 auto;background:#243443;border-radius:12px;overflow:hidden;isolation:isolate}
.mpf-camera-preview video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mpf-camera-preview .mpf-camera-inactive{visibility:hidden}
.mpf-camera-preview video.mpf-mirror{transform:scaleX(-1)}
.mpf-camera-placeholder{position:absolute;left:24%;right:24%;top:55%;color:rgba(255,255,255,.75);font-size:14px;line-height:1.4;text-align:center}
.mpf-camera-preview .mpf-oval,.mpf-stage .mpf-oval{top:15.5%;bottom:15.5%;border:1.5px solid rgba(255,255,255,.75);box-shadow:0 0 0 999px rgba(0,0,0,.12)}
.mpf-camera-preview .mpf-eye,.mpf-stage .mpf-eye{left:19%;right:19%;top:40%;border-top:1px dashed rgba(255,255,255,.35)}
.mpf-camera-preview .mpf-center,.mpf-stage .mpf-center{top:15.5%;bottom:15.5%;border-left:1px dashed rgba(255,255,255,.28)}
.mpf-camera-view .mpf-camera-guidance{font-size:13px;line-height:1.4;margin:10px 0;color:#64748b}
.mpf-camera-view .mpf-camera-label{margin:10px auto;min-height:48px}
.mpf-camera-view .mpf-tips{margin:12px auto;font-size:14px}
.mpf-camera-view .mpf-notice{font-size:12px;line-height:1.5}
@media(max-width:820px){body.mpf-app-only.mpf-app-only div.product{margin:8px auto!important;padding:0 10px!important}.mpf-camera-view{padding:10px}.mpf-camera-view h1{font-size:20px;margin-bottom:10px}}
