/* Reset & Body */
*{margin:0;padding:0;box-sizing:border-box;font-family:'Poppins',sans-serif;}
body{min-height:100vh;display:flex;flex-direction:column;align-items:center;background:radial-gradient(circle at top left,#0f172a,#020617 70%);color:#fff;padding:20px;}
.container{width:100%;max-width:900px;padding:30px;border-radius:25px;backdrop-filter:blur(25px);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);box-shadow:0 0 60px rgba(99,102,241,0.3);}
.title{text-align:center;font-size:28px;font-weight:700;background:linear-gradient(90deg,#7c8cff,#a855f7);-webkit-background-clip:text;color:transparent;margin-bottom:15px;}
.title .subtitle{font-size:0.6rem;color:#94a3b8;letter-spacing:3px;text-transform:uppercase;margin-top:8px;display:block;font-weight:500;}

/* Tabs */
.tabs{position:relative;display:flex;background:rgba(255,255,255,0.05);border-radius:999px;padding:6px;margin-bottom:25px;}
.tabs button{flex:1;padding:10px;border:none;background:none;color:#cbd5e1;cursor:pointer;font-weight:600;z-index:2;}
.tabs button.active{color:#fff;}
.tab-indicator{position:absolute;top:6px;left:0;width:33.33%;height:calc(100% - 12px);background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:999px;transition:.4s;}
.mode{display:none;}
.mode.active{display:block;}

/* Grid Buttons */
.bank-grid,.wallet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:15px;}
.bank-btn,.wallet-btn{padding:12px;border-radius:12px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:#cbd5e1;cursor:pointer;font-weight:600;text-align:center;}
.bank-btn.selected,.wallet-btn.selected{background:linear-gradient(145deg,#1e1b4b,#312e81);border:1px solid #8b5cf6;color:#fff;}

/* Inputs & Action Buttons */
input,textarea{width:100%;padding:14px;border-radius:14px;border:none;outline:none;background:rgba(255,255,255,0.05);color:#fff;margin-bottom:15px;}
button.action-btn{width:100%;padding:14px;border-radius:14px;border:none;font-weight:600;cursor:pointer;background:linear-gradient(90deg,#6366f1,#a855f7);color:#fff;transition:.3s;}
button.action-btn:hover{box-shadow:0 0 25px rgba(168,85,247,.6);}

/* Result Card */
.result-card{margin-top:10px;padding:20px;border-radius:20px;background:rgba(15,23,42,0.8);border:1px solid rgba(255,255,255,0.08);position:relative;overflow:hidden;}
.result-card::before{content:"";position:absolute;inset:-2px;border-radius:22px;background:linear-gradient(45deg,#6366f1,#a855f7,#22d3ee,#6366f1);background-size:300% 300%;animation:neonMove 6s linear infinite;z-index:-1;}
@keyframes neonMove{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
.spinner{border:4px solid rgba(255,255,255,0.2);border-top:4px solid #a855f7;border-radius:50%;width:30px;height:30px;animation:spin 1s linear infinite;margin:auto;}
@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
.status-badge{position:absolute;top:15px;right:15px;padding:5px 10px;border-radius:10px;font-size:12px;font-weight:700;text-transform:uppercase;}
.badge-VALID{background:#22c55e;color:#fff;}
.badge-INVALID{background:#ef4444;color:#fff;}
.result-header p{font-size:0.6rem;color:#cbd5e1;font-weight:800;text-transform:uppercase;margin-bottom:5px;}
.result-header h4{font-size:1rem;margin-bottom:10px;}
.detail-row{display:flex;justify-content:space-between;font-size:0.85rem;margin-bottom:5px;}
.detail-key{opacity:0.7;}

/* PIN Modal */
#pinModal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(5px);justify-content:center;align-items:center;z-index:1000;}
#pinModal .modal-content{background:rgba(15,23,42,0.95);padding:30px;border-radius:20px;width:400px;text-align:center;position:relative;overflow:hidden;box-shadow:0 0 20px #6366f1,0 0 40px #a855f7,0 0 60px #22d3ee;}
#pinModal h2{margin-bottom:15px;font-weight:700;color:#0ff;}
#pinModal input{width:100%;padding:12px;border-radius:10px;border:none;background:rgba(0,0,0,0.2);color:#0ff;text-align:center;margin-bottom:20px;}
#pinModal .modal-buttons button{padding:10px 20px;margin:0 10px;border:none;border-radius:10px;font-weight:700;cursor:pointer;}
#pinModal #pinConfirm{background:#0ff;color:#000;}
#pinModal #pinCancel{background:#ef4444;color:#fff;}
#pinModal .scan-line{position:absolute;top:-50%;left:0;width:100%;height:50%;background:linear-gradient(to bottom,transparent,rgba(255,255,255,0.2),transparent);animation:scanMove 2s linear infinite;pointer-events:none;}
@keyframes scanMove{0%{top:-50%;}50%{top:100%;}100%{top:-50%;}}
#pinModal .feature-text{margin-top:15px;font-size:12px;color:#22d3ee;font-weight:600;letter-spacing:1px;text-shadow:0 0 5px #22d3ee,0 0 10px #6366f1,0 0 15px #a855f7;animation:flicker 1.5s infinite;}
@keyframes flicker{0%,19%,21%,23%,25%,54%,56%,100%{opacity:1;}20%,22%,24%,55%{opacity:0.4;}}

/* Footer Modern Hitam */
.footer{
  text-align:center;
  font-size:0.75rem;
  color:#22d3ee;
  padding:15px;
  margin-top:30px;
  width:100%;
  background:#000; /* Hitam pekat */
  border-radius:12px;
  text-shadow:0 0 5px #0ff, 0 0 10px #22d3ee;
}