@keyframes donut-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--lpx-logo: url(/assets/images/logo/logo-light.png);--lpx-logo-icon: url(/assets/images/logo/logo-light-thumbnail.png)}.donut{display:inline-block;border:4px solid rgba(0,0,0,.1);border-left-color:#7983ff;border-radius:50%;width:30px;height:30px;animation:donut-spin 1.2s linear infinite}.donut.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.abp-logo{background-repeat:no-repeat}.abp-support{width:178px;height:30px;background-image:url(/assets/images/getting-started/abp-support.svg)}.abp-community{width:215px;height:30px;background-image:url(/assets/images/getting-started/abp-community.svg)}.abp-blog{width:142px;height:30px;background-image:url(/assets/images/getting-started/abp-blog.svg)}.logo-x{width:20px;height:20px;background-image:url(/assets/images/getting-started/x.svg)}:root{--primary: #d82d2b;--secondary: #8ecae6;--accent: #ffb703;--success: #38b000;--warning: #ff9e00;--danger: #d90429;--light: #f8f9fa;--dark: #212529;--card-shadow: 0 10px 30px rgba(0, 0, 0, .05);--transition: all .3s ease}body.theme-ocean{--primary: #0077b6;--secondary: #90e0ef;--accent: #00b4d8;--success: #2a9d8f;--warning: #e9c46a;--danger: #e76f51}body.theme-forest{--primary: #386641;--secondary: #a7c957;--accent: #588157;--success: #3a5a40;--warning: #bc6c25;--danger: #ae2012}body.theme-sunset{--primary: #5e60ce;--secondary: #64dfdf;--accent: #ff9f1c;--success: #06d6a0;--warning: #ffca3a;--danger: #ef476f}body{font-family:Poppins,sans-serif;background-color:#f8fafc;color:#334155;min-height:100vh;line-height:1.6}.theme-selector{position:fixed;top:20px;right:20px;z-index:1030;display:flex;gap:8px}.container{max-width:1140px;padding:2rem 1rem}header{margin-bottom:2.5rem;text-align:center}header h1{font-weight:600;color:var(--primary);font-size:2.2rem;margin-bottom:.5rem;letter-spacing:-.5px}header p{color:#64748b;max-width:600px;margin:0 auto}.biometric-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--card-shadow);margin-bottom:2rem;border:none;transition:var(--transition)}.biometric-card:hover{box-shadow:0 15px 35px #0000001a;transform:translateY(-5px)}.card-header{background:#fff;border-bottom:1px solid rgba(0,0,0,.05);padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.card-header h2{font-size:1.25rem;font-weight:500;color:var(--primary);margin:0;display:flex;align-items:center;gap:10px}.card-header h2 i{background-color:rgba(var(--bs-primary-rgb),.1);color:var(--primary);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px}.card-header .header-actions{display:flex;gap:10px}.card-body{padding:1.5rem}.nav-pills{margin-bottom:1.5rem;border-radius:12px;background-color:#fee2e2;padding:5px;display:inline-flex}.nav-pills .nav-link{border-radius:10px;padding:8px 16px;color:#64748b;font-weight:500;font-size:.9rem;transition:var(--transition)}.nav-pills .nav-link.skipped{background:#e0e0e0}.nav-pills .nav-link.active{background-color:var(--primary);color:#fff;box-shadow:0 2px 8px #0000000d}.nav-pills .nav-link:not(.active):hover{background-color:#fffc;color:var(--primary)}.image-title{font-size:1rem;font-weight:600;color:#374151;text-transform:capitalize}.capture-area,.preview-area{height:220px;border-radius:12px;position:relative;overflow:hidden;transition:var(--transition)}.capture-area{background-color:#f8fafc;border:2px dashed #e2e8f0;display:flex;flex-direction:column;align-items:center;justify-content:center}.capture-area:hover{border-color:var(--primary)}.preview-area{background-color:#f1f5f9;border:2px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;justify-content:center}.placeholder-text{text-align:center;color:#94a3b8;transition:var(--transition)}.placeholder-text i{font-size:2.5rem;margin-bottom:10px;color:#cbd5e1}.placeholder-text p{font-size:.9rem;margin:0}.action-buttons{display:flex;gap:10px;margin-top:1rem}.btn{border-radius:10px;font-weight:500;font-size:14px;transition:var(--transition);display:flex;align-items:center;gap:8px}.btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:10px}.btn-primary{background-color:var(--primary);border-color:var(--primary)}.btn-primary:hover{background-color:var(--primary);border-color:var(--primary);filter:brightness(90%);transform:translateY(-2px)}.btn-outline-primary{color:var(--primary);border-color:var(--primary)}.btn-outline-primary:hover{background-color:var(--primary);color:#fff;transform:translateY(-2px)}.btn-secondary{background-color:#f1f5f9;border-color:#e2e8f0;color:#64748b}.btn-secondary:hover{background-color:#e2e8f0;color:#334155;transform:translateY(-2px)}.btn-success{background-color:var(--success);border-color:var(--success)}.btn-success:hover{background-color:var(--success);filter:brightness(90%);transform:translateY(-2px)}.status-badge{position:absolute;top:10px;right:10px;border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:500;z-index:10;opacity:0;transform:translateY(-10px);transition:var(--transition)}.status-badge.show{opacity:1;transform:translateY(0)}.status-badge.success{background-color:rgba(var(--bs-success-rgb),.1);color:var(--success)}.status-badge.warning{background-color:rgba(var(--bs-warning-rgb),.1);color:var(--warning)}.signature-pad{width:100%;height:100%;position:absolute;top:0;left:0;cursor:crosshair}.camera-feed{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.info-box{background-color:#f1f5f9;border-left:4px solid var(--primary);padding:1rem;border-radius:8px;font-size:1rem}.info-box h6{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:var(--primary);display:flex;align-items:center;gap:8px}.info-box ul,.info-box ol{margin-bottom:0;padding-left:1.5rem}.info-box li{margin-bottom:.25rem;font-size:14px}.result-box{background-color:rgba(var(--bs-warning-rgb),.1);border-left:4px solid var(--warning);padding:1rem;border-radius:8px;margin-top:1.5rem}.result-box h6{font-size:.95rem;font-weight:600;margin-bottom:.5rem;color:var(--warning);display:flex;align-items:center;gap:8px}.footer-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.modal-content{border:none;border-radius:16px;overflow:hidden;box-shadow:0 25px 50px #0000001a}.modal-header{background-color:#fff;border-bottom:1px solid rgba(0,0,0,.05);padding:1.5rem}.modal-header .modal-title{font-weight:600;color:var(--primary)}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;background-color:#f8fafc;border-top:1px solid rgba(0,0,0,.05)}.form-control{border-radius:10px;padding:.75rem 1rem;border:1px solid #e2e8f0;transition:var(--transition)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--bs-primary-rgb),.1)}.form-label{font-weight:500;color:#475569;margin-bottom:.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease forwards}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.pulse{animation:pulse 1.5s infinite}.floating-action{position:fixed;bottom:30px;right:30px;z-index:1000}.fab-btn{width:56px;height:56px;border-radius:28px;background-color:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(var(--bs-primary-rgb),.3);cursor:pointer;transition:var(--transition)}.fab-btn:hover{transform:translateY(-5px);box-shadow:0 8px 16px rgba(var(--bs-primary-rgb),.4)}.fab-btn i{font-size:1.5rem}.fab-menu{position:absolute;bottom:70px;right:8px;display:flex;flex-direction:column;gap:16px;opacity:0;pointer-events:none;transition:var(--transition)}.fab-menu.show{opacity:1;pointer-events:auto}.fab-item{display:flex;align-items:center;gap:12px}.fab-item-btn{width:40px;height:40px;border-radius:20px;background-color:#fff;color:var(--primary);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:var(--transition)}.fab-item-btn:hover{background-color:var(--primary);color:#fff;transform:scale(1.1)}.fab-item-label{background-color:#334155;color:#fff;padding:6px 12px;border-radius:6px;font-size:.8rem;opacity:0;transform:translate(10px);transition:var(--transition)}.fab-item:hover .fab-item-label{opacity:1;transform:translate(0)}@media (max-width: 768px){.card-header{flex-direction:column;align-items:flex-start;gap:10px}.card-header .header-actions{width:100%;justify-content:flex-end}.footer-actions{flex-direction:column}.footer-actions .btn{width:100%}}
