*{box-sizing:border-box}:root{--bg:#f3f4f6;--card:#fff;--ink:#111827;--muted:#6b7280;--line:#d1d5db;--navy:#0f172a;--danger:#b91c1c;--success:#166534}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}.hidden{display:none!important}.app-shell{max-width:720px;margin:0 auto;min-height:100vh;background:#f8fafc}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:20}.topbar h1{margin:0;font-size:29px}.topbar p{margin:2px 0 0;color:var(--muted)}main{padding:16px}.card,.identity-card{background:#fff;border-radius:18px;border:1px solid #e5e7eb;box-shadow:0 4px 16px rgba(15,23,42,.05);padding:18px;margin-bottom:14px}.center{text-align:center;padding:36px 20px}.muted{color:var(--muted)}.small{font-size:12px}.error-text{color:var(--danger);font-weight:700}.spinner{width:36px;height:36px;border:4px solid #e5e7eb;border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.google-button-wrap{display:flex;justify-content:center;margin-top:18px}.identity-card,.section-heading,.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.identity-card strong{display:block;margin-top:4px}.pill,.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;background:#eef2ff;font-weight:800;font-size:12px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.tab{border:0;border-radius:14px;padding:14px 10px;background:#e5e7eb;color:#111827;font-weight:800}.tab.active{background:var(--navy);color:#fff}.section-heading{margin:6px 3px 14px}.section-heading h2,.section-row h3{margin:0}.section-heading p{margin:4px 0 0}.scan-button{width:100%;display:flex;gap:14px;align-items:center;text-align:left;border:0;border-radius:16px;background:var(--navy);color:#fff;padding:18px;margin-bottom:18px}.scan-button:disabled,.primary-button:disabled{opacity:.45;cursor:not-allowed}.scan-button strong{font-size:18px;display:block}.scan-button small{display:block;margin-top:4px;color:#cbd5e1}.camera-icon{font-size:28px}.scanner-panel{background:#020617;border-radius:16px;padding:12px;margin-bottom:18px;overflow:hidden}.scanner-head{display:flex;align-items:center;justify-content:space-between;color:#fff;margin-bottom:10px}.reader{width:100%;min-height:260px;background:#000;border-radius:12px;overflow:hidden}.reader video{object-fit:cover!important}.scanner-help{color:#cbd5e1;text-align:center;font-size:13px;margin:10px 0 0}.field{margin-bottom:14px}.field label{display:block;font-weight:800;margin-bottom:7px}.field input{width:100%;border:1px solid var(--line);border-radius:13px;padding:14px;font-size:17px;background:#fff}.field input[readonly]{background:#f9fafb}.primary-button{width:100%;border:0;border-radius:14px;padding:16px;background:var(--navy);color:#fff;font-weight:900;font-size:16px}.small-button,.text-button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;font-weight:800}.text-button{border:0;color:var(--navy)}.lock-note{font-size:12px;color:var(--muted);text-align:center;margin:12px 0 0}.receive-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.receive-meta>div{background:#f3f4f6;border-radius:13px;padding:12px}.receive-meta span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase}.receive-meta strong{display:block;margin-top:4px;word-break:break-word}.rows{display:grid;gap:8px;margin-top:12px}.row-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:13px;padding:12px}.row-card strong{display:block}.row-card .meta{font-size:12px;color:var(--muted);margin-top:4px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(92vw,540px);background:#111827;color:#fff;padding:13px 17px;border-radius:13px;font-weight:800;z-index:1000;text-align:center}.toast.error{background:#b91c1c}.toast.success{background:#166534}@media(max-width:520px){main{padding:12px}.topbar{padding:16px}.topbar h1{font-size:25px}.card{padding:15px}.reader{min-height:300px}}