@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}

body{
    font-family:'Poppins',sans-serif;
    background:linear-gradient(135deg,#f8fbff 0%,#eef5ff 45%,#ffffff 100%);
    color:#0f172a;
    min-height:100vh;
}

.navbar{
    background:rgba(255,255,255,.88)!important;
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(59,130,246,.12);
    padding:18px 0;
    box-shadow:0 8px 30px rgba(15,23,42,.06);
}

.navbar-brand{
    font-size:32px;
    font-weight:800;
    background:linear-gradient(90deg,#2563eb,#06b6d4);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.hero{
    padding:120px 20px 90px;
    text-align:center;
    position:relative;
    overflow:hidden;
}

.hero::before,
.hero::after{
    content:'';
    position:absolute;
    width:280px;
    height:280px;
    border-radius:50%;
    background:rgba(37,99,235,.08);
    filter:blur(10px);
}

.hero::before{top:-80px;left:-70px;}
.hero::after{right:-70px;bottom:-80px;}

.hero h1{
    font-size:72px;
    line-height:1.1;
    font-weight:800;
    margin-bottom:22px;
}

.hero p{
    max-width:700px;
    margin:0 auto 35px;
    font-size:21px;
    color:#475569;
}

.glass-box,
.card,
.dashboard-card{
    background:rgba(255,255,255,.92);
    border:1px solid rgba(148,163,184,.18);
    border-radius:28px;
    padding:28px;
    box-shadow:0 20px 45px rgba(15,23,42,.08);
    transition:.3s ease;
}

.card:hover,
.dashboard-card:hover,
.glass-box:hover{
    transform:translateY(-8px);
    box-shadow:0 25px 50px rgba(37,99,235,.14);
}

.dashboard-card h2,
.plan-price{
    font-size:42px;
    font-weight:800;
    color:#2563eb;
}

.form-control,
.form-select{
    border-radius:18px;
    border:2px solid #dbeafe!important;
    padding:15px;
    background:#fff!important;
    color:#0f172a!important;
}

.form-control:focus,
.form-select:focus{
    border-color:#2563eb!important;
    box-shadow:0 0 0 5px rgba(37,99,235,.12)!important;
}

.btn{
    border:none!important;
    border-radius:18px;
    padding:14px 28px;
    font-weight:700;
    transition:.25s ease;
    letter-spacing:.3px;
}

.btn:hover{
    transform:translateY(-3px) scale(1.02);
}

.btn-primary,
.btn-success,
.btn-warning,
.btn-danger,
.btn-info,
.btn-secondary{
    color:#fff!important;
}

.btn-primary{background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 12px 25px rgba(37,99,235,.25);}
.btn-success{background:linear-gradient(135deg,#10b981,#22c55e);box-shadow:0 12px 25px rgba(16,185,129,.25);}
.btn-warning{background:linear-gradient(135deg,#f59e0b,#f97316);box-shadow:0 12px 25px rgba(245,158,11,.25);}
.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 12px 25px rgba(239,68,68,.25);}
.btn-info{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 12px 25px rgba(6,182,212,.25);}
.btn-secondary{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 12px 25px rgba(100,116,139,.25);}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:25px;
    margin-top:50px;
}

.feature-icon{
    width:70px;
    height:70px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    background:linear-gradient(135deg,#dbeafe,#eff6ff);
    margin-bottom:20px;
}

.footer{
    text-align:center;
    padding:25px;
    color:#64748b;
    margin-top:60px;
}

.table{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
}

@media(max-width:768px){
    .hero h1{font-size:48px;}
    .hero p{font-size:18px;}
}

.gradient-text{
    background:linear-gradient(90deg,#2563eb,#06b6d4,#10b981);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}
.auth-card{
    width:100%;max-width:520px;background:#fff;border:1px solid #e2e8f0;border-radius:28px;padding:36px;box-shadow:0 24px 60px rgba(15,23,42,.12)
}
.nav-link{font-weight:600;color:#334155!important}
.nav-link:hover{color:#2563eb!important}
.footer a{color:#475569;text-decoration:none;font-weight:600}.footer a:hover{color:#2563eb}
.progress{background:#e2e8f0;border-radius:20px}.progress-bar{background:linear-gradient(90deg,#2563eb,#06b6d4)}
@media(max-width:576px){.auth-card{padding:24px;border-radius:20px}.hero{padding-top:80px}.hero h1{font-size:40px}}
.btn-outline-primary{border:1px solid #2563eb!important;color:#2563eb!important;background:transparent!important;box-shadow:none!important}
.btn-outline-primary:hover{background:#2563eb!important;color:#fff!important}
.btn-outline-danger{border:1px solid #dc2626!important;color:#dc2626!important;background:transparent!important;box-shadow:none!important}
.btn-outline-danger:hover{background:#dc2626!important;color:#fff!important}
