.app{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.kiosk-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:800px;width:100%;min-height:600px;overflow:hidden;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.progress-stepper{display:flex;align-items:center;justify-content:center;padding:24px 40px 16px;gap:0}.stepper-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.stepper-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;background:#e0e0e0;color:#999;transition:all .3s}.stepper-step.active .stepper-circle{background:linear-gradient(135deg,#d71a21,#b91c1c);color:#fff}.stepper-step.completed .stepper-circle{background:#4caf50;color:#fff}.stepper-label{font-size:14px;color:#999;font-weight:500;white-space:nowrap}.stepper-step.active .stepper-label{color:#d71a21;font-weight:700}.stepper-step.completed .stepper-label{color:#4caf50}.stepper-line{flex:1;height:3px;background:#e0e0e0;min-width:40px;margin:0 8px 22px;transition:background .3s}.stepper-line.completed{background:#4caf50}.welcome-screen{padding:60px 40px;text-align:center;display:flex;flex-direction:column;justify-content:space-between;min-height:600px}.welcome-screen .header{margin-bottom:40px}.welcome-screen .logo{max-width:200px;height:auto;margin-bottom:20px}.welcome-screen h1{font-size:36px;color:#333;margin-bottom:10px}.welcome-screen .deity-image{max-width:300px;height:auto;margin:20px auto;border-radius:10px}.welcome-screen .content h2{font-size:28px;color:#d71a21;margin-bottom:10px}.welcome-screen .subtitle{font-size:18px;color:#666;margin-bottom:40px}.welcome-screen .start-button{background:linear-gradient(135deg,#d71a21,#b91c1c);color:#fff;border:none;padding:20px 60px;font-size:24px;border-radius:50px;cursor:pointer;transition:transform .2s,box-shadow .2s;font-weight:700}.welcome-screen .start-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.welcome-screen .start-button:active{transform:translateY(0)}.welcome-screen .footer{margin-top:40px}.welcome-screen .help-text{color:#888;font-size:16px}.welcome-screen .helpdesk{display:block;color:#d71a21;font-weight:700;margin-top:5px;font-size:20px}.language-selection{padding:60px 40px;text-align:center}.language-header h2{font-size:32px;color:#333;margin-bottom:10px}.language-header .subtitle{font-size:18px;color:#666;margin-bottom:40px}.language-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:600px;margin:0 auto}.language-button{background:#fff;border:3px solid #e0e0e0;border-radius:15px;padding:30px 20px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:10px}.language-button:hover{border-color:#d71a21;transform:translateY(-3px);box-shadow:0 5px 15px #667eea4d}.language-flag{font-size:48px}.language-name{font-size:20px;font-weight:700;color:#333}.consent-screen{padding:40px;display:flex;flex-direction:column;min-height:600px;position:relative}.consent-header h2{font-size:28px;color:#333;margin-bottom:10px}.consent-header .subtitle{font-size:16px;color:#666;margin-bottom:20px}.consent-content{flex:1;display:flex;flex-direction:column}.consent-text-box{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:10px;padding:20px;max-height:300px;overflow-y:auto;margin-bottom:20px}.consent-text{white-space:pre-wrap;font-size:16px;line-height:1.6;color:#333;font-family:inherit}.consent-checkbox{margin-bottom:20px}.consent-checkbox label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.consent-checkbox input[type=checkbox]{margin-top:4px;width:20px;height:20px;cursor:pointer}.consent-checkbox .checkbox-label{font-size:16px;color:#333;line-height:1.5}.consent-actions{display:flex;gap:15px;justify-content:center;margin-top:auto}.btn-decline,.btn-accept{padding:15px 40px;font-size:18px;border:none;border-radius:10px;cursor:pointer;transition:all .2s;font-weight:700}.btn-decline{background:#f5f5f5;color:#666}.btn-decline:hover{background:#e0e0e0}.btn-accept{background:linear-gradient(135deg,#d71a21,#b91c1c);color:#fff}.btn-accept:disabled{opacity:.5;cursor:not-allowed}.btn-accept:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.help-footer{margin-top:20px;text-align:center}.help-button{background:transparent;border:none;color:#d71a21;cursor:pointer;font-size:16px;text-decoration:underline}.help-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.help-modal{background:#fff;border-radius:20px;padding:40px;max-width:420px;width:90%;text-align:center;position:relative;animation:scaleIn .2s ease-out}.help-modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:28px;color:#999;cursor:pointer;line-height:1}.help-modal-close:hover{color:#333}.help-modal h3{font-size:24px;color:#333;margin-bottom:12px}.help-modal p{font-size:16px;color:#666;line-height:1.5;margin-bottom:16px}.help-modal-phone{font-size:32px;font-weight:700;color:#d71a21;margin:20px 0;letter-spacing:1px}.help-modal-note{font-size:14px;color:#999;margin-bottom:24px}.face-capture-screen{padding:40px;text-align:center}.face-capture-header h2{font-size:28px;color:#333;margin-bottom:10px}.face-capture-header .subtitle{font-size:16px;color:#666;margin-bottom:30px}.camera-container{position:relative;max-width:640px;margin:0 auto 20px;border-radius:15px;overflow:hidden;background:#000}.webcam{width:100%;height:auto;display:block}.face-oval-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:400px;border:3px dashed rgba(102,126,234,.8);border-radius:50%;pointer-events:none;transition:border-color .3s,border-style .3s}.face-oval-overlay.oval-poor{border-color:#f44336;border-style:dashed}.face-oval-overlay.oval-fair{border-color:#ff9800;border-style:dashed}.face-oval-overlay.oval-good{border-color:#4caf50;border-style:solid}.face-detected-indicator{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#4caf50e6;color:#fff;padding:10px 20px;border-radius:20px;font-weight:700}.guidance-message{font-size:18px;margin:20px 0;min-height:30px;font-weight:700;transition:color .3s}.guidance-poor{color:#f44336}.guidance-fair{color:#ff9800}.guidance-good{color:#4caf50}.actions{margin-top:20px}.btn-cancel{padding:12px 30px;font-size:16px;background:#f5f5f5;border:none;border-radius:10px;cursor:pointer;color:#666;font-weight:700}.btn-cancel:hover{background:#e0e0e0}.face-confirmation-screen{padding:40px;text-align:center;animation:slideIn .3s ease-out}.face-confirmation-icon{width:60px;height:60px;background:#4caf50;color:#fff;font-size:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;animation:scaleIn .3s ease-out}.face-confirmation-screen h2{font-size:28px;color:#333;margin-bottom:24px}.face-confirmation-image-frame{width:200px;height:200px;border-radius:50%;border:4px solid #4caf50;overflow:hidden;margin:0 auto 24px;box-shadow:0 4px 20px #4caf504d}.face-confirmation-image{width:100%;height:100%;object-fit:cover}.face-confirmation-message{font-size:18px;color:#4caf50;font-weight:700;margin-bottom:24px}.face-confirmation-progress-bar{width:280px;height:6px;background:#e0e0e0;border-radius:3px;margin:0 auto;overflow:hidden}.face-confirmation-progress-fill{height:100%;background:linear-gradient(135deg,#d71a21,#b91c1c);border-radius:3px;transition:width .05s linear}.processing-screen{padding:60px 40px;text-align:center}.processing-header h2{font-size:28px;color:#333;margin-bottom:10px}.processing-header .subtitle{font-size:16px;color:#666;margin-bottom:40px}.processing-content{margin:40px 0}.spinner{margin:0 auto 40px;width:80px;height:80px}.spinner-circle{width:80px;height:80px;border:8px solid #f3f3f3;border-top:8px solid #D71A21;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-steps{max-width:400px;margin:0 auto;text-align:left}.processing-step{display:flex;align-items:center;gap:15px;padding:15px;margin-bottom:10px;border-radius:10px;background:#f5f5f5;transition:all .3s}.processing-step.active{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-left:4px solid #D71A21}.processing-step.completed{opacity:.6}.step-check{color:#4caf50;font-size:24px;font-weight:700}.step-loading{color:#d71a21;font-size:24px;animation:spin 1s linear infinite;display:inline-block}.step-text{font-size:16px;color:#333}.success-screen{padding:40px;text-align:center}.success-icon{width:80px;height:80px;background:#4caf50;color:#fff;font-size:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-header h2{font-size:32px;color:#333;margin-bottom:10px}.success-header .subtitle{font-size:18px;color:#666;margin-bottom:10px}.returning-message{color:#4caf50;font-weight:700;margin-top:10px}.new-message{color:#d71a21;font-weight:700;margin-top:10px}.success-content{margin:30px 0}.token-info{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:15px;padding:30px;margin-bottom:30px}.slot-label-section,.slot-time-section,.queue-name-section,.token-number-section,.entry-window-section{margin-bottom:20px}.slot-label-section label,.slot-time-section label,.queue-name-section label,.token-number-section label,.entry-window-section label{display:block;font-size:14px;color:#666;margin-bottom:5px;text-transform:uppercase;letter-spacing:1px}.slot-label-primary{font-size:56px;font-weight:900;color:#d71a21;font-family:Courier New,monospace;letter-spacing:3px}.slot-label-hint{font-size:14px;color:#888;margin-top:4px;font-style:italic}.slot-time,.queue-name{font-size:24px;font-weight:700;color:#333}.token-number{font-size:24px;font-weight:700;color:#d71a21;font-family:Courier New,monospace}.entry-window{font-size:18px;color:#333;font-weight:600}.qr-section{margin:30px 0;padding:20px;background:#fff;border-radius:15px;border:2px solid #e0e0e0}.qr-section canvas{margin:20px auto;display:block}.qr-instructions{font-size:14px;color:#666;margin-top:15px;line-height:1.5}.success-actions{display:flex;gap:15px;justify-content:center;margin-top:30px}.btn-print,.btn-done{padding:15px 40px;font-size:18px;border:none;border-radius:10px;cursor:pointer;transition:all .2s;font-weight:700}.btn-print{background:#f5f5f5;color:#666}.btn-print:hover{background:#e0e0e0}.btn-done{background:linear-gradient(135deg,#d71a21,#b91c1c);color:#fff}.btn-done:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.auto-reset-timer{margin-top:20px;font-size:14px;color:#999}.error-screen{padding:60px 40px;text-align:center}.error-icon{font-size:80px;margin-bottom:20px}.error-header h2{font-size:28px;color:#333;margin-bottom:30px}.error-content{margin:30px 0}.error-message p{font-size:18px;color:#666;line-height:1.6;margin-bottom:20px}.error-message details{background:#f5f5f5;border-radius:10px;padding:15px;margin-top:20px;text-align:left}.error-message summary{cursor:pointer;font-weight:700;color:#d71a21}.error-message pre{margin-top:10px;font-size:14px;color:#666;white-space:pre-wrap;word-wrap:break-word}.error-actions{display:flex;gap:15px;justify-content:center;margin-top:30px}.btn-retry,.btn-help{padding:15px 40px;font-size:18px;border:none;border-radius:10px;cursor:pointer;transition:all .2s;font-weight:700}.btn-retry{background:linear-gradient(135deg,#d71a21,#b91c1c);color:#fff}.btn-retry:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-help{background:#f5f5f5;color:#666}.btn-help:hover{background:#e0e0e0}.loading{padding:60px;text-align:center;font-size:24px;color:#d71a21}@media(max-width:768px){.kiosk-container{border-radius:0;min-height:100vh}.language-grid{grid-template-columns:1fr}.welcome-screen,.consent-screen,.face-capture-screen,.face-confirmation-screen,.processing-screen,.success-screen,.error-screen{padding:30px 20px}.slot-label-primary{font-size:42px}.token-number{font-size:20px}.progress-stepper{padding:16px 20px 12px}.stepper-label{font-size:14px}.stepper-line{min-width:20px}}.enrolling-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;padding:60px 40px;text-align:center}.enrolling-icon{margin-bottom:24px}.enrolling-spinner-container{margin:24px 0}.enrolling-screen h2{font-size:24px;color:#333;margin-bottom:12px}.enrolling-subtitle{font-size:16px;color:#6b7280}.pending-approval-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;padding:60px 40px;text-align:center}.pending-approval-icon{margin-bottom:24px}.pending-approval-screen h2{font-size:28px;color:#f59e0b;margin-bottom:12px}.pending-approval-subtitle{font-size:16px;color:#6b7280;max-width:400px;line-height:1.6;margin-bottom:32px}.pending-device-code{background:#f9fafb;border:2px solid #e5e7eb;border-radius:16px;padding:20px 40px;margin-bottom:24px}.pending-device-code label{display:block;font-size:14px;color:#9ca3af;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.device-code-value{font-size:28px;font-weight:700;font-family:Courier New,monospace;color:#1f2937;letter-spacing:3px}.pending-approval-instruction{font-size:14px;color:#6b7280;max-width:380px;line-height:1.5;margin-bottom:32px}.pending-polling-indicator{display:flex;align-items:center;gap:10px;font-size:14px;color:#9ca3af}.pulse-dot{width:10px;height:10px;border-radius:50%;background:#f59e0b;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.setup-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;padding:40px 30px;text-align:center}.setup-header{margin-bottom:40px}.setup-logo{margin-bottom:16px}.setup-title{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.setup-subtitle{font-size:16px;color:#6b7280;margin:0}.setup-form{width:100%;max-width:360px}.setup-field{margin-bottom:20px;text-align:left}.setup-label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:6px}.setup-code-input{width:100%;padding:16px;font-size:32px;font-family:Courier New,monospace;font-weight:700;text-align:center;letter-spacing:8px;border:2px solid #d1d5db;border-radius:12px;background:#f9fafb;color:#1f2937;outline:none;transition:border-color .2s;box-sizing:border-box}.setup-code-input:focus{border-color:#d71a21;background:#fff}.setup-url-input{width:100%;padding:12px 16px;font-size:14px;border:2px solid #d1d5db;border-radius:12px;background:#f9fafb;color:#1f2937;outline:none;transition:border-color .2s;box-sizing:border-box}.setup-url-input:focus{border-color:#d71a21;background:#fff}.setup-error{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px;border:1px solid #fecaca}.setup-activate-btn{width:100%;padding:16px;font-size:18px;font-weight:600;color:#fff;background:linear-gradient(135deg,#d71a21,#b91c1c);border:none;border-radius:12px;cursor:pointer;transition:opacity .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px}.setup-activate-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.setup-activate-btn:disabled{opacity:.5;cursor:not-allowed}.setup-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.setup-enrollment-input{width:100%;padding:14px 16px;font-size:14px;font-family:Courier New,monospace;border:2px solid #d1d5db;border-radius:12px;background:#f9fafb;color:#1f2937;outline:none;transition:border-color .2s;box-sizing:border-box}.setup-enrollment-input:focus{border-color:#d71a21;background:#fff}.setup-divider{display:flex;align-items:center;margin:20px 0;color:#9ca3af;font-size:14px}.setup-divider:before,.setup-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.setup-divider span{padding:0 12px}.setup-paste-link{background:transparent;border:none;color:#d71a21;cursor:pointer;font-size:14px;text-decoration:underline;padding:8px}.setup-paste-link:hover{color:#b91c1c}.setup-paste-link:disabled{opacity:.5;cursor:not-allowed}.setup-paste-section{display:flex;flex-direction:column;gap:12px}.setup-paste-actions{display:flex;gap:10px}.setup-paste-btn{flex:1;padding:12px 16px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#d71a21,#b91c1c);border:none;border-radius:10px;cursor:pointer;transition:opacity .2s}.setup-paste-btn:hover:not(:disabled){opacity:.9}.setup-paste-btn:disabled{opacity:.5;cursor:not-allowed}.setup-paste-cancel{padding:12px 16px;font-size:14px;font-weight:600;color:#6b7280;background:#f3f4f6;border:none;border-radius:10px;cursor:pointer;transition:background .2s}.setup-paste-cancel:hover{background:#e5e7eb}.setup-footer{margin-top:40px;font-size:14px;color:#9ca3af}.fingerprint-capture-screen{padding:40px;text-align:center;animation:slideIn .3s ease-out}.fingerprint-header h2{font-size:28px;color:#333;margin-bottom:10px}.fingerprint-header .subtitle{font-size:16px;color:#666;margin-bottom:30px}.fingerprint-visual-container{display:flex;justify-content:center;margin-bottom:24px}.fingerprint-icon-wrapper{position:relative;width:180px;height:180px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f9fafb;border:3px solid #e0e0e0;transition:all .4s ease}.fingerprint-icon-wrapper.fingerprint-connecting{border-color:#9ca3af;background:#f3f4f6}.fingerprint-icon-wrapper.fingerprint-ready{border-color:#d71a21;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.fingerprint-icon-wrapper.fingerprint-scanning{border-color:#d71a21;background:linear-gradient(135deg,#667eea1a,#764ba21a);animation:pulse-border 1.5s ease-in-out infinite}.fingerprint-icon-wrapper.fingerprint-captured{border-color:#4caf50;background:#4caf5014}.fingerprint-icon-wrapper.fingerprint-error{border-color:#f44336;background:#f443360d}@keyframes pulse-border{0%,to{box-shadow:0 0 #667eea66}50%{box-shadow:0 0 0 15px #667eea00}}.fingerprint-scanning-pulse{position:absolute;inset:0;border-radius:50%;border:3px solid #D71A21;animation:scan-pulse 1.2s ease-out infinite}@keyframes scan-pulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.3);opacity:0}}.fingerprint-checkmark{position:absolute;bottom:8px;right:8px;width:36px;height:36px;background:#4caf50;color:#fff;font-size:20px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:scaleIn .3s ease-out;box-shadow:0 2px 8px #4caf5066}.fingerprint-connecting-spinner{position:absolute;bottom:8px;right:8px}.fingerprint-connecting-spinner .spinner-circle{width:28px;height:28px;border-width:4px}.fingerprint-status-message{font-size:18px;font-weight:700;margin:16px 0 24px;min-height:28px;transition:color .3s}.fingerprint-status-connecting{color:#9ca3af}.fingerprint-status-ready,.fingerprint-status-scanning{color:#d71a21}.fingerprint-status-captured{color:#4caf50}.fingerprint-status-error{color:#f44336}.fingerprint-quality-bar{max-width:320px;margin:0 auto 24px}.fingerprint-quality-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;color:#666;font-weight:600}.quality-value-good{color:#4caf50;font-weight:700}.quality-value-poor{color:#ff9800;font-weight:700}.fingerprint-quality-track{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.fingerprint-quality-fill{height:100%;border-radius:4px;transition:width .5s ease}.quality-fill-good{background:linear-gradient(90deg,#4caf50,#66bb6a)}.quality-fill-poor{background:linear-gradient(90deg,#ff9800,#ffa726)}.fingerprint-error-hint{font-size:14px;color:#ff9800;margin-bottom:16px}.fingerprint-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px}.fingerprint-actions .btn-accept,.fingerprint-actions .btn-decline,.fingerprint-actions .btn-cancel{min-width:240px}.idcard-screen{padding:40px;text-align:center;display:flex;flex-direction:column;min-height:600px;animation:slideIn .3s ease-out}.idcard-header h2{font-size:28px;color:#333;margin-bottom:10px}.idcard-header .subtitle{font-size:16px;color:#666;margin-bottom:30px}.idcard-type-selection{flex:1;display:flex;align-items:center;justify-content:center}.idcard-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;max-width:620px;width:100%}.idcard-type-button{background:#fff;border:3px solid #e0e0e0;border-radius:15px;padding:30px 20px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:12px}.idcard-type-button:hover{border-color:#d71a21;transform:translateY(-3px);box-shadow:0 5px 15px #667eea4d}.idcard-type-icon{font-size:48px}.idcard-type-label{font-size:18px;font-weight:700;color:#333}.idcard-capture{flex:1;display:flex;flex-direction:column;align-items:center}.idcard-camera-container{position:relative;max-width:640px;width:100%;border-radius:15px;overflow:hidden;background:#000;margin-bottom:24px}.idcard-frame-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.idcard-frame{width:85%;height:60%;border:3px dashed rgba(102,126,234,.8);border-radius:12px}.idcard-capture-actions{display:flex;gap:15px;justify-content:center}.idcard-processing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.idcard-processing-visual .spinner-circle{width:80px;height:80px;border-width:8px}.idcard-processing-text{font-size:20px;color:#333;font-weight:700}.idcard-processing-hint{font-size:14px;color:#9ca3af}.idcard-confirm{flex:1;display:flex;flex-direction:column;align-items:center}.idcard-form{width:100%;max-width:440px;text-align:left}.idcard-form-group{margin-bottom:20px}.idcard-form-group label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.idcard-required{color:#f44336}.idcard-input{width:100%;padding:14px 16px;font-size:16px;border:2px solid #d1d5db;border-radius:12px;background:#f9fafb;color:#1f2937;outline:none;transition:border-color .2s,background .2s;box-sizing:border-box}.idcard-input:focus{border-color:#d71a21;background:#fff}.idcard-form-static{display:flex;align-items:center;gap:10px;padding:14px 16px;font-size:16px;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:12px;color:#374151;font-weight:600}.idcard-form-static-icon{font-size:24px}.idcard-ocr-badge{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:linear-gradient(135deg,#667eea0f,#764ba20f);border-radius:10px;margin-bottom:16px}.idcard-ocr-label{font-size:14px;color:#666;font-weight:600}.idcard-ocr-value{font-size:14px;font-weight:700}.idcard-ocr-value.ocr-good{color:#4caf50}.idcard-ocr-value.ocr-fair{color:#ff9800}.idcard-form-error{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:10px;font-size:14px;border:1px solid #fecaca;margin-bottom:16px}.idcard-confirm-actions{display:flex;gap:15px;justify-content:center;margin-top:24px}.idcard-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.idcard-error-icon{width:70px;height:70px;background:#fef2f2;color:#f44336;font-size:36px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #fecaca;animation:scaleIn .3s ease-out}.idcard-error-message{font-size:18px;color:#666;max-width:400px;line-height:1.5}.idcard-bottom-actions{display:flex;gap:12px;justify-content:center;margin-top:auto;padding-top:20px}@media(max-width:768px){.fingerprint-capture-screen,.idcard-screen{padding:30px 20px}.idcard-type-grid{grid-template-columns:1fr}.fingerprint-icon-wrapper{width:140px;height:140px}.fingerprint-icon-wrapper svg{width:100px;height:100px}}.receipt-container{max-width:320px;margin:0 auto;background:#fff;padding:16px;font-family:Courier New,monospace}.receipt-header{text-align:center;margin-bottom:12px}.receipt-business-name{font-size:20px;font-weight:900;color:#000;text-transform:uppercase;letter-spacing:2px}.receipt-divider-double{border-top:3px double #000;margin:10px 0}.receipt-divider{border-top:1px solid #000;margin:10px 0}.receipt-divider-dashed{border-top:1px dashed #999;margin:8px 0}.receipt-hero{display:flex;align-items:center;gap:16px;margin-bottom:8px}.receipt-face-container{flex-shrink:0}.receipt-face-photo{width:80px;height:80px;object-fit:cover;border-radius:6px;border:2px solid #333}.receipt-slot-info{flex:1;text-align:center}.receipt-label{font-size:10px;color:#666;letter-spacing:2px;margin-bottom:2px}.receipt-slot-label{font-size:36px;font-weight:900;color:#000;line-height:1.1;letter-spacing:2px}.receipt-slot-hint{font-size:9px;color:#888;margin-top:2px;font-style:italic}.receipt-row{display:flex;justify-content:space-between;gap:8px;margin:6px 0}.receipt-field{display:flex;flex-direction:column;gap:1px}.receipt-field-full{width:100%}.receipt-field-label{font-size:9px;color:#666;text-transform:uppercase;letter-spacing:1px}.receipt-field-value{font-size:13px;color:#000;font-weight:700}.receipt-field-mono{font-family:Courier New,monospace;font-size:16px;letter-spacing:1px}.receipt-qr{text-align:center;padding:8px 0}.receipt-qr canvas{margin:0 auto;display:block}.receipt-qr-hint{font-size:9px;color:#888;margin-top:6px}.receipt-footer{text-align:center;padding:4px 0 0}.receipt-footer-text{font-size:10px;color:#444;line-height:1.6}.receipt-timestamp{font-size:9px;color:#999;margin-top:6px}.screen-only{display:block}@media print{body{background:#fff!important;margin:0!important;padding:0!important}.app,.kiosk-container{background:#fff!important;box-shadow:none!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important;max-width:none!important;min-height:auto!important;overflow:visible!important}.screen-only,.success-header,.success-icon,.success-actions,.auto-reset-timer,.debug-info,.progress-stepper{display:none!important}.success-screen{padding:0!important}.success-content{margin:0!important}.receipt-container{width:72mm;max-width:72mm;margin:0;padding:2mm;font-size:10px}.receipt-business-name{font-size:16px}.receipt-slot-label{font-size:28px}.receipt-face-photo{width:60px;height:60px}.receipt-qr canvas{width:120px!important;height:120px!important}.token-info,.qr-section{display:none!important}@page{size:80mm auto;margin:0}}.group-size-screen{padding:60px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;min-height:500px;justify-content:center}.group-size-screen h2{font-size:32px;color:#333;margin-bottom:10px}.group-size-screen .subtitle{font-size:18px;color:#666;margin-bottom:40px}.group-size-stepper{display:flex;align-items:center;gap:24px;margin-bottom:20px}.stepper-button{width:64px;height:64px;border-radius:50%;border:3px solid #e0e0e0;background:#fff;font-size:32px;font-weight:700;color:#d71a21;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.stepper-button:hover:not(:disabled){border-color:#d71a21;background:#667eea14;transform:scale(1.05)}.stepper-button:active:not(:disabled){transform:scale(.95)}.stepper-button:disabled{opacity:.3;cursor:not-allowed}.stepper-value{font-size:72px;font-weight:900;color:#333;min-width:100px;text-align:center;font-family:Courier New,monospace}.group-size-hint{font-size:16px;color:#888;margin-bottom:10px;font-style:italic}.group-size-capacity{font-size:14px;color:#e67e22;margin-bottom:10px;font-weight:500}.group-size-actions{display:flex;gap:16px;margin-top:30px}.btn-primary{background:linear-gradient(135deg,#d71a21,#b91c1c);color:#fff;border:none;padding:16px 48px;font-size:20px;border-radius:50px;cursor:pointer;transition:transform .2s,box-shadow .2s;font-weight:700}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#fff;color:#666;border:2px solid #e0e0e0;padding:16px 48px;font-size:20px;border-radius:50px;cursor:pointer;transition:all .2s;font-weight:700}.btn-secondary:hover{border-color:#999;background:#f5f5f5}.member-progress-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:linear-gradient(135deg,#d71a21,#b91c1c);color:#fff;font-size:15px;font-weight:600}.member-progress-banner.warning{background:linear-gradient(135deg,#e67e22,#e74c3c)}.member-progress-info{display:flex;align-items:center;gap:16px}.member-progress-label{white-space:nowrap}.member-progress-dots{display:flex;gap:8px}.progress-dot{width:12px;height:12px;border-radius:50%;background:#ffffff4d;transition:background .3s}.progress-dot.completed{background:#4caf50}.progress-dot.active{background:#fff;box-shadow:0 0 6px #fffc}.member-progress-timer{font-family:Courier New,monospace;font-size:18px;font-weight:700;padding:4px 12px;background:#fff3;border-radius:8px}.member-progress-timer.warning{background:#ffffff4d;animation:pulse-timer 1s infinite}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.5}}.member-success-screen{padding:30px 40px;text-align:center}.member-success-screen .success-header{margin-bottom:20px}.member-success-screen .receipt-container{max-width:350px;margin:0 auto 20px}.group-complete-screen{padding:40px;text-align:center}.group-summary{max-width:500px;margin:30px auto;background:#f8f9fa;border-radius:16px;overflow:hidden;border:2px solid #e0e0e0}.group-summary-header{padding:14px 20px;background:linear-gradient(135deg,#d71a21,#b91c1c);color:#fff;font-weight:700;font-size:16px}.group-member-list{padding:8px}.group-member-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid #e8e8e8}.group-member-row:last-child{border-bottom:none}.group-member-index{font-size:14px;font-weight:700;color:#999;min-width:28px}.group-member-photo{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #e0e0e0}.group-member-info{flex:1;text-align:left;display:flex;flex-direction:column;gap:2px}.group-member-name{font-weight:600;color:#333;font-size:15px}.group-member-token{font-size:13px;color:#d71a21;font-family:Courier New,monospace;font-weight:700}.group-member-slot{text-align:right;font-weight:700;color:#333;font-size:15px;display:flex;flex-direction:column;gap:2px}.group-member-time{font-size:12px;color:#888;font-weight:400}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter Variable,Noto Sans Devanagari,Noto Sans Tamil,Noto Sans Telugu,Noto Sans Kannada,Noto Sans Malayalam,Noto Sans Bengali,Noto Sans Gujarati,Noto Sans Gurmukhi,Noto Sans Oriya,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#d71a21,#b91c1c);min-height:100vh;display:flex;align-items:center;justify-content:center}button,input,select,textarea{font-family:inherit}#root{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center}.debug-info{position:fixed;bottom:10px;right:10px;background:#000000b3;color:#fff;padding:10px;border-radius:5px;font-size:12px;font-family:monospace}.debug-info p{margin:2px 0}
