:root{
    --blue:#01498d;
    --green:#42ab34;
    --yellow:#fcd841;
    --white:#ffffff;
}

body{
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(252,216,65,.18), transparent 30%),
        radial-gradient(circle at bottom right, rgba(66,171,52,.20), transparent 35%),
        linear-gradient(135deg,#001d3d 0%, #01498d 45%, #0b5ea8 100%);
    overflow-x:hidden;
}

body::before,
body::after{
    content:'';
    position:fixed;
    width:260px;
    height:260px;
    border-radius:50%;
    filter:blur(70px);
    opacity:.45;
    z-index:0;
}

body::before{
    top:-60px;
    left:-60px;
    background:var(--yellow);
}

body::after{
    bottom:-60px;
    right:-60px;
    background:var(--green);
}

.login-wrapper{
    position:relative;
    z-index:2;
}

.brand-logo{
    animation:floatLogo 4s ease-in-out infinite;
}

@keyframes floatLogo{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-6px);}
}

.premium-card{
    background:rgba(255,255,255,.92);
    border-radius:24px;
    box-shadow:0 20px 45px rgba(0,0,0,.18);
    backdrop-filter:blur(14px);
    overflow:hidden;
}

.premium-card::before{
    content:'';
    display:block;
    height:6px;
    background:linear-gradient(90deg,var(--blue),var(--green),var(--yellow));
}

.login-title{
    color:var(--blue);
    font-weight:800;
}

.login-subtitle{
    color:#64748b;
    font-size:.9rem;
}

.premium-input{
    height:48px;
    border-radius:14px;
    border:1px solid #dbe3ee;
}

.premium-input:focus{
    border-color:var(--yellow);
    box-shadow:0 0 0 .25rem rgba(252,216,65,.22);
}

.premium-btn{
    height:48px;
    border:none;
    border-radius:14px;
    font-weight:700;
    color:white;
    background:linear-gradient(90deg,var(--blue),#0b63b8);
    transition:.25s;
}

.premium-btn:hover{
    transform:translateY(-2px);
    background:linear-gradient(90deg,var(--green),#2d8c22);
}

.mini-badge{
    display:inline-flex;
    gap:6px;
    padding:6px 10px;
    border-radius:50px;
    background:#eef6ff;
    color:var(--blue);
    font-size:.78rem;
    font-weight:600;
}

.dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--green);
}

.footer-note{
    font-size:.78rem;
    color:#64748b;
}