*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,Helvetica,sans-serif;
}

body{

background:linear-gradient(135deg,#02112f,#063b97,#0b63ff);
background-image:url("../images/login-bg.jpg");
background-size:cover;
background-position:center;
background-repeat:no-repeat;
min-height:100vh;

}

.overlay{

width:100%;
min-height:100vh;

display:flex;

justify-content:center;

align-items:center;

padding:25px;

background:rgba(0,0,0,.45);

}

.login-box{

width:100%;
max-width:430px;

background:rgba(255,255,255,.08);

backdrop-filter:blur(18px);

border-radius:25px;

padding:35px;

box-shadow:
0 25px 70px rgba(0,0,0,.70);

border:1px solid rgba(255,255,255,.15);

}

.logo{

display:block;

width:200px;

margin:auto;

margin-bottom:25px;

}

.login-box h2{

text-align:center;

color:#fff;

font-size:34px;

margin-bottom:8px;

}

.login-box p{

text-align:center;

color:#ddd;

margin-bottom:30px;

}

.error{

background:#ff4d4d;

color:#fff;

padding:12px;

border-radius:10px;

margin-bottom:20px;

text-align:center;

}

.input-box{

position:relative;

margin-bottom:20px;

}

.input-box input{

width:100%;

height:58px;

padding-left:50px;

padding-right:50px;

border-radius:15px;

border:none;

outline:none;

background:rgba(255,255,255,.12);

color:#fff;

font-size:16px;

}

.input-box input::placeholder{

color:#d6d6d6;

}

.input-box .fa-envelope,

.input-box .fa-lock{

position:absolute;

left:18px;

top:20px;

color:#fff;

font-size:18px;

}

.eye{

position:absolute;

right:18px;

top:20px;

font-size:20px;

cursor:pointer;

color:#fff;

}

.remember{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:25px;

font-size:14px;

}

.remember label{

color:#fff;

}

.remember a{

color:#6fb6ff;

text-decoration:none;

}

.login-btn{

width:100%;

height:55px;

border:none;

border-radius:15px;

background:#0d6efd;

font-size:18px;

font-weight:bold;

color:#fff;

cursor:pointer;

transition:.3s;

}

.login-btn:hover{

background:#0056d6;

}

.divider{

margin:30px 0 20px;

text-align:center;

color:#ddd;

font-size:14px;

letter-spacing:1px;

}

.social-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:12px;

margin-bottom:25px;

}

.social-grid a{

height:58px;

background:rgba(255,255,255,.10);

border-radius:15px;

display:flex;

align-items:center;

justify-content:center;

transition:.3s;

}

.social-grid a:hover{

background:#0d6efd;

}

.social-grid img{

width:28px;

height:28px;

}

.register{

text-align:center;

color:#fff;

font-size:15px;

}

.register a{

color:#57b4ff;

text-decoration:none;

font-weight:bold;

}

@media(max-width:480px){

.login-box{

padding:25px;

}

.logo{

width:170px;

}

.login-box h2{

font-size:28px;

}

}
/* ===========================
   SparkMedia Register Styles
=========================== */

/* Success Message */
.success{
    background:#16a34a;
    color:#fff;
    padding:12px;
    border-radius:12px;
    margin-bottom:20px;
    text-align:center;
    font-size:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.25);
}

/* Password Strength */
#passwordStrength{
    display:block;
    margin-top:8px;
    font-size:13px;
    font-weight:600;
    color:#ffffff;
}

/* Input Focus Glow */
.input-box{
    transition:0.3s;
}

.input-box:focus-within{
    box-shadow:0 0 20px rgba(13,110,253,.5);
    border-radius:15px;
}

/* Glass Login Card */
.login-box{
    background:rgba(255,255,255,0.08);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.15);
}

/* Logo Animation */
.logo{
    animation:float 3s ease-in-out infinite;
}

@keyframes float{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

100%{
transform:translateY(0);
}

}

/* Button Hover */
.login-btn{
    transition:.3s;
}

.login-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(13,110,253,.5);
}

/* Social Buttons */
.social-grid a{
    border:1px solid rgba(255,255,255,.15);
}

.social-grid a img{
    width:28px;
    height:28px;
}

/* Mobile */
@media(max-width:480px){

.login-box{
    padding:22px;
}

.logo{
    width:170px;
}

.login-box h2{
    font-size:28px;
}

.input-box input{
    height:54px;
}

.login-btn{
    height:52px;
}

}
/*==========================================
PART 1B
VCC + HISTORY + BOTTOM NAVIGATION
==========================================*/

.dashboard-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
margin-top:35px;
}

/* Card Header */

.card-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:20px;
}

.card-header h3{
font-size:22px;
font-weight:700;
color:#111827;
}

.card-header a{
color:#2563EB;
font-weight:600;
}

/*==========================================
VIRTUAL CARD
==========================================*/

.vcc-card{

background:#fff;

padding:28px;

border-radius:25px;

box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.virtual-card{

position:relative;

overflow:hidden;

height:220px;

border-radius:22px;

padding:28px;

background:url("assets/images/card-bg.jpg") center/cover;

color:#fff;

margin-bottom:25px;

}

.virtual-card .overlay{

position:absolute;

top:0;

left:0;

width:100%;

height:100%;

background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.75));

}

.virtual-card>*{

position:relative;

z-index:2;

}

.card-top{

display:flex;

justify-content:space-between;

align-items:center;

font-size:22px;

}

.card-top i{

font-size:42px;

}

.virtual-card h2{

margin-top:55px;

letter-spacing:4px;

font-size:28px;

}

.card-bottom{

display:flex;

justify-content:space-between;

margin-top:30px;

}

.card-bottom small{

opacity:.8;

}

.card-bottom h3{

margin-top:6px;

}

/*==========================================
HISTORY
==========================================*/

.history-card{

background:#fff;

padding:28px;

border-radius:25px;

box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.history-list{

display:flex;

flex-direction:column;

gap:15px;

}

.history-item{

display:flex;

justify-content:space-between;

align-items:center;

padding:16px;

background:#F8FAFC;

border-radius:15px;

transition:.3s;

}

.history-item:hover{

background:#EEF4FF;

}

.history-item i{

color:#2563EB;

margin-right:10px;

}

/*==========================================
BOTTOM NAVIGATION
==========================================*/

.bottom-nav{

position:fixed;

left:0;

right:0;

bottom:0;

height:72px;

background:#fff;

display:flex;

justify-content:space-around;

align-items:center;

box-shadow:0 -5px 25px rgba(0,0,0,.08);

z-index:999;

}

.bottom-nav a{

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

font-size:13px;

font-weight:600;

color:#666;

transition:.3s;

}

.bottom-nav a i{

font-size:22px;

margin-bottom:5px;

}

.bottom-nav a.active{

color:#2563EB;

}

.scan-btn{

width:64px;

height:64px;

background:linear-gradient(135deg,#2563EB,#3B82F6);

border-radius:50%;

margin-top:-30px;

color:#fff!important;

box-shadow:0 12px 30px rgba(37,99,235,.35);

}

.scan-btn i{

font-size:28px;

margin-bottom:2px;

}

.scan-btn span{

font-size:11px;

}

/*==========================================
RESPONSIVE
==========================================*/

@media(max-width:992px){

.dashboard-grid{

grid-template-columns:1fr;

}

.main{

padding-bottom:100px;

}

}

@media(max-width:768px){

.sidebar{

display:none;

}

.main{

margin-left:0;

width:100%;

padding:20px;

}

.topbar{

flex-direction:column;

gap:20px;

}

.search{

width:100%;

}

.balance-card{

padding:25px;

}

.stats-row{

grid-template-columns:repeat(2,1fr);

}

.services-grid{

grid-template-columns:repeat(4,1fr);

}

}

@media(max-width:500px){

.stats-row{

grid-template-columns:1fr;

}

.services-grid{

grid-template-columns:repeat(3,1fr);

}

.virtual-card h2{

font-size:22px;

letter-spacing:2px;

}

.bottom-nav{

height:70px;

}

}