@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap");:root{--color-bg-main:#1a1d23;--color-bg-card:#25282e;--color-bg-row-alt:#2d3238;--color-header-bg-start:#2d3238;--color-header-bg-end:#1a1d23;--color-header-text:#f7fafc;--color-border:hsla(0,0%,100%,.1);--color-border-strong:hsla(0,0%,100%,.24);--color-text-body:#f7fafc;--color-accent:#3b82f6;--color-accent-hover:#2563eb;--color-text-secondary:#e2e8f0;--color-text-muted:#a0aec0;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 6px rgba(0,0,0,.4);--shadow-lg:0 10px 15px rgba(0,0,0,.5);--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell",sans-serif;--font-mono:"JetBrains Mono","Fira Code","Monaco","Consolas",monospace;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem}:root,[data-theme=light]{--bg-secondary:var(--color-bg-card);--text-primary:var(--color-text-body);--bg-hover:var(--color-bg-row-alt);--border-color:var(--color-border);--accent-color:var(--color-accent);--text-secondary:var(--color-text-secondary)}[data-theme=light]{--color-bg-main:#f8fafc;--color-bg-card:#fff;--color-bg-row-alt:#f1f5f9;--color-header-bg-start:#fff;--color-header-bg-end:#f8fafc;--color-header-text:#1e293b;--color-border:rgba(0,0,0,.1);--color-border-strong:rgba(0,0,0,.16);--color-text-body:#1e293b;--color-accent:#3b82f6;--color-accent-hover:#2563eb;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--shadow-sm:0 1px 3px rgba(0,0,0,.1);--shadow-md:0 4px 6px rgba(0,0,0,.1);--shadow-lg:0 10px 15px rgba(0,0,0,.1)}:root{--bg:#1f232a;--card:#2a2f37;--blue:#3b82f6}body,html{background-color:var(--color-bg-main);color:var(--color-text-body);margin:0;padding:0;font-family:var(--font-primary);font-weight:var(--font-weight-normal);line-height:1.6;transition:background-color .3s ease,color .3s ease;height:100%;width:100%;overflow-x:hidden}.table-container::-webkit-scrollbar,body::-webkit-scrollbar{height:10px;width:10px}.table-container::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:var(--color-bg-main);border-radius:8px}.table-container::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:8px;border:2px solid var(--color-bg-main)}.table-container::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.table-container,body,html{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-main)}.main-container{min-height:100vh;width:100%;padding:0;margin:0;display:flex;flex-direction:column}.main-container>*{zoom:90%}@media (max-width:768px){.main-container>*{zoom:90%}}@media (max-width:480px){.main-container>*{zoom:100%}}.table-container{flex:1;overflow:auto;border:none;border-radius:0;width:100%;min-height:0;zoom:100%}.info-status-cell{min-width:140px;max-width:160px}.indicators-container{display:flex;align-items:center;gap:24px;padding:16px 0;margin-bottom:20px;border-bottom:1px solid var(--color-border);flex-wrap:wrap}.txt-export-grid{display:grid;gap:8px;margin-bottom:16px}.txt-export-grid-2{grid-template-columns:repeat(2,1fr)}.txt-export-grid-3{grid-template-columns:repeat(3,1fr)}.checkbox-container{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;transition:background-color .2s ease;cursor:pointer}.checkbox-container:hover{background-color:rgba(66,153,225,.05)}.filter-container{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-container>*{flex-shrink:0}.select-all-section{padding:16px 0;border-bottom:1px solid var(--color-border);margin-bottom:20px}.select-all-container{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.column-selection{padding:0 0 20px}.column-selection .txt-export-section-header{margin-bottom:16px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.column-filter-modal .checkbox-container{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background-color .2s ease;font-size:14px;color:var(--color-text-body)}.column-filter-modal .checkbox-container:hover{background-color:var(--color-bg-main)}.column-filter-modal .checkbox-container span{-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:500}.column-filter-modal .checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:16px}.dropdown-checkbox-container{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer;transition:background-color .2s ease;border-radius:4px;margin:2px 0}.dropdown-checkbox-container:hover{background-color:var(--color-bg-main)}.dropdown-checkbox-text{-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:14px;color:var(--color-text-body);font-weight:500}.dropdown-checkbox-container:first-child .dropdown-checkbox-text{font-weight:600;color:var(--color-text-primary)}.header-section{padding:12px 20px;border-bottom:1px solid var(--color-border)}.txt-export-section-header{color:var(--color-accent);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.txt-export-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.txt-export-section:last-child{border-bottom:none;margin-bottom:0}.txt-export-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border)}.detail-modal-header.simple{display:flex;justify-content:flex-end;align-items:center;height:44px;padding:0 12px;border-bottom:1px solid hsla(0,0%,100%,.08);background:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,0));border-radius:20px 20px 0 0}table.data-table{table-layout:auto!important}body table.data-table,div table.data-table,table.data-table{border-collapse:separate!important;border-spacing:0!important;width:100%;border:none!important;border-top:none!important}.data-table th{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);padding:8px 12px;white-space:nowrap;color:var(--color-text-body);user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}body table.data-table td,div table.data-table td,table.data-table td{border-right:1px solid var(--color-border)!important;border-bottom:1px solid var(--color-border)!important;border-left:1px solid var(--color-border)!important;padding:1px 12px!important;white-space:nowrap!important;color:var(--color-text-body)!important;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}.data-table td[contenteditable=true]{color:var(--color-text-body)!important;text-align:center!important;-webkit-user-select:text;-moz-user-select:text;user-select:text}.data-table td[contenteditable=true]:focus{outline:1px solid var(--color-accent);outline-offset:-1px;background-color:rgba(66,153,225,.05);text-align:center!important}.data-table td:last-child{border-right:none}body table.data-table thead th,div table.data-table thead th,table.data-table thead th{background:linear-gradient(180deg,var(--color-header-bg-start),var(--color-header-bg-end))!important;color:var(--color-header-text)!important;text-align:center!important;position:sticky!important;top:0!important;z-index:99999!important;border-right:1px solid var(--color-border-strong)!important;border-bottom:2px solid var(--color-border-strong)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:none!important;pointer-events:auto!important}table.data-table thead th:not(#no-header-cell){pointer-events:none}.data-table thead tr:first-child th{border-top:1px solid var(--color-border-strong)}.data-table thead{position:sticky;top:0;z-index:99999}[data-theme=light] .data-table thead th{background:#eef2f7!important}.data-table tbody tr:nth-child(2n){background-color:var(--color-bg-row-alt)}.detail-cell{min-width:100px;max-width:120px}.data-table td:nth-child(2),.data-table td:nth-child(3),.data-table th:nth-child(2),.data-table th:nth-child(3){min-width:150px;width:1%;text-align:center}.data-table thead tr:nth-child(2) th{width:1%;min-width:100px}.data-table td[data-column=bank] .flex.items-center{justify-content:center}.data-table td[data-column=bank] .flex.items-center svg{margin-left:auto}.cell-icons{position:absolute;top:-8px;right:-8px;display:flex;gap:4px;z-index:100;opacity:0;transform:scale(.8);transition:all .2s cubic-bezier(.4,0,.2,1);pointer-events:auto}.add-row-trigger{display:table-row}.add-row-trigger .add-row-cell{padding:10px 0;border-top:1px dashed var(--color-border);cursor:pointer}.add-row-hint{display:none;align-items:center;justify-content:center;gap:10px;color:var(--color-text-muted);font-weight:600;letter-spacing:.2px}.add-row-trigger:hover .add-row-hint{display:flex}.add-icon-circle{width:24px;height:24px;border-radius:9999px;background:#000;display:flex;align-items:center;justify-content:center}.add-icon{color:#fff;font-size:16px;font-weight:700;line-height:1}.cell-icons.show{opacity:1;transform:scale(1);pointer-events:auto}.cell-icon{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(4px);border:1px solid hsla(0,0%,100%,.2)}.cell-icon.edit{background-color:rgba(66,153,225,.9);color:#fff}.cell-icon.edit:hover{background-color:rgba(49,130,206,.95);transform:scale(1.1)}.cell-icon.delete{background-color:hsla(0,88%,68%,.9);color:#fff}.cell-icon.delete:hover{background-color:rgba(229,62,62,.95);transform:scale(1.1)}.cell-icon svg{width:12px;height:12px;stroke-width:2}.data-table td[contenteditable=true]{position:relative}.data-table td[contenteditable=true]:empty,.data-table td[contenteditable=true]:not(:empty):not(:focus){cursor:text}.data-table td[contenteditable=true]:not(:empty){-webkit-user-select:text;-moz-user-select:text;user-select:text}.data-table td[contenteditable=true]:empty{-webkit-user-select:none;-moz-user-select:none;user-select:none}.hf-preview .data-table{border-collapse:separate;border-spacing:0;width:100%;border:1px solid var(--color-border-strong);border-top:none}.hf-preview .data-table th{padding:8px 12px}.hf-preview .data-table td,.hf-preview .data-table th{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);white-space:nowrap}.hf-preview .data-table td{padding:1px 12px;color:var(--color-text-body);text-align:center}.hf-preview .data-table th{background:var(--color-bg-row-alt);color:var(--color-text-body);text-align:center;position:sticky;top:0;z-index:99999;font-weight:600;border-bottom:2px solid var(--color-border-strong)}.hf-preview .data-table td:last-child{border-right:none}.hf-preview .data-table thead tr:first-child th{border-top:1px solid var(--color-border-strong)}.hf-preview .data-table thead{position:sticky;top:0;z-index:99999}.hf-preview .data-table tbody tr:nth-child(2n){background-color:var(--color-bg-row-alt)}.hf-preview .data-table tbody tr:hover{background-color:var(--color-bg-row-hover)}.btn-secondary{background-color:var(--color-bg-card);color:var(--color-text-body);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:hsla(0,0%,100%,.06)}.history-restore{padding:6px 10px;border:1px solid var(--color-border);border-radius:8px;background:transparent;color:var(--color-text-body)}.theme-toggle{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;height:36px;min-width:36px}.theme-toggle:hover{transform:scale(1.02);box-shadow:var(--shadow-md);border-color:var(--color-accent)}.theme-toggle-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--color-text-body);transition:all .3s ease}.theme-toggle-icon svg{width:100%;height:100%;transition:all .3s ease}.btn-delete-rows{color:#fff!important;background:#dc2626!important;border-color:#dc2626!important;border:1px solid #dc2626;cursor:pointer;padding:6px 10px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:32px;min-height:32px;box-shadow:0 2px 4px rgba(220,38,38,.15)}.btn-delete-rows svg{width:16px;height:16px;stroke-width:2}.btn-delete-rows:hover{background:#b91c1c!important;border-color:#b91c1c!important;transform:translateY(-1px);box-shadow:0 4px 8px rgba(220,38,38,.3)}.btn-delete-rows:active{transform:scale(.95)}.btn-delete-rows:disabled{opacity:.5;cursor:not-allowed;transform:none}.header-controls .btn-ghost-danger,.header-controls .btn-secondary,.header-controls .theme-toggle,.header-section .btn-secondary,.header-section .entries-selector select{height:38px!important;min-height:38px!important;padding:8px 12px!important;border-radius:6px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--color-border)!important;box-sizing:border-box!important}.header-controls .btn-ghost-danger svg,.header-controls .btn-secondary svg,.header-controls .theme-toggle-icon{width:16px!important;height:16px!important;color:var(--color-text-body)!important}.theme-toggle:hover .theme-toggle-icon{color:var(--color-accent);transform:rotate(90deg)}.icon-btn{background-color:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-body);padding:6px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease,opacity .2s ease}.icon-btn:hover:not(:disabled){background-color:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.2)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:#fff;border:none;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger{background-color:var(--color-danger);border:none;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn-danger:hover{background-color:#e53e3e;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-cta{background:linear-gradient(135deg,var(--color-accent),#2b6cb0);color:#fff;border:none;border-radius:12px;padding:10px 14px;font-weight:600;box-shadow:0 6px 18px rgba(66,153,225,.22);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.btn-cta:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 10px 24px rgba(66,153,225,.28)}.btn-cta:active{transform:translateY(-1px)}.btn-cta:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(66,153,225,.25)}.btn-ghost-danger{background:transparent;color:var(--color-danger);border:1px solid hsla(0,88%,68%,.35);border-radius:6px;padding:8px 12px;font-weight:600;transition:all .18s ease;height:36px;display:flex;align-items:center;justify-content:center}.btn-ghost-danger:hover{background:hsla(0,88%,68%,.12);border-color:hsla(0,88%,68%,.6)}.btn-ghost-danger:active{filter:brightness(1.05)}.btn-ghost-danger:focus-visible{outline:0;box-shadow:0 0 0 3px hsla(0,88%,68%,.25)}.detail-close-btn{position:absolute;top:12px;right:12px;background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-body);cursor:pointer;padding:6px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;z-index:30}.detail-close-btn:hover{background:var(--color-bg-row-alt);border-color:var(--color-border);transform:scale(1.03)}.modern-btn{display:inline-flex;align-items:center;gap:8px;min-width:100px;padding:12px 20px;border-radius:10px;font-weight:600;font-size:14px;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent;position:relative;overflow:hidden}.modern-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);transition:left .5s ease}.modern-btn:hover:before{left:100%}.modern-btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(0,0,0,.2)}.modern-btn:active{transform:translateY(0)}.detail-add-btn{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:500;border:1px dashed var(--color-border);background:transparent;cursor:pointer;transition:all .2s ease}.detail-add-btn:hover{color:var(--color-accent)!important;border-color:var(--color-accent);background-color:rgba(66,153,225,.05)}.detail-view-btn{padding:8px;border-radius:8px;transition:all .2s ease;cursor:pointer;border:1px solid #0969da;background:#0969da;color:#fff;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(9,105,218,.15);margin:0 auto}.detail-view-btn:hover{background:#0757c4;border-color:#0757c4;transform:translateY(-1px);box-shadow:0 4px 8px rgba(9,105,218,.3)}.btn{transition:all .2s ease;border:none;box-shadow:var(--shadow-sm)}.btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.ktp-view-full{background:var(--color-accent);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:5px;min-width:100px;justify-content:center}.ktp-view-full:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.excel-export-btn{transition:all .3s ease}.excel-export-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn-primary:disabled,.delete-btn:disabled{opacity:.6;cursor:not-allowed}.delete-btn{background-color:transparent;border:1px solid transparent;color:var(--color-danger);padding:6px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px}.delete-btn:hover{background-color:hsla(0,88%,68%,.1);border-color:var(--color-danger);transform:scale(1.05)}.delete-btn svg{width:16px;height:16px}.info-close-btn{background:none;border:none;color:var(--color-header-text);font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.info-close-btn:hover{background-color:hsla(0,0%,100%,.1)}#clear-filters{transition:all .3s ease;background-color:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;padding:8px 12px!important;border-radius:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:40px!important;height:40px!important}@media (max-width:768px){.detail-view-btn{min-width:32px;min-height:32px;padding:6px}}#clear-filters:hover{background-color:hsla(0,88%,68%,.1)!important;border-color:hsla(0,88%,68%,.3)!important;color:#f56565!important;transform:scale(1.05)}#clear-filters:focus{outline:none!important;box-shadow:0 0 0 3px hsla(0,88%,68%,.1)!important}.expiry-btn{padding:8px 16px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#000;border:none;border-radius:12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(59,130,246,.3);letter-spacing:.5px}[data-theme=dark] .expiry-btn{color:#fff}.expiry-btn:hover{box-shadow:0 4px 16px rgba(59,130,246,.4);background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary))}.expiry-item.warning .expiry-btn:hover{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 16px rgba(245,158,11,.4)}.expiry-item.danger .expiry-btn:hover{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 16px rgba(239,68,68,.4)}.expiry-btn:active{box-shadow:0 2px 8px rgba(59,130,246,.3)}.expiry-modal-close{background:none;border:none;color:var(--color-text-body);font-size:24px;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.expiry-modal-close:hover{background:var(--color-bg-row-alt);color:var(--color-text-heading)}#reset-filter-btn{background-color:var(--color-warning);color:#fff;border:1px solid var(--color-warning)}#reset-filter-btn:hover{background-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}#column-filter-btn{display:flex;align-items:center;justify-content:space-between;min-width:100px;padding:8px;gap:4px}.modern-btn.btn-loading{position:relative;color:transparent!important;cursor:wait}.modern-btn .loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid hsla(0,0%,100%,.5);border-top-color:#fff;border-radius:50%;opacity:0;transition:opacity .2s ease-in-out;animation:i .8s linear infinite}.modern-btn.btn-loading .loading-spinner{opacity:1}.modern-btn.btn-loading svg{opacity:0}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:center;min-width:80px;border:1px solid;transition:all .2s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.status-badge.aktif{background:rgba(16,185,129,.15);color:#10b981;border-color:rgba(16,185,129,.3);box-shadow:0 2px 8px rgba(16,185,129,.1)}.status-badge.aktif:hover{background:rgba(16,185,129,.25);border-color:rgba(16,185,129,.5);box-shadow:0 4px 12px rgba(16,185,129,.2);transform:translateY(-1px)}.status-badge.bermasalah{background:rgba(245,158,11,.15);color:#f59e0b;border-color:rgba(245,158,11,.3);box-shadow:0 2px 8px rgba(245,158,11,.1)}.status-badge.bermasalah:hover{background:rgba(245,158,11,.25);border-color:rgba(245,158,11,.5);box-shadow:0 4px 12px rgba(245,158,11,.2);transform:translateY(-1px)}.status-badge.tidak-aktif{background:rgba(239,68,68,.15);color:#ef4444;border-color:rgba(239,68,68,.3);box-shadow:0 2px 8px rgba(239,68,68,.1)}.status-badge.tidak-aktif:hover{background:rgba(239,68,68,.25);border-color:rgba(239,68,68,.5);box-shadow:0 4px 12px rgba(239,68,68,.2);transform:translateY(-1px)}.status-badge.seraf{background:rgba(59,130,246,.15);color:#3b82f6;border-color:rgba(59,130,246,.3);box-shadow:0 2px 8px rgba(59,130,246,.1)}.status-badge.seraf:hover{background:rgba(59,130,246,.25);border-color:rgba(59,130,246,.5);box-shadow:0 4px 12px rgba(59,130,246,.2);transform:translateY(-1px)}.status-badge.registrasi{background:rgba(139,92,246,.15);color:#8b5cf6;border-color:rgba(139,92,246,.3);box-shadow:0 2px 8px rgba(139,92,246,.1)}.status-badge.registrasi:hover{background:rgba(139,92,246,.25);border-color:rgba(139,92,246,.5);box-shadow:0 4px 12px rgba(139,92,246,.2);transform:translateY(-1px)}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.aktif{background-color:#10b981}.status-dot.bermasalah{background-color:#f59e0b}.status-dot.tidak-aktif{background-color:#ef4444}.status-dot.seraf{background-color:#3b82f6}.status-dot.registrasi{background-color:#8b5cf6}#filter-results{background:rgba(66,153,225,.1)!important;border:1px solid rgba(66,153,225,.2)!important;border-radius:8px!important;padding:8px 12px!important;transition:all .3s ease!important;color:var(--text-primary)!important;font-size:14px!important;display:flex!important;align-items:center!important;gap:4px!important}#filter-results #filter-count{color:var(--accent-color)!important;font-weight:600!important}#filter-results #total-count{color:var(--text-secondary)!important;font-weight:500!important}.expiry-days-left{font-size:11px;font-weight:600;padding:4px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px}.expiry-days-left.warning{background:rgba(245,158,11,.15);color:#f59e0b}.expiry-days-left.danger{background:rgba(239,68,68,.15);color:#ef4444}.hf-preview .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;text-align:center;min-width:60px}.hf-preview .status-badge.aktif{background:rgba(16,185,129,.15);color:#10b981;border-color:rgba(16,185,129,.3);box-shadow:0 2px 8px rgba(16,185,129,.1)}.hf-preview .status-badge.bermasalah{background:rgba(245,158,11,.15);color:#f59e0b;border-color:rgba(245,158,11,.3);box-shadow:0 2px 8px rgba(245,158,11,.1)}.hf-preview .status-badge.tidak-aktif{background:rgba(239,68,68,.15);color:#ef4444;border-color:rgba(239,68,68,.3);box-shadow:0 2px 8px rgba(239,68,68,.1)}.hf-preview .status-badge.seraf{background:rgba(59,130,246,.15);color:#3b82f6;border-color:rgba(59,130,246,.3);box-shadow:0 2px 8px rgba(59,130,246,.1)}.content-card{background-color:var(--color-bg-card);color:var(--color-text-body);box-shadow:var(--shadow-md);border:none;border-radius:0;width:100%;margin:0;padding:1rem}.card{background:rgba(42,47,55,.7);backdrop-filter:blur(12px)}.shadow-soft{box-shadow:0 10px 40px rgba(0,0,0,.45)}.glow-border{position:relative;border-radius:1.25rem}.glow-border:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:conic-gradient(from 180deg,rgba(59,130,246,.65),rgba(34,211,238,.5),rgba(139,92,246,.5),rgba(59,130,246,.65));filter:blur(8px);opacity:.55;z-index:-1;animation:i 12s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1.5px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:999999!important;display:none;width:250px;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.5rem;box-shadow:var(--shadow-lg);max-height:400px;overflow-y:auto;margin-top:4px!important}.dropdown-menu button{color:var(--color-text-body);transition:all .2s ease;border:none;background:transparent}.dropdown-menu button:hover{background-color:var(--color-bg-row-alt);color:var(--color-text-body)}.dropdown-menu #export-dropdown button:hover{background-color:#3182ce!important;color:#fff!important}.dropdown-menu button span{color:var(--color-text-body);font-weight:500}.status-dropdown{position:relative}.status-dropdown-menu{position:absolute;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:.5rem;box-shadow:var(--shadow-lg);z-index:100009}.status-option{color:var(--color-text-body);transition:all .2s ease;border:none;background:transparent;padding:8px 12px;display:flex;align-items:center;gap:8px}.status-option:hover{background-color:var(--color-bg-row-alt);color:var(--color-text-body)}.status-option span{color:var(--color-text-body);font-weight:500}.status-option .status-badge{min-width:70px;padding:4px 12px;font-size:11px;border-radius:16px}#export-dropdown{border:1px solid var(--color-border)!important;border-radius:8px!important;box-shadow:var(--shadow-md)!important}#export-dropdown,#export-dropdown.absolute.right-0.mt-2.w-32.rounded-lg.shadow-lg.border.border-gray-200.dark\\:border-gray-700.z-50{background-color:var(--color-bg-card)!important;z-index:999999!important;margin-top:4px!important}.header-controls .relative #export-dropdown{position:absolute!important;top:100%!important;right:0!important;z-index:999999!important;margin-top:4px!important}.header-controls .relative{position:relative!important}#import-dropdown,.header-controls .relative #import-dropdown{z-index:999999!important;margin-top:4px!important}.header-controls .relative #import-dropdown{position:absolute!important;top:100%!important;right:0!important}#export-csv,#export-excel,#export-txt{background-color:var(--color-bg-card)!important;color:var(--color-text-body)!important;transition:all .2s ease!important;cursor:pointer!important;border:none!important;outline:none!important;padding:8px 12px!important;font-size:14px!important;font-weight:500!important;width:100%!important;text-align:left!important}#export-dropdown #export-csv:active,#export-dropdown #export-csv:hover,#export-dropdown #export-excel:active,#export-dropdown #export-excel:hover,#export-dropdown #export-txt:active,#export-dropdown #export-txt:hover,#export-dropdown button#export-csv:active,#export-dropdown button#export-csv:hover,#export-dropdown button#export-excel:active,#export-dropdown button#export-excel:hover,#export-dropdown button#export-txt:active,#export-dropdown button#export-txt:hover{background-color:var(--color-accent)!important;color:#fff!important}#import-dropdown{background-color:var(--color-bg-card)!important;border:1px solid var(--color-border)!important;border-radius:8px!important;box-shadow:var(--shadow-md)!important}#import-dropdown a,#import-dropdown a#download-template-csv,#import-dropdown a#download-template-xlsx,#import-dropdown button,#import-dropdown button#import-data{background-color:var(--color-bg-card)!important;color:var(--color-text-body)!important;transition:all .2s ease!important;cursor:pointer!important;border:none!important;outline:none!important;padding:8px 12px!important;font-size:14px!important;font-weight:500!important;width:100%!important;text-align:left!important;display:block!important;text-decoration:none!important}#import-dropdown a:active,#import-dropdown a:hover,#import-dropdown button:active,#import-dropdown button:hover{background-color:var(--color-accent)!important;color:#fff!important}#import-dropdown #import-data,#import-dropdown #import-template-csv,#import-dropdown #import-template-xlsx{background-color:var(--color-bg-card)!important;color:var(--color-text-body)!important;transition:all .2s ease!important;cursor:pointer!important;border:none!important;outline:none!important;padding:8px 12px!important;font-size:14px!important;font-weight:500!important;width:100%!important;text-align:left!important}#import-dropdown #import-data:active,#import-dropdown #import-data:hover,#import-dropdown #import-template-csv:active,#import-dropdown #import-template-csv:hover,#import-dropdown #import-template-xlsx:active,#import-dropdown #import-template-xlsx:hover{background-color:var(--color-accent)!important;color:#fff!important}#column-filter-dropdown{max-height:400px;overflow-y:auto;z-index:100010}#column-filter-dropdown,.input-field{background-color:var(--color-bg-card);border:1px solid var(--color-border)}.input-field{color:var(--color-text-body);transition:all .2s ease}.input-field:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(66,153,225,.1)}.detail-modal-body textarea{width:100%;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:16px;color:var(--color-text-body);font-size:15px;line-height:1.6;resize:none;min-height:120px;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit;overflow-y:auto}.detail-modal-body textarea:focus{outline:none;border-color:var(--color-accent);background-color:var(--color-bg-row-alt);box-shadow:0 0 0 3px rgba(66,153,225,.1),0 4px 8px rgba(0,0,0,.1);transform:translateY(-1px)}.detail-modal-body textarea:disabled{background-color:var(--color-bg-card);cursor:not-allowed;opacity:.6}.form-input{background-color:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text-body);transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(66,153,225,.1)}.field-checkbox,.filter-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;border:2px solid var(--color-border);border-radius:4px;background-color:var(--color-bg-card);cursor:pointer;position:relative;transition:all .2s ease;flex-shrink:0}.field-checkbox:hover,.filter-checkbox:hover{border-color:var(--color-accent);background-color:rgba(66,153,225,.05)}.field-checkbox:checked,.filter-checkbox:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.field-checkbox:checked:after,.filter-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700;line-height:1}.field-checkbox:focus,.filter-checkbox:focus{outline:none;box-shadow:0 0 0 3px rgba(66,153,225,.1)}.field-checkbox+span,.filter-checkbox+span{color:var(--color-text-body);font-size:14px;font-weight:500;cursor:pointer;transition:color .2s ease}.field-checkbox:hover+span,.filter-checkbox:hover+span{color:var(--color-accent)}.field-checkbox:checked+span,.filter-checkbox:checked+span{color:var(--color-text-body)}.column-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;border:2px solid var(--color-border);border-radius:4px;background-color:var(--color-bg-card);cursor:pointer;position:relative;transition:all .2s ease;flex-shrink:0}.column-checkbox:hover{border-color:var(--color-primary);background-color:var(--color-bg-main)}.column-checkbox:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.column-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.column-checkbox:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dropdown-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:16px;height:16px;border:2px solid #3b82f6;border-radius:3px;background-color:var(--color-bg-card);cursor:pointer;position:relative;transition:all .2s ease;flex-shrink:0}.dropdown-checkbox:hover{border-color:#2563eb;background-color:#eff6ff}.dropdown-checkbox:checked{background-color:#3b82f6;border-color:#3b82f6}.dropdown-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:10px;font-weight:700}.dropdown-checkbox:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.detail-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100001;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.detail-modal:not(.hidden){opacity:1;visibility:visible}.detail-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%)}.detail-modal-content{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;overflow:hidden;z-index:10;transform:scale(.95) translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1)}.detail-modal:not(.hidden) .detail-modal-content{transform:scale(1) translateY(0)}.detail-modal-content{position:relative}.detail-modal-body{padding:32px 28px 20px}.textarea-container{position:relative}.detail-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px 28px;border-top:1px solid var(--color-border);background:var(--color-bg-card)}.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.8);z-index:100006;display:flex;align-items:center;justify-content:center;padding:20px;cursor:pointer}.image-modal img{max-width:90%;max-height:90%;-o-object-fit:contain;object-fit:contain;border-radius:5px}.confirm-modal{position:fixed;inset:0;z-index:100007;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:all .25s ease}.confirm-modal.show{opacity:1;visibility:visible}.confirm-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(8px)}.confirm-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-lg);width:100%;max-width:420px;overflow:hidden;position:relative;z-index:10;transform:scale(.96) translateY(6px);transition:all .25s ease}.confirm-modal.show .confirm-content{transform:scale(1) translateY(0)}.confirm-header{padding:18px 20px;border-bottom:1px solid var(--color-border)}.confirm-header h3{margin:0;font-weight:700;color:var(--color-text-body)}.confirm-body{padding:14px 20px;color:var(--color-text-body)}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 18px;border-top:1px solid var(--color-border);background:var(--color-bg-card)}.confirm-actions button{border-radius:12px;padding:10px 16px;font-weight:600;letter-spacing:.2px;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.confirm-actions #confirm-cancel{background:transparent;border:1px solid var(--color-border);color:var(--color-text-body);backdrop-filter:blur(6px)}.confirm-actions #confirm-cancel:hover{background:var(--color-bg-row-alt);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.confirm-actions #confirm-cancel:active{transform:translateY(0)}.confirm-actions #confirm-cancel:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(59,130,246,.25)}.confirm-actions #confirm-ok{background:linear-gradient(135deg,var(--color-danger),#dc2626);color:#fff;border:none}.confirm-actions #confirm-ok:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 8px 18px rgba(239,68,68,.35)}.confirm-actions #confirm-ok:active{transform:translateY(0)}.confirm-actions #confirm-ok:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(239,68,68,.25)}.info-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.8);z-index:100002;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}.info-modal-content{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-lg);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;position:relative}.info-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-header-bg-start),var(--color-header-bg-end));border-radius:16px 16px 0 0}.info-modal-header h3{color:var(--color-header-text);font-size:18px;font-weight:600;margin:0}.info-modal-body{padding:24px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.info-section{background-color:var(--color-bg-main);border:1px solid var(--color-border);border-radius:12px;padding:16px}.info-section h4{color:var(--color-accent);font-size:14px;font-weight:600;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid hsla(0,0%,100%,.05)}.info-row:last-child{border-bottom:none}.info-row .label{color:var(--color-text-secondary);font-weight:500;font-size:13px;flex:0 0 120px}.info-row .value{color:var(--color-text-body);font-weight:400;font-size:13px;text-align:right;flex:1;word-break:break-word}.info-row .value.empty{color:var(--color-text-muted);font-style:italic}.info-modal .status-badge{min-width:70px;padding:4px 12px;font-size:11px;border-radius:16px}.info-detail-content{padding:12px 0}.detail-text-content{background-color:var(--color-bg-main);border:1px solid var(--color-border);border-radius:8px;padding:12px;min-height:60px;color:var(--color-text-body);font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.detail-text-content:empty:before{content:"Belum ada detail";color:var(--color-text-muted);font-style:italic}.detail-text-content:empty{display:flex;align-items:center;justify-content:center;min-height:60px}.txt-export-modal .info-modal-content{max-width:700px;max-height:90vh;overflow-y:auto}.txt-export-modal .info-modal-body{padding:24px}.expiry-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100003;opacity:0;visibility:hidden;transition:all .3s ease}.expiry-modal.show{opacity:1;visibility:visible}.expiry-modal-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:20px;padding:32px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);transform:scale(.9);transition:all .3s ease}.expiry-modal.show .expiry-modal-content{transform:scale(1)}.expiry-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.expiry-modal-title{font-size:20px;font-weight:700;color:var(--color-text-heading);display:flex;align-items:center;gap:12px}.expiry-modal-title span:first-child{display:flex;align-items:center;justify-content:center;width:28px;height:28px;animation:k 3s cubic-bezier(.4,0,.6,1) infinite}.expiry-modal-title span:first-child svg{width:100%;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1)}#expiring-modal .expiry-modal-title span:first-child{animation:l 3s cubic-bezier(.4,0,.6,1) infinite;color:#f59e0b}#expired-modal .expiry-modal-title span:first-child{animation:m 3s cubic-bezier(.4,0,.6,1) infinite;color:#ef4444}#expiring-modal .expiry-modal-title span:first-child svg{color:#f59e0b}#expired-modal .expiry-modal-title span:first-child svg{color:#ef4444}.expiry-list{display:flex;flex-direction:column;gap:12px}.expiry-list-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-bg-row);border:1px solid var(--color-border);border-radius:12px;transition:all .2s ease}.expiry-modal .bank-logo{width:16px;height:16px;-o-object-fit:contain;object-fit:contain}.expiry-line{font-size:14px;font-weight:700;color:var(--color-text-body)}[data-theme=light] .expiry-modal .expiry-date{color:#000!important}.expiry-list-item:hover{background:var(--color-bg-row-alt);border-color:var(--color-primary)}.expiry-list-item.warning{border-left:4px solid #f59e0b}.expiry-list-item.danger{border-left:4px solid #ef4444}.column-filter-modal .info-modal-content{max-width:700px;max-height:80vh;overflow-y:auto}.row-action-modal .action-divider{height:1px;background-color:var(--color-border);margin:8px 0}.row-action-modal .action-group{position:relative}.row-action-modal .add-row-submenu{display:none;flex-direction:column;gap:5px;margin-top:8px;padding-left:20px}.row-action-modal .add-row-submenu.show{display:flex}.row-action-modal .submenu-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;background-color:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:13px;font-weight:500;text-align:left;width:100%;transition:background-color .2s ease,color .2s ease}.row-action-modal .submenu-btn:hover{background-color:rgba(59,130,246,.1);color:#3b82f6}.row-action-modal .submenu-btn svg{width:16px;height:16px;flex-shrink:0}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:-34px;left:50%;transform:translateX(-50%) translateY(0);background:var(--color-bg-card);color:var(--color-text-body);padding:6px 10px;border-radius:6px;font-size:12px;font-weight:var(--font-weight-medium);white-space:nowrap;opacity:0;visibility:hidden;transition:all .15s ease;border:1px solid var(--color-border);box-shadow:var(--shadow-md);z-index:10001;pointer-events:none}[data-tooltip]:focus-visible:after,[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-4px)}.theme-toggle{position:relative}.ktp-cell-container{display:flex;gap:6px;padding:4px;min-height:36px}.ktp-btn,.ktp-cell-container{align-items:center;justify-content:center}.ktp-btn{display:inline-flex;padding:6px 10px;border-radius:8px;transition:all .2s ease;cursor:pointer;border:1px solid transparent;background:transparent;position:relative;font-size:13px;font-weight:500;white-space:nowrap;outline:none}.ktp-btn-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ktp-btn-upload{background:#8b5cf6!important;color:#fff!important;border:1px solid #8b5cf6!important;box-shadow:0 2px 4px rgba(139,92,246,.15);min-width:36px;min-height:36px;padding:8px;border-radius:8px}.ktp-btn-upload:hover{background:#7c3aed!important;border-color:#7c3aed!important;transform:translateY(-1px);box-shadow:0 4px 8px rgba(139,92,246,.3)}.ktp-btn-upload:active{transform:translateY(0);box-shadow:0 1px 2px rgba(139,92,246,.15)}.ktp-btn-icon-only{padding:8px;border-radius:8px;min-width:36px;min-height:36px;background:var(--color-bg-row-alt,#f8f9fa);border:1px solid var(--color-border,#e1e4e8);box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s ease}.ktp-btn-view{color:#fff!important;background:#0969da!important;border-color:#0969da!important}.ktp-btn-view:hover{background:#0757c4!important;border-color:#0757c4!important;transform:translateY(-1px);box-shadow:0 4px 8px rgba(9,105,218,.3)}.ktp-btn-replace{color:#fff!important;background:#fb8500!important;border-color:#fb8500!important}.ktp-btn-replace:hover{background:#e67e00!important;border-color:#e67e00!important;transform:translateY(-1px);box-shadow:0 4px 8px rgba(251,133,0,.3)}.ktp-btn-delete{color:#fff!important;background:#dc2626!important;border-color:#dc2626!important}.ktp-btn-delete:hover{background:#b91c1c!important;border-color:#b91c1c!important;transform:translateY(-1px);box-shadow:0 4px 8px rgba(220,38,38,.3)}.ktp-file-input{display:none!important}.ktp-btn[title]{cursor:pointer}.ktp-btn.loading{pointer-events:none;opacity:.6}.ktp-btn.loading .ktp-btn-icon{animation:i 1s linear infinite}@media (prefers-color-scheme:dark){.ktp-btn-icon-only{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.1)}.ktp-btn-delete:hover,.ktp-btn-replace:hover,.ktp-btn-view:hover{background:hsla(0,0%,100%,.1)}}@media (max-width:768px){.ktp-cell-container{gap:4px}.ktp-btn{padding:4px 8px;font-size:12px}.ktp-btn-icon-only,.ktp-btn-upload{min-width:32px;min-height:32px;padding:6px}.ktp-btn-icon{width:16px;height:16px}}.no-column .row-number.clickable{cursor:pointer;transition:all .2s ease;padding:2px 4px;border-radius:4px;display:inline-block}.no-column .row-number.clickable:hover{background:rgba(59,130,246,.1);color:var(--color-accent);transform:scale(1.05)}.no-column .row-number.clickable,.no-column .row-number.clickable:hover{cursor:pointer!important}.row-action-modal{position:fixed;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:10000;min-width:220px;max-width:280px;opacity:0;transform:translateY(-50%) translateX(-10px);transition:all .2s ease;pointer-events:none}.row-action-modal.show{opacity:1;transform:translateY(-50%) translateX(0);pointer-events:auto}.modal-content{padding:16px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.modal-header h4{margin:0;font-size:14px;font-weight:600;color:var(--color-text-body)}.close-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:18px;line-height:1;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.action-options{display:flex;flex-direction:column;gap:8px}.action-btn{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-body);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;text-align:left;width:100%}.action-btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 2px 8px rgba(59,130,246,.3)}.action-btn svg{width:16px;height:16px;flex-shrink:0}.move-form{margin-top:12px;padding:12px;background:var(--color-bg-main);border-radius:6px;border:1px solid var(--color-border);opacity:0;max-height:0;overflow:hidden;transition:all .3s ease}.move-form.show{opacity:1;max-height:200px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:12px;font-weight:500;color:var(--color-text-body);margin:0}.input-group{display:flex;align-items:center;gap:8px}.position-input{width:60px;padding:6px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-body);font-size:13px;text-align:center;transition:all .2s ease}.position-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(59,130,246,.1)}.form-buttons{display:flex;gap:6px;margin-top:8px}.cancel-btn,.submit-btn{padding:6px 12px;border:1px solid;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;flex:1}.submit-btn{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.submit-btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px)}.cancel-btn{background:var(--color-bg-secondary);color:var(--color-text-body);border-color:var(--color-border)}.cancel-btn:hover{background:var(--color-bg-main);border-color:var(--color-text-secondary)}.row-drag-mode{background:rgba(59,130,246,.1)!important;border:1px dashed var(--color-accent)!important}.row-drag-mode .no-column{background:rgba(59,130,246,.2)}@media (max-width:768px){.row-action-modal{min-width:200px;max-width:250px}.modal-content{padding:12px}.action-btn{padding:8px 10px;font-size:12px}}@keyframes a{0%{opacity:0;transform:translateY(-50%) translateX(-20px) scale(.95)}to{opacity:1;transform:translateY(-50%) translateX(0) scale(1)}}.row-action-modal.show{animation:a .2s ease-out}.header-indicators{display:flex;align-items:center;gap:12px}.indicator-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:12px;font-weight:500;backdrop-filter:blur(10px);border:1px solid;position:relative;overflow:hidden}.indicator-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.indicator-item:hover:before{left:100%}.indicator-item.warning{background:rgba(251,191,36,.15);border-color:rgba(251,191,36,.4);color:#fbbf24;box-shadow:0 4px 12px rgba(251,191,36,.2)}.indicator-item.danger{background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.4);color:#ef4444;box-shadow:0 4px 12px rgba(239,68,68,.2)}.indicator-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)}.indicator-item.warning:hover{box-shadow:0 8px 25px rgba(251,191,36,.3)}.indicator-item.danger:hover{box-shadow:0 8px 25px rgba(239,68,68,.3)}.indicator-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.simcard-icon{width:18px;height:18px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .3s ease}.indicator-item:hover .simcard-icon{transform:scale(1.1) rotate(5deg)}.indicator-text{font-weight:600;letter-spacing:.5px;text-transform:uppercase;font-size:11px}.indicator-count{background:hsla(0,0%,100%,.3);color:#fff;padding:4px 8px;border-radius:20px;font-weight:700;font-size:10px;min-width:24px;text-align:center;backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 2px 8px rgba(0,0,0,.1)}.indicator-item.warning .indicator-count{background:rgba(251,191,36,.9);box-shadow:0 2px 8px rgba(251,191,36,.3)}.indicator-item.danger .indicator-count{background:rgba(239,68,68,.9);box-shadow:0 2px 8px rgba(239,68,68,.3)}.indicator-count.pulse{animation:j 2s infinite}[data-theme=dark] .indicator-item.warning{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.3);color:#fbbf24}[data-theme=dark] .indicator-item.danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}[data-theme=dark] .indicator-count{background:rgba(0,0,0,.4);border:1px solid hsla(0,0%,100%,.1)}@media (max-width:768px){.header-indicators{gap:8px}.indicator-item{padding:6px 10px;gap:6px}.simcard-icon{width:16px;height:16px}.indicator-text{font-size:10px}.indicator-count{padding:3px 6px;font-size:9px;min-width:20px}}.indicator-item.hide-when-zero{display:none!important}.history-panel{position:fixed;inset:0;z-index:100004}.history-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4)}.cell-highlight-blue{background-color:rgba(59,130,246,.15)!important;border:1px solid rgba(59,130,246,.3)!important;border-radius:4px!important;padding:4px 8px!important;font-weight:500!important;transition:all .2s ease!important}.cell-highlight-blue:hover{background-color:rgba(59,130,246,.25)!important;transform:translateY(-1px)!important;box-shadow:0 2px 4px rgba(59,130,246,.2)!important}.row-added{background-color:rgba(34,197,94,.1)!important;border-left:4px solid #22c55e!important}.row-modified{background-color:rgba(251,146,60,.1)!important;border-left:4px solid #fb923c!important}.row-deleted{background-color:rgba(239,68,68,.1)!important;border-left:4px solid #ef4444!important;opacity:.7!important}.change-indicator{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:12px;margin-right:8px;font-weight:700}.change-indicator.added{background-color:#22c55e;color:#fff}.change-indicator.modified{background-color:#fb923c;color:#fff}.change-indicator.deleted{background-color:#ef4444;color:#fff}.history-panel-content{position:absolute;top:0;right:0;height:100%;width:380px;max-width:90vw;background:var(--color-bg-card);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg);transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}.history-panel.show .history-panel-content{transform:translateX(0)}.history-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--color-border)}.history-title{font-weight:700}.history-list{padding:8px 10px 16px;overflow:auto;flex:1}.history-item{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--color-border);border-radius:10px;margin-bottom:8px}.history-action{font-weight:600}.history-time{color:var(--color-text-muted);font-size:12px}.hf-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:100005;display:flex;align-items:stretch;justify-content:center}.hf-container{width:100%;height:100%;display:flex;flex-direction:column}.hf-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-bg-card);border-bottom:1px solid var(--color-border)}.hf-main{flex:1;display:grid;grid-template-columns:1fr 360px;gap:0;overflow:hidden}.hf-preview{background:var(--color-bg-main)}.hf-preview,.hf-timeline{overflow:auto;color:var(--color-text-body)}.hf-timeline{background:var(--color-bg-card);border-left:1px solid var(--color-border);padding:10px 12px}.hf-preview .font-bold,.hf-preview .text-lg,.hf-preview div,.hf-timeline .entry,.hf-timeline .group-title{color:var(--color-text-body)}.hf-timeline .time{color:var(--color-text-muted)}.hf-timeline .group-title{font-weight:700;margin:10px 0 6px}.hf-timeline .entry{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--color-border);border-radius:10px;margin-bottom:8px;background:transparent}.hf-timeline .entry .time{font-size:12px;color:var(--color-text-muted)}.hf-timeline .entry.active{outline:2px solid var(--color-accent)}.draggable-row{transition:all .3s ease;position:relative}.no-column{width:50px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table td:not(.no-column){pointer-events:auto;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.row-number{display:inline-block;font-weight:600;color:var(--color-text-body);transition:all .2s ease}.drag-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700;cursor:pointer;opacity:0;transition:all .2s ease}.no-column.row-drag-mode{cursor:grab}.no-column.row-drag-mode:active{cursor:grabbing}.no-column.row-drag-mode .drag-handle{cursor:grab}.no-column.row-drag-mode:active .drag-handle{cursor:grabbing}.row-dragging{opacity:.6;transform:scale(1.02);background-color:rgba(59,130,246,.1);box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;position:relative}.row-drop-target{background-color:rgba(59,130,246,.08)!important;border:2px dashed var(--color-accent)!important;border-radius:4px;transition:all .2s ease}.row-drop-target td{border-color:transparent!important}.drag-placeholder{height:2px;background-color:var(--color-accent);margin:2px 0;border-radius:1px;animation:j 1s infinite}.swap-preview-popup{position:fixed;background:var(--color-bg-card);border:1px solid var(--color-accent);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:10001;padding:6px 10px;opacity:0;transform:scale(.8);transition:all .2s ease;pointer-events:none;font-size:14px;font-weight:500;color:var(--color-text-body);display:flex;align-items:center;gap:6px;min-width:80px;justify-content:center}.swap-preview-popup.show{opacity:1;transform:scale(1)}.swap-preview-popup .dragged-number,.swap-preview-popup .target-number{color:var(--color-accent);font-weight:600}.swap-preview-popup .swap-icon{color:var(--color-text-secondary);font-size:16px;font-weight:700}.expiry-indicators{display:flex;align-items:center;gap:24px}.expiry-item{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:box-shadow .3s ease,transform .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.1)}.expiry-item:hover{box-shadow:0 8px 24px rgba(0,0,0,.15)}.expiry-item.warning{border-color:rgba(245,158,11,.3);background:rgba(245,158,11,.05)}.expiry-item.danger{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.05)}.expiry-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.expiry-icon,.expiry-icon svg{transition:all .3s cubic-bezier(.4,0,.2,1)}.expiry-icon svg{width:100%;height:100%}.expiry-item.warning .expiry-icon{animation:l 3s cubic-bezier(.4,0,.6,1) infinite;color:#f59e0b}.expiry-item.danger .expiry-icon{animation:m 3s cubic-bezier(.4,0,.6,1) infinite;color:#ef4444}.expiry-item.danger,.expiry-item.warning{animation:none!important}.expiry-item.warning .expiry-icon svg{color:#f59e0b;transition:color .3s cubic-bezier(.4,0,.2,1)}.expiry-item.danger .expiry-icon svg{color:#ef4444;transition:color .3s cubic-bezier(.4,0,.2,1)}.expiry-text{font-size:14px;font-weight:600;color:var(--color-text-body);letter-spacing:.5px}.expiry-main-info{display:flex;flex-direction:column;gap:8px;flex:1}.expiry-hp-number{font-size:16px;font-weight:600;color:#fff;font-family:JetBrains Mono,monospace}.bank-name{font-size:14px;font-weight:600;color:#fff}.expiry-nama-rekening{font-size:14px;font-weight:500;color:#fff;opacity:.9}.expiry-date-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.expiry-date{font-size:12px;color:#fff;opacity:.9}.ktp-clean-container{width:100%;margin:0;padding:20px;background:var(--color-bg-card);border-radius:12px;border:1px solid var(--color-border)}.ktp-clean-preview{display:flex;flex-direction:column;gap:12px;width:100%}.ktp-empty{text-align:center;color:var(--color-text-muted);font-style:italic;padding:60px 20px;border-radius:8px;border:2px dashed var(--color-border);font-size:14px}.ktp-empty,.ktp-image-container{background:var(--color-bg-row-alt)}.ktp-image-container{border:2px solid var(--color-border);border-radius:8px;overflow:hidden;position:relative;width:100%}.ktp-preview-image{width:100%;height:160px;-o-object-fit:contain;object-fit:contain;cursor:pointer;transition:all .3s ease;background:var(--color-bg-main);display:block}.ktp-preview-image:hover{transform:scale(1.03);filter:brightness(1.1)}.ktp-error{width:100%;height:160px;flex-direction:column;align-items:center;background:var(--color-bg-row-alt);color:var(--color-text-muted);font-size:12px;text-align:center;line-height:1.4}.ktp-actions,.ktp-error{display:flex;justify-content:center}.ktp-actions{gap:8px;margin-top:8px}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-bg-main);z-index:100007}.loading-container,.loading-overlay{display:flex;align-items:center;justify-content:center}.loading-container{flex-direction:column}.loading-logo{width:100px;height:auto;animation:d .3s ease-in,e .5s ease-in-out .3s,f .3s ease-in-out .8s}.loading-overlay.fade-out{animation:g .3s ease-in-out forwards}#main-content.show{display:flex!important;animation:h .3s ease-in-out}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;animation:i 1s ease-in-out infinite}.btn-loading{position:relative;pointer-events:none;opacity:.7}.btn-loading .btn-text{opacity:0}.btn-loading .loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.skeleton-row{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border);animation:j 1.5s ease-in-out infinite}.skeleton-cell{height:16px;background:linear-gradient(90deg,#2d3238 25%,#3a4048 50%,#2d3238 75%);background-size:200% 100%;animation:p 1.5s infinite;border-radius:4px;margin-right:16px}.skeleton-cell:first-child{width:40px}.skeleton-cell:nth-child(2){width:60px}.skeleton-cell:nth-child(3){width:80px}.skeleton-cell:nth-child(4){width:120px}.skeleton-cell:nth-child(5),.skeleton-cell:nth-child(6){width:100px}.skeleton-cell:nth-child(7),.skeleton-cell:nth-child(8){width:80px}.skeleton-cell:nth-child(9),.skeleton-cell:nth-child(10),.skeleton-cell:nth-child(11),.skeleton-cell:nth-child(12),.skeleton-cell:nth-child(13),.skeleton-cell:nth-child(14),.skeleton-cell:nth-child(15),.skeleton-cell:nth-child(16),.skeleton-cell:nth-child(17),.skeleton-cell:nth-child(18),.skeleton-cell:nth-child(19),.skeleton-cell:nth-child(20){width:100px}.skeleton-cell:nth-child(21){width:60px}.progress-container{position:fixed;top:0;left:0;right:0;height:3px;background:hsla(0,0%,100%,.1);z-index:10000}.progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);width:0;transition:width .3s ease;border-radius:0 2px 2px 0}#search-input{min-width:200px;transition:all .3s ease;background-color:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;padding:8px 12px!important;border-radius:8px!important;font-size:14px!important}#search-input:focus{transform:scale(1.02);box-shadow:0 0 0 3px rgba(66,153,225,.1);outline:none!important}#search-input:focus,#search-input:hover{border-color:var(--accent-color)!important;background-color:var(--bg-hover)!important}#search-input::-moz-placeholder{color:var(--text-secondary)!important;opacity:.7!important}#search-input::placeholder{color:var(--text-secondary)!important;opacity:.7!important}#bank-filter,#brand-filter,#status-filter{min-width:120px}#bank-filter option,#brand-filter option,#status-filter option{background-color:var(--color-bg-card)!important;color:var(--color-text-body)!important;padding:8px 12px!important;border:none!important;font-size:14px!important;font-weight:500!important}#bank-filter option:hover,#brand-filter option:hover,#status-filter option:hover{background-color:var(--color-bg-row-alt)!important;color:var(--color-accent)!important}#bank-filter option:checked,#brand-filter option:checked,#status-filter option:checked{background-color:var(--color-accent)!important;color:#fff!important}.export-option svg{flex-shrink:0}#export-btn{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0aec0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-position:right 8px center!important;background-size:16px!important;padding-right:32px!important}#export-btn:focus-visible,.btn-cta:focus-visible,.btn-danger:focus-visible,.btn-ghost-danger:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.input-field:focus-visible{outline:0!important;box-shadow:0 0 0 3px rgba(66,153,225,.25)!important;border-color:hsla(0,0%,100%,.2)!important}.relative input[type=text]{padding-right:2.5rem!important}.relative .absolute.inset-y-0.right-0 .flex.items-center.pr-3 svg{color:var(--text-secondary)!important;transition:color .3s ease!important}.relative:hover .absolute.inset-y-0.right-0 .flex.items-center.pr-3 svg{color:var(--accent-color)!important}#export-format{min-width:140px}#export-format option{background-color:var(--color-bg-card)!important;color:var(--color-text-body)!important;padding:8px 12px!important;border:none!important;font-size:14px!important;font-weight:500!important}#export-format option:hover{background-color:var(--color-bg-row-alt)!important;color:var(--color-accent)!important}#export-format option:checked{background-color:var(--color-accent)!important;color:#fff!important}.select-all-text{font-size:16px;font-weight:600}.data-table td.datepicker-cell{padding:6px 12px!important;border-radius:0!important;font-size:12px!important;font-weight:500!important;background:transparent!important;color:var(--color-text-body)!important;cursor:pointer;transition:all .2s ease;pointer-events:auto!important;position:relative!important;z-index:1000!important;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}.data-table td.datepicker-cell:empty,.data-table td.datepicker-cell[data-placeholder=true]{color:#9ca3af!important}.data-table td.datepicker-cell:hover{color:#3b82f6!important;background-color:rgba(66,153,225,.05)!important}.data-table thead td.datepicker-cell,.data-table thead th.datepicker-cell{pointer-events:auto!important;cursor:pointer!important;position:relative!important;z-index:100001!important}.flatpickr-calendar{z-index:100010!important;position:absolute!important}.flatpickr-calendar.open{z-index:100011!important}.flatpickr-calendar.inline{position:relative;box-shadow:none;border:1px solid var(--border-color);margin-top:8px}[dir=rtl] .flatpickr-prev-month{left:auto;right:15px}[dir=rtl] .flatpickr-next-month{right:auto;left:15px}[dir=rtl] .flatpickr-month{direction:rtl}@media print{.flatpickr-calendar{display:none!important}.data-table td.datepicker-cell{background:#fff!important;color:#000!important;border:1px solid #ccc!important}}.no-column-header{cursor:pointer;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .2s ease}.no-column-header:hover{background-color:rgba(59,130,246,.1)}.no-column-header .select-text{display:none;color:var(--color-accent,#3b82f6);font-weight:600}body:not(.selection-active) .no-column-header:hover .no-text{display:none}body:not(.selection-active) .no-column-header:hover .select-text{display:inline!important;font-size:.875rem}.exit-selection-btn{display:none;width:24px;height:24px;line-height:22px;text-align:center;background-color:#ef4444;color:#fff;border-radius:50%;font-weight:700;font-size:16px;cursor:pointer;transition:all .2s ease;margin:0 auto}.exit-selection-btn:hover{background-color:#dc2626;transform:scale(1.1)}.selection-active .no-column-header .no-text,.selection-active .no-column-header .select-all-checkbox,.selection-active .no-column-header .select-text{display:none}.selection-active .no-column-header .exit-selection-btn{display:block!important}.no-column{text-align:center;position:relative;padding:8px 4px}.no-column .row-number{font-weight:600;color:var(--color-text-body,#1e293b);transition:all .2s ease;display:inline-block;padding:2px 6px;border-radius:4px}.no-column .row-number:hover{background-color:rgba(59,130,246,.1);color:var(--color-accent,#3b82f6)}.no-column .select-row-checkbox{margin:0;width:16px;height:16px;cursor:pointer}.selection-active .no-column .row-number{display:none!important}.selection-active .no-column .select-row-checkbox{display:inline-block!important}tr.row-selected{background-color:rgba(59,130,246,.15)!important;border-left:3px solid var(--color-accent,#3b82f6)}[data-theme=dark] tr.row-selected{background-color:rgba(59,130,246,.25)!important}.select-all-checkbox,.select-row-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--color-accent,#3b82f6);border-radius:4px;background-color:var(--color-bg-card,#fff);cursor:pointer;position:relative;transition:all .2s ease;box-shadow:0 0 0 1px rgba(59,130,246,.1)}.select-all-checkbox:hover,.select-row-checkbox:hover{border-color:#2563eb;background-color:rgba(59,130,246,.05);box-shadow:0 0 0 2px rgba(59,130,246,.2);transform:scale(1.05)}.select-all-checkbox:checked,.select-row-checkbox:checked{background-color:var(--color-accent,#3b82f6);border-color:var(--color-accent,#3b82f6);box-shadow:0 0 0 2px rgba(59,130,246,.3)}.select-all-checkbox:focus,.select-row-checkbox:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.4);border-color:#2563eb}.select-all-checkbox:checked:after,.select-row-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700;line-height:1}.bulk-action-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--color-bg-card,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:8px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all .3s ease;transform:translateY(-10px);opacity:0;pointer-events:none}.bulk-action-bar.show{transform:translateY(0);opacity:1;pointer-events:auto}.bulk-action-bar.hidden{display:none}.selected-count-wrapper{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--color-text-secondary,#6b7280);flex-wrap:wrap}.select-all-btn{font-size:.75rem;padding:6px 12px;gap:6px;min-width:auto;border-radius:4px;transition:all .2s ease}.select-all-btn:hover:not(:disabled){background-color:var(--color-accent,#3b82f6);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px rgba(59,130,246,.2)}.select-all-btn svg{width:14px;height:14px}#selected-count{font-weight:600;color:var(--color-accent,#3b82f6);font-size:1rem}.bulk-actions-wrapper{display:flex;align-items:center;gap:12px}.bulk-action-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:500;border-radius:6px;transition:all .2s ease;cursor:pointer;border:1px solid transparent}.bulk-action-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-action-btn svg{width:16px;height:16px}.btn-danger{background-color:var(--color-danger,#ef4444);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 8px rgba(239,68,68,.2)}.btn-secondary{background-color:var(--color-bg-card,#fff);color:var(--color-text-body,#1e293b);border-color:var(--color-border,#e5e7eb)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover,#f9fafb);border-color:var(--color-accent,#3b82f6);color:var(--color-accent,#3b82f6)}@media (max-width:768px){.bulk-action-bar{flex-direction:column;gap:12px;padding:12px}.selected-count-wrapper{order:2;flex-direction:column;gap:8px;align-items:center;text-align:center}.select-all-btn{order:1;width:100%;justify-content:center}.bulk-actions-wrapper{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:8px}.bulk-action-btn{flex:1;justify-content:center;min-width:120px}}@keyframes b{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.bulk-action-bar.show{animation:b .3s ease-out}.shake{animation:c .35s ease-in-out}@keyframes c{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}@keyframes d{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes e{0%{transform:rotate(0deg) scale(1)}25%{transform:rotate(-8deg) scale(1.05)}50%{transform:rotate(5deg) scale(.95)}75%{transform:rotate(-3deg) scale(1.02)}to{transform:rotate(0deg) scale(1)}}@keyframes f{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes g{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes h{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes i{to{transform:rotate(1turn)}}@keyframes j{0%,to{opacity:1}50%{opacity:.5}}@keyframes k{0%{opacity:1;transform:scale(1);filter:brightness(1)}25%{opacity:.7;transform:scale(.98);filter:brightness(1.1)}50%{opacity:.4;transform:scale(.96);filter:brightness(1.2)}75%{opacity:.7;transform:scale(.98);filter:brightness(1.1)}to{opacity:1;transform:scale(1);filter:brightness(1)}}@keyframes l{0%{opacity:1;transform:scale(1);filter:drop-shadow(0 2px 4px rgba(245,158,11,.2)) brightness(1)}25%{opacity:.8;transform:scale(.99);filter:drop-shadow(0 3px 6px rgba(245,158,11,.4)) brightness(1.1)}50%{opacity:.5;transform:scale(.97);filter:drop-shadow(0 4px 8px rgba(245,158,11,.6)) brightness(1.2)}75%{opacity:.8;transform:scale(.99);filter:drop-shadow(0 3px 6px rgba(245,158,11,.4)) brightness(1.1)}to{opacity:1;transform:scale(1);filter:drop-shadow(0 2px 4px rgba(245,158,11,.2)) brightness(1)}}@keyframes m{0%{opacity:1;transform:scale(1);filter:drop-shadow(0 2px 4px rgba(239,68,68,.2)) brightness(1)}25%{opacity:.8;transform:scale(.99);filter:drop-shadow(0 3px 6px rgba(239,68,68,.4)) brightness(1.1)}50%{opacity:.5;transform:scale(.97);filter:drop-shadow(0 4px 8px rgba(239,68,68,.6)) brightness(1.2)}75%{opacity:.8;transform:scale(.99);filter:drop-shadow(0 3px 6px rgba(239,68,68,.4)) brightness(1.1)}to{opacity:1;transform:scale(1);filter:drop-shadow(0 2px 4px rgba(239,68,68,.2)) brightness(1)}}.hidden{display:none!important}#filter-results.hidden{display:none!important;visibility:hidden!important;opacity:0!important}#reset-filter-btn.hidden{display:none!important}@media (min-width:1024px){.content-card{box-shadow:none;height:100vh;padding:1rem 1rem 0;margin:0;display:flex;flex-direction:column}.content-card,.table-container{border:none;border-radius:0;width:100%;flex:1}.table-container{height:auto;padding:0 1px;overflow:auto}}@media (min-width:640px){.main-container{padding:1.5rem}}@media (min-width:1024px){.main-container{padding:0;height:100vh}}@media (max-width:420px){.action-buttons .btn-cta span,.action-buttons .btn-ghost-danger span{display:none}.action-buttons .btn-cta,.action-buttons .btn-ghost-danger{padding:10px}}@media (max-width:640px){.detail-close-btn{top:-12px;right:-12px;width:36px;height:36px;padding:6px}.detail-modal{padding:16px;align-items:flex-end}.detail-modal-content{max-width:100%;margin:0;border-radius:20px 20px 0 0;max-height:85vh}.detail-close-btn{top:-18px;right:18px;width:40px;height:40px;padding:8px}.detail-modal-body{padding:28px 20px 16px}.detail-modal-footer{flex-direction:column;padding:16px 20px 20px;gap:8px}.modern-btn{width:100%;justify-content:center;min-width:auto}}@media (max-width:480px){.detail-modal{padding:8px}.detail-modal-content{border-radius:16px 16px 0 0}.detail-close-btn{top:-16px;right:16px;width:36px;height:36px;padding:6px}.detail-modal-body{padding:24px 16px 12px}.detail-modal-footer{padding:12px 16px 16px}.modern-btn{padding:14px 20px;font-size:15px}}@media (prefers-reduced-motion:reduce){.glow-border:before,.orb{animation:none!important}}@media (max-width:768px){.txt-export-grid-2{grid-template-columns:1fr}.txt-export-grid-3{grid-template-columns:repeat(2,1fr)}.txt-export-modal .info-modal-content{max-width:95vw;margin:20px}}@media (min-width:1200px){.header-controls{margin:0;padding:0 20px;justify-content:space-between;flex-wrap:nowrap}.data-table{max-width:none;margin:0}.filter-group{gap:16px}.action-buttons{gap:12px;margin-left:auto}.filter-group,.search-group{margin-right:auto}}@media (min-width:1024px) and (max-width:1199px){.header-controls{padding:0 16px;justify-content:space-between;flex-wrap:nowrap}.filter-group{gap:12px}.action-buttons{gap:10px;margin-left:auto}.filter-group,.search-group{margin-right:auto}}@media (min-width:768px) and (max-width:1023px){.header-controls{flex-direction:column;gap:16px;padding:0 12px;justify-content:flex-start}.filter-group{flex-wrap:wrap;gap:8px}.action-buttons{justify-content:space-between;width:100%;margin-left:0}.data-table{overflow-x:auto}.data-table td,.data-table th{padding:8px 6px;font-size:13px}}@media (min-width:600px) and (max-width:767px){.header-controls{flex-direction:column;gap:12px;padding:0 8px;justify-content:flex-start}.search-group{width:100%}.filter-group{width:100%;flex-direction:column;gap:8px}.filter-group select{width:100%}.action-buttons{flex-direction:row;justify-content:space-between;width:100%;margin-left:0}.data-table{overflow-x:auto;font-size:12px}}@media (min-width:480px) and (max-width:599px){.header-controls{flex-direction:column;gap:10px;padding:0 6px;justify-content:flex-start}.search-group{width:100%}.filter-group{gap:6px}.action-buttons,.filter-group{width:100%;flex-direction:column}.action-buttons{gap:8px;margin-left:0}.action-buttons button{width:100%}.data-table{overflow-x:auto;font-size:11px}.data-table td,.data-table th{padding:6px 4px}}@media (max-width:479px){.header-controls{flex-direction:column;gap:8px;padding:0 4px;justify-content:flex-start}.search-group{width:100%}.filter-group{gap:4px}.action-buttons,.filter-group{width:100%;flex-direction:column}.action-buttons{gap:6px;margin-left:0}.action-buttons button{width:100%;padding:12px;font-size:14px}.data-table{overflow-x:auto;font-size:10px}.data-table td,.data-table th{padding:4px 2px;min-width:80px}}@media (max-width:1023px){.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}}.header-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:space-between}.search-group{flex-shrink:0}.filter-group{flex-wrap:wrap}.action-buttons,.filter-group{display:flex;align-items:center;gap:8px}.action-buttons{flex-shrink:0;margin-left:auto}@media (max-width:767px){.action-buttons button,.filter-group select,.search-group input{min-height:44px}}@media (max-width:768px){.flex.items-center.space-x-2{flex-direction:column;align-items:stretch;gap:8px}.flex.items-center.space-x-1{flex-wrap:wrap;gap:4px}#bank-filter,#brand-filter,#search-input,#status-filter{min-width:auto;width:100%}#clear-filters{width:100%;justify-content:center}}.flex.items-center.space-x-1>*+*{margin-left:4px}.flex.items-center.space-x-2>*+*{margin-left:8px}@media (max-width:768px){.status-badge{min-width:60px;padding:4px 12px;font-size:10px;border-radius:16px}.info-modal .status-badge,.status-option .status-badge{min-width:50px;padding:3px 8px;font-size:10px}}@media (max-width:1200px){.indicators-container{flex-direction:column;align-items:stretch;gap:16px}.bank-summary,.expiry-indicators{justify-content:center}}@media (max-width:768px){.indicators-container{gap:12px}.expiry-indicators{flex-direction:column;gap:12px}.bank-summary{flex-wrap:wrap;gap:8px;padding:8px 12px;justify-content:center}.summary-item{gap:4px;padding:2px 4px}.summary-label{font-size:10px}.summary-count{font-size:12px;padding:1px 6px;min-width:20px}.summary-separator{font-size:12px;margin:0 2px}}@media (max-width:640px){.detail-modal-header.simple{height:40px;padding:0 10px}.detail-modal-header.simple .detail-close-btn{width:36px;height:36px;padding:6px}}@media (max-width:768px){.column-filter-modal .info-modal-content{max-width:95vw;margin:20px auto}.column-filter-modal .checkbox-grid{grid-template-columns:1fr;gap:6px}.column-filter-modal .checkbox-container{padding:6px 8px;font-size:13px}}@keyframes n{0%{transform:translateX(-100%)}50%{transform:translateX(50%)}to{transform:translateX(150%)}}@keyframes o{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:.5;transform:scaleY(1.5)}}#pagination-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:rgba(0,0,0,.1);z-index:9999;opacity:0;transition:opacity .3s ease}#pagination-progress.active{opacity:1}.progress-bar-container{position:relative;height:100%}.progress-bar-fill-primary{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8,#1e40af);transition:width .3s cubic-bezier(.4,0,.2,1)}.progress-bar-indeterminate{position:absolute;top:0;left:0;height:100%;width:20%;background:linear-gradient(90deg,#60a5fa,#3b82f6);opacity:.8;transform:translateX(-100%);animation:n 1.5s infinite cubic-bezier(.4,0,.6,1)}.progress-bar-pulse{position:absolute;top:0;left:0;width:100%;height:100%;background:#3b82f6;opacity:.3;filter:blur(4px);animation:o 2s infinite}#pagination-progress.complete .progress-bar-fill-primary{background:linear-gradient(90deg,#10b981,#059669,#047857)}#pagination-progress.error .progress-bar-fill-primary{background:linear-gradient(90deg,#ef4444,#dc2626,#b91c1c)}.pagination-container{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-top:1px solid var(--color-border,#e5e7eb);margin-top:1rem}.pagination-info{font-size:.875rem;color:var(--color-text-secondary,#6b7280)}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:all .2s ease;cursor:pointer;border:none;background:var(--color-bg-secondary,#f3f4f6);color:var(--color-text-primary,#374151)}.pagination-btn:hover:not(:disabled){background:var(--color-bg-hover,#e5e7eb);transform:translateY(-1px)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.page-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:all .2s ease;cursor:pointer;border:none;min-width:2.5rem}.page-btn:not(.bg-blue-500){background:var(--color-bg-secondary,#f3f4f6);color:var(--color-text-primary,#374151)}.page-btn:not(.bg-blue-500):hover{background:var(--color-bg-hover,#e5e7eb);transform:translateY(-1px)}.page-btn.bg-blue-500{background:var(--color-primary,#3b82f6);color:#fff}.page-btn.bg-blue-500:hover{background:var(--color-primary-dark,#1d4ed8)}.loading-shimmer{animation:j 1.5s ease-in-out infinite}.loading-shimmer td{padding:.75rem 1rem}.loading-shimmer .h-4{height:1rem;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;animation:p 1.5s infinite;border-radius:.25rem}@keyframes p{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-color-scheme:dark){.loading-shimmer .h-4{background:linear-gradient(90deg,#374151 25%,#4b5563 50%,#374151 75%);background-size:200% 100%}.pagination-btn:not(:disabled){background:var(--color-bg-secondary-dark,#374151);color:var(--color-text-primary-dark,#f3f4f6)}.pagination-btn:hover:not(:disabled){background:var(--color-bg-hover-dark,#4b5563)}.page-btn:not(.bg-blue-500){background:var(--color-bg-secondary-dark,#374151);color:var(--color-text-primary-dark,#f3f4f6)}.page-btn:not(.bg-blue-500):hover{background:var(--color-bg-hover-dark,#4b5563)}}@media (max-width:768px){.pagination-container{flex-direction:column;gap:1rem;text-align:center}.pagination-controls{flex-wrap:wrap;justify-content:center}.pagination-info{font-size:.75rem}}