:root{--uba-red:#e8001d;--uba-red-dark:#b5001a;--uba-red-darker:#8c0015;--uba-red-light:#ff2637;--uba-white:#fff;--uba-gray-50:#f8f9fa;--uba-gray-100:#f1f3f5;--uba-gray-200:#e9ecef;--uba-gray-300:#dee2e6;--uba-gray-400:#adb5bd;--uba-gray-500:#6c757d;--uba-gray-600:#495057;--uba-gray-700:#343a40;--uba-gray-800:#212529;--uba-success:#28a745;--uba-danger:#dc3545;--uba-info:#17a2b8;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001f;--shadow-lg:0 8px 32px #00000029;--radius:8px;--radius-lg:12px;--radius-xl:16px;--sidebar-width:260px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background-color:#f1f3f5;background-color:var(--uba-gray-100);color:#212529;color:var(--uba-gray-800);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.spinner{animation:spin .6s linear infinite;border:3px solid #dee2e6;border-top-color:#e8001d;border:3px solid var(--uba-gray-300);border-radius:50%;border-top-color:var(--uba-red);height:32px;margin:0 auto;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.app-loading{align-items:center;display:flex;height:100vh;justify-content:center}.auth-wrapper{display:flex;min-height:100vh}.auth-left{background:linear-gradient(160deg,#8c0015,#b5001a 40%,#e8001d);background:linear-gradient(160deg,var(--uba-red-darker) 0,var(--uba-red-dark) 40%,var(--uba-red) 100%);display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:60px 48px;position:relative;width:42%}.auth-left:before{border:2px solid #ffffff12;border-radius:50%;content:"";height:360px;position:absolute;right:-140px;top:-140px;width:360px}.auth-left:after{border:2px solid #ffffff0d;border-radius:50%;bottom:-100px;content:"";height:280px;left:-100px;position:absolute;width:280px}.auth-left .auth-deco{border:2px solid #ffffff0f;border-radius:50%;height:180px;left:-60px;position:absolute;top:50%;transform:translateY(-50%);width:180px}.auth-brand{margin-bottom:56px;position:relative;z-index:1}.auth-logo-circle{border-radius:12px;box-shadow:0 4px 16px #0003;height:60px;margin-bottom:28px;overflow:hidden;width:100px}.auth-logo-img{height:100%;object-fit:cover;width:100%}.auth-brand-title{color:#fff;color:var(--uba-white);font-size:30px;font-weight:700;margin-bottom:8px}.auth-brand-sub{color:#ffffffa6;font-size:14px;line-height:1.5}.auth-features{display:flex;flex-direction:column;gap:18px;position:relative;z-index:1}.auth-feature{align-items:center;color:#ffffffd1;display:flex;font-size:14px;font-weight:500;gap:14px}.auth-feature-icon{background:#ffffff1a;border-radius:10px;flex-shrink:0;font-size:18px;height:42px;width:42px}.auth-feature-icon,.auth-right{align-items:center;display:flex;justify-content:center}.auth-right{background:#fff;background:var(--uba-white);padding:60px 40px;width:58%}.auth-form-container{max-width:420px;width:100%}.auth-form-title{color:#212529;color:var(--uba-gray-800);font-size:28px;font-weight:700;margin-bottom:6px}.auth-form-subtitle{color:#6c757d;color:var(--uba-gray-500);font-size:14px;margin-bottom:32px}.auth-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;border-radius:var(--radius);color:#dc3545;color:var(--uba-danger);font-size:13px;margin-bottom:20px;padding:12px 16px}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#495057;color:var(--uba-gray-600);font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}.form-group input{background:#f8f9fa;background:var(--uba-gray-50);border:2px solid #e9ecef;border:2px solid var(--uba-gray-200);border-radius:8px;border-radius:var(--radius);font-family:inherit;font-size:15px;outline:none;padding:13px 16px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{background:#fff;background:var(--uba-white);border-color:#e8001d;border-color:var(--uba-red);box-shadow:0 0 0 3px #e8001d1a}.form-group input::placeholder{color:#adb5bd;color:var(--uba-gray-400)}.btn-primary{background:#e8001d;background:var(--uba-red);border:none;border-radius:8px;border-radius:var(--radius);box-shadow:0 3px 10px #e8001d4d;color:#fff;color:var(--uba-white);cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;margin-top:8px;padding:14px;transition:background .2s,transform .1s,box-shadow .2s}.btn-primary:hover{background:#b5001a;background:var(--uba-red-dark);box-shadow:0 4px 14px #e8001d66}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{background:#adb5bd;background:var(--uba-gray-400);box-shadow:none;cursor:not-allowed}.auth-redirect{color:#6c757d;color:var(--uba-gray-500);font-size:14px;margin-top:28px;text-align:center}.auth-redirect a{color:#e8001d;color:var(--uba-red);font-weight:600;text-decoration:none}.auth-redirect a:hover{text-decoration:underline}.sidebar{background:linear-gradient(180deg,#b5001a,#e8001d);background:linear-gradient(180deg,var(--uba-red-dark) 0,var(--uba-red) 100%);bottom:0;box-shadow:4px 0 20px #0000002e;display:flex;flex-direction:column;left:0;min-height:100vh;position:fixed;top:0;width:260px;width:var(--sidebar-width);z-index:200}.sidebar-logo-section{align-items:center;border-bottom:1px solid #ffffff1f;display:flex;gap:14px;padding:30px 22px 26px}.sidebar-logo-icon{background:#fff;background:var(--uba-white);border-radius:8px;box-shadow:0 2px 10px #0003;flex-shrink:0;height:48px;overflow:hidden;width:80px}.sidebar-logo-img{height:100%;object-fit:contain;width:100%}.sidebar-logo-info{display:flex;flex-direction:column;min-width:0}.sidebar-logo-title{color:#fff;color:var(--uba-white);font-size:15px;font-weight:700}.sidebar-logo-sub{color:#ffffff80;font-size:9px;letter-spacing:1.2px;margin-top:1px;text-transform:uppercase}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:3px;padding:22px 14px}.sidebar-menu-item{align-items:center;background:#0000;border:none;border-radius:10px;color:#ffffffb3;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:12px;padding:11px 16px;text-align:left;transition:all .2s ease;width:100%}.sidebar-menu-item:hover{background:#ffffff1a;color:#fff;color:var(--uba-white)}.sidebar-menu-item.active{background:#fff;background:var(--uba-white);box-shadow:0 2px 10px #00000024;color:#e8001d;color:var(--uba-red);font-weight:600}.sidebar-menu-icon{flex-shrink:0;font-size:17px;text-align:center;width:20px}.sidebar-menu-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{border-top:1px solid #ffffff1f;padding:14px 14px 22px}.sidebar-user{gap:12px;margin-bottom:6px;padding:10px 14px}.sidebar-avatar,.sidebar-user{align-items:center;display:flex}.sidebar-avatar{background:#ffffff2e;border-radius:50%;color:#fff;color:var(--uba-white);flex-shrink:0;font-size:14px;font-weight:700;height:36px;justify-content:center;width:36px}.sidebar-user-info{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{color:#fff;color:var(--uba-white);font-size:13px;font-weight:600}.sidebar-user-email,.sidebar-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-email{color:#ffffff73;font-size:11px}.sidebar-logout{align-items:center;background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;color:#ffffffa6;cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:500;gap:10px;padding:10px 16px;transition:all .2s;width:100%}.sidebar-logout:hover{background:#ffffff24;border-color:#ffffff40;color:#fff;color:var(--uba-white)}.sidebar-logout-icon{font-size:14px}.app-layout,.app-main{min-height:100vh}.app-main{display:flex;flex-direction:column;margin-left:260px;margin-left:var(--sidebar-width);overflow-x:hidden;width:calc(100vw - 260px);width:calc(100vw - var(--sidebar-width))}.app-topbar{align-items:center;background:#fff;background:var(--uba-white);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--uba-gray-200);box-shadow:0 2px 6px #0000000d;display:flex;justify-content:space-between;padding:18px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.app-topbar-title{color:#212529;color:var(--uba-gray-800);font-size:21px;font-weight:700}.app-topbar-greeting{color:#6c757d;color:var(--uba-gray-500);font-size:13px}.app-content{background:#f1f3f5;background:var(--uba-gray-100);display:flex;flex:1 1;flex-direction:column;gap:24px;padding:28px 32px}.upload-section{background:#fff;background:var(--uba-white);border:1px solid #e9ecef;border:1px solid var(--uba-gray-200);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-sm);padding:28px 32px}.upload-header h3{color:#212529;color:var(--uba-gray-800);font-size:18px;font-weight:700;margin-bottom:4px}.upload-header p{color:#6c757d;color:var(--uba-gray-500);font-size:13px;margin-bottom:20px}.upload-dropzone{background:#f8f9fa;background:var(--uba-gray-50);border:2px dashed #dee2e6;border:2px dashed var(--uba-gray-300);border-radius:12px;border-radius:var(--radius-lg);cursor:pointer;padding:40px 24px;position:relative;text-align:center;transition:all .25s ease}.upload-dropzone:hover{background:#e8001d08;border-color:#e8001d;border-color:var(--uba-red)}.upload-dropzone.dragging{background:#e8001d0f;border-color:#e8001d;border-color:var(--uba-red);box-shadow:0 4px 16px #0000001f;box-shadow:var(--shadow-md);transform:scale(1.01)}.upload-dropzone.has-file{background:#28a7450a;border-color:#28a745;border-color:var(--uba-success);border-style:solid;padding:20px 24px}.upload-input-hidden{display:none}.dropzone-empty .dropzone-icon{font-size:40px;margin-bottom:12px}.dropzone-empty .dropzone-text{color:#343a40;color:var(--uba-gray-700);font-size:16px;font-weight:600;margin-bottom:4px}.dropzone-empty .dropzone-subtext{color:#adb5bd;color:var(--uba-gray-400);font-size:13px;margin-bottom:10px}.dropzone-formats{background:#e9ecef;background:var(--uba-gray-200);border-radius:20px;color:#495057;color:var(--uba-gray-600);display:inline-block;font-size:11px;padding:4px 10px}.dropzone-file{align-items:center;display:flex;gap:16px}.dropzone-file-icon{font-size:28px}.dropzone-file-info{flex:1 1;text-align:left}.dropzone-file-name{color:#212529;color:var(--uba-gray-800);font-size:15px;font-weight:600}.dropzone-file-size{color:#adb5bd;color:var(--uba-gray-400);font-size:12px}.dropzone-file-remove{align-items:center;background:#fff;background:var(--uba-white);border:1px solid #dee2e6;border:1px solid var(--uba-gray-300);border-radius:6px;color:#6c757d;color:var(--uba-gray-500);cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;transition:all .2s;width:28px}.dropzone-file-remove:hover{border-color:#dc3545;border-color:var(--uba-danger)}.dropzone-file-remove:hover,.upload-error{background:#fef2f2;color:#dc3545;color:var(--uba-danger)}.upload-error{border:1px solid #fecaca;border-radius:8px;border-radius:var(--radius);font-size:13px;margin-top:12px;padding:10px 14px}.btn-upload{background:linear-gradient(135deg,#e8001d,#b5001a);background:linear-gradient(135deg,var(--uba-red),var(--uba-red-dark));border:none;border-radius:8px;border-radius:var(--radius);box-shadow:0 4px 12px #e8001d59;color:#fff;color:var(--uba-white);cursor:pointer;display:block;font-family:inherit;font-size:15px;font-weight:600;margin-top:16px;padding:14px;transition:all .2s;width:100%}.btn-upload:hover{box-shadow:0 6px 20px #e8001d73;transform:translateY(-1px)}.upload-loading{padding:24px 0 8px;text-align:center}.upload-loading p{color:#6c757d;color:var(--uba-gray-500);font-size:13px;margin-top:12px}.upload-stats{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;border-radius:var(--radius-lg);margin-top:20px;padding:20px 24px}.stats-title{color:#28a745;color:var(--uba-success);font-size:15px;font-weight:700;margin-bottom:16px}.stats-grid{display:flex;gap:16px}.stat-card{background:#fff;background:var(--uba-white);border:1px solid #e9ecef;border:1px solid var(--uba-gray-200);border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-sm);flex:1 1;padding:16px;text-align:center}.stat-number{display:block;font-size:28px;font-weight:700;margin-bottom:4px}.stat-label{color:#6c757d;color:var(--uba-gray-500);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.stat-total .stat-number{color:#212529;color:var(--uba-gray-800)}.stat-new .stat-number{color:#e8001d;color:var(--uba-red)}.stat-cached .stat-number{color:#17a2b8;color:var(--uba-info)}.stat-rejected .stat-number{color:#dc2626}.table-section{background:#fff;background:var(--uba-white);border:1px solid #e9ecef;border:1px solid var(--uba-gray-200);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow-sm);overflow:hidden}.table-toolbar{align-items:flex-start;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--uba-gray-200);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 24px}.table-toolbar-left h3{color:#212529;color:var(--uba-gray-800);font-size:18px;font-weight:700}.table-count{color:#adb5bd;color:var(--uba-gray-400);display:block;font-size:12px;margin-top:2px}.table-toolbar-right{align-items:center;display:flex;gap:12px}.search-input{border:2px solid #e9ecef;border:2px solid var(--uba-gray-200);border-radius:8px;border-radius:var(--radius);font-family:inherit;font-size:14px;max-width:100%;outline:none;padding:10px 16px;transition:border-color .2s,box-shadow .2s;width:340px}.search-input:focus{border-color:#e8001d;border-color:var(--uba-red);box-shadow:0 0 0 3px #e8001d1a}.search-input::placeholder{color:#adb5bd;color:var(--uba-gray-400)}.btn-export{background:#e8001d;background:var(--uba-red);border:none;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 8px #e8001d40;color:#fff;color:var(--uba-white);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:10px 18px;transition:all .2s;white-space:nowrap}.btn-export:hover{background:#b5001a;background:var(--uba-red-dark);box-shadow:0 3px 12px #e8001d59}.table-error{background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc3545;color:var(--uba-danger);font-size:13px;padding:12px 24px}.table-wrapper{overflow-x:auto}.bin-table{border-collapse:collapse;font-size:13px;width:100%}.bin-table thead{background:#f8f9fa;background:var(--uba-gray-50);border-bottom:2px solid #e9ecef;border-bottom:2px solid var(--uba-gray-200)}.bin-table th{color:#6c757d;color:var(--uba-gray-500);font-size:11px;font-weight:600;letter-spacing:.6px;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.bin-table td{border-bottom:1px solid #f1f3f5;border-bottom:1px solid var(--uba-gray-100);padding:14px;white-space:nowrap}.table-row{transition:background .15s}.table-row:hover{background:#e8001d08}.col-index{color:#adb5bd;color:var(--uba-gray-400);font-size:12px;font-weight:500}.bin-code{color:#e8001d;color:var(--uba-red);font-family:Courier New,monospace;font-size:14px}.bin-code,.brand-badge{font-weight:700;letter-spacing:1px}.brand-badge{border-radius:4px;display:inline-block;font-size:11px;padding:4px 10px}.brand-unknown{background:#e9ecef;background:var(--uba-gray-200);color:#6c757d;color:var(--uba-gray-500)}.type-badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:500;padding:3px 10px}.type-debit{background:#eff6ff;color:#2563eb}.type-credit{background:#fff7ed;color:#ea580c}.country-code{color:#495057;color:var(--uba-gray-600);font-weight:700}.bank-info{display:flex;flex-direction:column}.bank-name{color:#343a40;color:var(--uba-gray-700);font-weight:600}.bank-city{color:#adb5bd;color:var(--uba-gray-400);font-size:11px}.luhn-badge{align-items:center;border-radius:50%;display:inline-flex;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.luhn-valid{background:#dcfce7;color:#28a745;color:var(--uba-success)}.luhn-invalid{background:#fee2e2;color:#dc3545;color:var(--uba-danger)}.table-empty,.table-loading{color:#adb5bd;color:var(--uba-gray-400);font-size:14px;padding:48px 20px;text-align:center}.pagination{border-top:1px solid #e9ecef;border-top:1px solid var(--uba-gray-200);gap:6px;padding:16px 24px}.page-btn,.pagination{align-items:center;display:flex;justify-content:center}.page-btn{background:#fff;background:var(--uba-white);border:1px solid #e9ecef;border:1px solid var(--uba-gray-200);border-radius:8px;border-radius:var(--radius);color:#495057;color:var(--uba-gray-600);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;height:36px;transition:all .15s;width:36px}.page-btn:hover:not(:disabled):not(.active){background:#e8001d0d;border-color:#e8001d;border-color:var(--uba-red);color:#e8001d;color:var(--uba-red)}.page-btn.active{background:#e8001d;background:var(--uba-red);border-color:#e8001d;border-color:var(--uba-red);color:#fff;color:var(--uba-white)}.page-btn:disabled{cursor:not-allowed;opacity:.35}.page-dots{color:#adb5bd;color:var(--uba-gray-400);font-size:14px;padding:0 4px}@media (max-width:1024px){:root{--sidebar-width:220px}.app-content{padding:24px}}@media (max-width:900px){.auth-wrapper{flex-direction:column}.auth-left{padding:40px 28px;width:100%}.auth-right{padding:40px 24px;width:100%}.auth-features{flex-direction:row;flex-wrap:wrap}.sidebar{display:none}.app-main{margin-left:0;width:100vw}.table-toolbar{align-items:stretch}.table-toolbar,.table-toolbar-right{flex-direction:column}.search-input{width:100%}.stats-grid{flex-direction:column}}@media (max-width:600px){.app-topbar{padding:14px 18px}.app-topbar-title{font-size:17px}.app-content{padding:16px 12px}.table-section,.upload-section{border-radius:8px;border-radius:var(--radius)}}
/*# sourceMappingURL=main.9c5e0638.css.map*/