:root{--navy: #0d3b66;--navy-deep: #0b3257;--navy-button: #103f73;--red: #c0392b;--teal: #5aa6b1;--bg: #f6f6fb;--card: #ffffff;--border: #e5e7eb;--border-strong: #d8dbe2;--text: #1a2230;--muted: #6b7280;--muted-2: #8b93a1;--registered-bg: #dbe6f5;--registered-text: #1d4e89;--green: #1f9d55;--green-bg: #e7f6ee;--radius: 14px;--shadow-card: 0 1px 3px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .05);--shadow-btn: 0 6px 16px rgba(13, 59, 102, .25)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh}#root{min-height:100vh}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;margin:0}.app{min-height:100vh;display:flex;flex-direction:column}.page-body{flex:1;display:flex;flex-direction:column;align-items:center;padding:48px 24px 64px}.header{background:var(--navy);color:#fff;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.header__title{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:20px;letter-spacing:.5px}.header__right{display:flex;align-items:center;gap:18px}.header__location{font-size:13px;font-weight:600;letter-spacing:1.5px;color:#cdd9e7;text-transform:uppercase}.header__avatar{width:40px;height:40px;border-radius:10px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#fff;cursor:pointer}.step-eyebrow{color:var(--red);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-align:center;margin-bottom:8px}.step-title{font-size:32px;font-weight:700;text-align:center;letter-spacing:-.3px}.step-subtitle{color:var(--muted);text-align:center;font-size:16px;margin-top:10px}button{font-family:inherit;cursor:pointer;border:none}.btn-primary{width:100%;background:var(--navy-button);color:#fff;font-size:16px;font-weight:500;padding:16px;border-radius:10px;box-shadow:var(--shadow-btn);transition:background .2s,transform .05s}.btn-primary:hover{background:#0d3560}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{width:100%;background:#eef1f8;color:var(--navy);font-size:16px;font-weight:600;padding:16px;border-radius:10px;transition:background .2s}.btn-secondary:hover{background:#e3e8f3}.welcome-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-card);max-width:760px;width:100%;margin-top:56px;padding:56px 60px 64px}.welcome-card__title{color:var(--navy);font-size:30px;font-weight:700;text-align:center}.welcome-card__subtitle{color:var(--muted);text-align:center;font-size:16px;line-height:1.5;margin:16px auto 0;max-width:460px}.field-label{display:block;font-size:13px;font-weight:600;letter-spacing:1px;color:#475467;text-transform:uppercase;margin-bottom:10px}.search-input{width:100%;background:#eef1fb;border:1px solid #dfe4f2;border-radius:10px;padding:16px 18px;font-size:15px;letter-spacing:.5px;color:var(--text);outline:none;transition:border .2s,box-shadow .2s}.search-input::placeholder{color:#9aa4b6;letter-spacing:.5px}.search-input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #0d3b661f}.welcome-form{margin-top:44px}.welcome-form .btn-primary{margin-top:40px}.search-bar-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-card);width:100%;max-width:1140px;margin-top:20px;padding:30px 40px 36px;text-align:center}.search-bar-card .step-eyebrow,.search-bar-card .step-title,.search-bar-card .step-subtitle{text-align:center}.search-bar-card .step-title{font-size:26px}.search-bar-card .step-subtitle{font-size:15px;margin-top:6px}.search-bar{position:relative;margin-top:22px}.search-bar input{width:100%;background:#eef1fb;border:1px solid #dfe4f2;border-radius:12px;padding:18px 18px 18px 52px;font-size:15px;letter-spacing:.5px;color:var(--text);outline:none}.search-bar input::placeholder{color:#9aa4b6}.search-bar input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #0d3b661a}.search-bar__icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:#8b93a1}.results-layout{width:100%;max-width:1140px;margin-top:34px;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:start}.results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.results-head__count{font-size:13px;font-weight:700;letter-spacing:1.2px;color:#667085;text-transform:uppercase}.results-head__sort{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--navy);font-weight:500}.result-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 22px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:border .15s,box-shadow .15s,background .15s}.result-card:hover{border-color:#c3d0e2}.result-card.is-selected{border-color:var(--navy);background:#eaf1fb;box-shadow:0 0 0 1px var(--navy)}.result-card__name{font-size:17px;font-weight:600;color:var(--text)}.result-card__company{font-size:14px;color:var(--muted);margin-top:4px}.result-card__right{display:flex;align-items:center;gap:14px}.pill{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:6px 12px;border-radius:20px;background:#fde7e7;color:#dc2626}.pill--checked{background:var(--green-bg);color:var(--green)}.check-dot{width:26px;height:26px;border-radius:50%;background:var(--navy);display:grid;place-items:center;color:#fff}.detail-panel{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-card);padding:36px 40px 40px}.detail-panel__name{font-size:26px;font-weight:700;display:flex;align-items:center;gap:10px}.verified-badge{color:var(--red);display:inline-flex}.tag{display:inline-flex;align-items:center;gap:6px;margin-top:16px;border:1px solid var(--border-strong);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600;letter-spacing:1px;color:#475467;text-transform:uppercase}.detail-divider{border:none;border-top:1px solid var(--border);margin:28px 0}.detail-field{margin-bottom:22px}.detail-field__label{font-size:12px;font-weight:700;letter-spacing:1.2px;color:#98a2b3;text-transform:uppercase}.detail-field__value{font-size:17px;font-weight:600;color:var(--text);margin-top:6px}.detail-panel .btn-primary{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:10px;letter-spacing:1px;text-transform:uppercase;font-weight:600}.already-checkedin-notice{margin-top:18px;display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:var(--radius);background:var(--green-bg);color:var(--green);font-size:14px;font-weight:600}.already-checkedin-notice__icon{display:flex;align-items:center;flex-shrink:0}.detail-empty{display:grid;place-items:center;min-height:280px;color:var(--muted);text-align:center;font-size:15px}.camera-wrap{width:100%;max-width:420px;margin-top:34px}.camera-frame{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);background:#2b303a;aspect-ratio:3 / 4}.camera-frame video,.camera-frame img.camera-still{width:100%;height:100%;object-fit:cover;display:block}.camera-frame img.camera-still{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5}.camera-fallback{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#3a4150,#20252e 60%,#3a4150);display:grid;place-items:center;color:#aab2bf;font-size:14px;text-align:center;padding:24px}.camera-oval{position:absolute;top:8%;left:50%;transform:translate(-50%);width:68%;height:52%;border:2px solid rgba(255,255,255,.55);border-radius:50%;pointer-events:none}.camera-eyeline{position:absolute;top:26%;left:10%;right:10%;border-top:2px dashed rgba(255,255,255,.6);pointer-events:none;display:flex;justify-content:center}.camera-eyeline span{transform:translateY(-50%);background:#282c34d9;color:#fff;font-size:11px;letter-spacing:1px;padding:3px 10px;border-radius:4px}.camera-chips{position:absolute;bottom:86px;left:0;right:0;display:flex;justify-content:center;gap:36px;pointer-events:none}.camera-chip{display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;font-size:12px}.camera-chip__icon{width:44px;height:44px;border-radius:10px;background:#282c34b3;display:grid;place-items:center}.camera-namebar{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,#0d3b66f5,#0d3b66d9);padding:16px 26px;display:flex;align-items:center;justify-content:space-between;color:#fff}.camera-namebar small{display:block;font-size:11px;letter-spacing:1.2px;color:#b9c8db;text-transform:uppercase;margin-bottom:4px}.camera-namebar .name{font-size:18px;font-weight:700}.camera-namebar .company{font-size:16px;font-weight:600}.camera-namebar .col-right{text-align:right}.camera-controls{display:flex;justify-content:center;align-items:flex-end;gap:36px;margin-top:30px}.cam-btn{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;color:#6b7280;font-size:13px;font-weight:500}.cam-btn__icon{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:#eef1f8;border:1px solid var(--border);color:#6b7280}.cam-btn--primary{color:var(--navy);font-weight:700}.cam-btn--primary .cam-btn__icon{width:64px;height:64px;background:var(--navy-button);border-color:var(--navy-button);color:#fff;box-shadow:var(--shadow-btn)}.success-check{width:64px;height:64px;border-radius:16px;background:var(--green-bg);display:grid;place-items:center;margin:0 auto 22px}.success-check__inner{width:40px;height:40px;border-radius:50%;background:var(--green);display:grid;place-items:center;color:#fff}.success-layout{width:100%;max-width:1020px;margin-top:44px;display:grid;grid-template-columns:minmax(320px,360px) 1fr;gap:56px;align-items:start;justify-content:center}.badge-col{display:flex;flex-direction:column;align-items:center}.badge-caption{margin-top:14px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}.badge{position:relative;width:340px;max-width:100%;aspect-ratio:378 / 567;container-type:inline-size;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #1018282e;border:1px solid #eceef3}.badge__band{position:absolute;left:0;width:100%;overflow:hidden}.badge__band--head{top:0;height:32.804cqw}.badge__band--foot{bottom:0;height:24.074cqw}.badge__band-img{position:absolute;left:0;width:100%;height:150cqw;display:block}.badge__band-img--head{top:0}.badge__band-img--foot{bottom:0}.badge__content{position:absolute;left:0;right:0;top:32.804cqw;bottom:24.074cqw;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:8.995cqw 5.3cqw 0}.badge__photo{width:39.683cqw;height:52.91cqw;object-fit:cover;object-position:center top;background:#e9ecf2;display:block;align-self:center;margin-bottom:3.7cqw;flex-shrink:0}.badge__name{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:6.085cqw;line-height:1.15;color:#111827}.badge__position{font-size:3.175cqw;color:#374151;margin-top:1.6cqw}.badge__company{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:3.175cqw;color:#111827;margin-top:.8cqw}.summary-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-card);padding:26px 30px}.summary-card__title{display:flex;align-items:center;gap:8px;color:var(--navy);font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.summary-row{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--border)}.summary-row:last-child{border-bottom:none}.summary-row__label{font-size:12px;font-weight:700;letter-spacing:1px;color:#98a2b3;text-transform:uppercase}.summary-row__value{font-size:16px;font-weight:600;color:var(--text);margin-top:6px}.summary-status{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600}.summary-status--green{color:var(--green)}.summary-status--blue{color:var(--navy)}.success-actions{margin-top:22px;display:flex;flex-direction:column;gap:14px}.success-actions .btn-primary,.success-actions .btn-secondary{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;font-size:17px}.spinner{border:3px solid rgba(255,255,255,.4);border-top-color:#fff;width:18px;height:18px;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.spinner--navy{border-color:#0d3b6633;border-top-color:var(--navy)}.center-spinner{margin:60px auto}@keyframes spin{to{transform:rotate(360deg)}}.no-results{text-align:center;color:var(--muted);padding:50px 0;font-size:16px}.step-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;padding:9px 16px 9px 12px;background:var(--card);border:1px solid var(--border-strong);border-radius:10px;color:var(--navy);font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-card)}.step-back:hover{background:#f4f6fb}.results-layout--single{display:block;max-width:640px;margin-left:auto;margin-right:auto}.result-card__view{font-size:13px;font-weight:700;letter-spacing:.4px;color:var(--navy);text-transform:uppercase}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#1018288c;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.modal{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 40px);overflow-y:auto;border-radius:18px;background:var(--card);box-shadow:0 24px 60px #10182866;animation:modal-pop .16s ease-out}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal__close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--card);color:#475467;cursor:pointer}.modal__close:hover{background:#f4f6fb}.detail-panel--modal{border:none;box-shadow:none;border-radius:18px;padding:34px 32px 32px}.detail-panel__reprint{margin-top:12px;width:100%}.photo-save{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:600}.photo-save--saving{color:#667085}.photo-save--saved{color:#16a34a}.photo-save--error{color:var(--red)}@media (max-width: 900px){.success-layout{grid-template-columns:1fr;gap:28px}.welcome-card{padding:40px 28px 48px}}
