:root{font-family:system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;color:#103768;background:#f1f5fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}.app-bar{background:#103768;color:white;text-align:center;font-size:20px;font-weight:750;padding:17px 12px}main{max-width:460px;margin:0 auto;padding:14px}.brand{display:flex;align-items:center;gap:12px;background:linear-gradient(110deg,#103768,#1566ad);padding:14px;border-radius:18px;color:#fff}.brand img{width:55px;height:55px;border-radius:12px}.brand div{flex:1}.brand strong{font-size:20px;display:block}.brand small{font-size:13px;color:#e1eaf8}.seal{color:#d5aa60;font-size:28px}.card{background:white;border-radius:18px;padding:16px;margin-top:12px;box-shadow:0 2px 10px #10294b0b}h1{font-size:19px;text-align:center;margin:3px 0 14px}button{font:inherit;cursor:pointer;border:0;border-radius:13px;padding:14px 15px;min-height:50px;width:100%;font-weight:700;margin-top:9px}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#103768;color:white}.secondary{border:1px solid #ccd6e3;background:white;color:#103768}.link{background:none;color:#1566ad;font-size:14px}input{width:100%;padding:14px;border:1px solid #b8c9df;border-radius:9px;font-size:16px}.hidden{display:none!important}.scanner-wrap{aspect-ratio:1;position:relative;background:#0b1728;border-radius:20px;overflow:hidden}.scanner-wrap video{height:100%;width:100%;object-fit:cover}.scan-guide{position:absolute;inset:17%;border:4px solid #d5aa60;border-radius:15px;pointer-events:none}.scanner-wrap p{position:absolute;bottom:8px;left:12px;right:12px;color:white;text-shadow:0 1px 5px #000;text-align:center;font-size:13px}.portrait-wrap{position:relative;aspect-ratio:7/9;overflow:hidden;border-radius:18px;background:#0b1728;max-height:70vh;margin:auto}.portrait-wrap video,.portrait-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portrait-wrap video.mirrored{transform:scaleX(-1)}#portrait-guide{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;background:#00000012}#frame-hint{position:absolute;bottom:8px;left:10px;right:10px;color:white;font-weight:650;text-shadow:0 1px 5px #000;text-align:center}.overlay{position:absolute;inset:0;display:grid;place-items:center;color:white;background:#0007;font-weight:700}.message{font-size:14px;text-align:center;color:#526782;line-height:1.55;min-height:20px}.success{text-align:center}.success-icon{font-size:70px;color:#1e9460;font-weight:bold}footer{padding:16px 4px;text-align:center;color:#76869c;font-size:11px;line-height:1.75}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
