*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f8fafc;color:#1e293b}main{max-width:720px;margin:0 auto;padding:2rem 1.5rem}h1,h2,h3{color:#0f172a}p{line-height:1.5}.card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.04)}.token{font-family:monospace;font-size:.9rem;color:#2563eb;word-break:break-all}.steps{display:flex;gap:.5rem;margin:1.5rem 0}.step{flex:1 1;height:4px;background:#e2e8f0;border-radius:2px}.step.active{background:#2563eb}.form-group{margin-bottom:1.25rem}.checkbox-group label{display:flex;align-items:flex-start;gap:.75rem;line-height:1.5}.checkbox-group input{margin-top:.3rem}label{display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem;color:#334155}input[type=date],input[type=file],input[type=text]{width:100%;padding:.65rem;border:1px solid #cbd5e1;border-radius:.375rem;font-size:1rem;background:#fff}input:focus{outline:2px solid #2563eb;outline-offset:0}.file-info{font-size:.85rem;color:#475569;margin-top:.25rem}.actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}button{background:#2563eb;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:background .15s ease}button:hover{background:#1d4ed8}button:disabled{background:#93c5fd;cursor:not-allowed}button.secondary{background:#f1f5f9;color:#334155}button.secondary:hover{background:#e2e8f0}.summary-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e2e8f0}.summary-row:last-child{border-bottom:none}.thank-you{text-align:center;padding:3rem 1rem}.thank-you h2{color:#2563eb;margin-bottom:.5rem}.camera-capture,.liveness-recorder{display:flex;flex-direction:column;align-items:center;gap:1rem}.camera-preview{position:relative;width:100%;max-width:420px;aspect-ratio:4/3;background:#0f172a;border-radius:1rem;overflow:hidden}.camera-preview video{width:100%;height:100%;object-fit:cover}.face-circle{width:180px;height:180px;border:3px solid hsla(0,0%,100%,.85);border-radius:50%}.face-circle,.id-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 9999px rgba(0,0,0,.25)}.id-frame{width:260px;height:170px;border:3px solid hsla(0,0%,100%,.85);border-radius:.75rem}.camera-action{width:100%;max-width:420px}.recording-indicator{color:#dc2626;font-weight:600;margin:0}.error{color:#dc2626;font-weight:500}