*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Inter',sans-serif;
}

body{
    min-height:100vh;
    background:#ffffff;
}

/* ================= CENTER ================= */

.center{
    display:flex;
    justify-content:center;
    align-items:center;
    height:100vh;
    padding:20px;
    transition:.5s;
}

/* ================= CAPTCHA ================= */

.captcha-card{
    background:white;
    width:100%;
    max-width:520px;
    padding:42px 34px;
    border-radius:14px;
    border:1px solid #e6e6e6;
}

.domain{
    font-size:32px;
    font-weight:800;
    line-height:1.2;
}

.title{
    font-size:22px;
    font-weight:700;
    margin:14px 0 10px;
}

.desc{
    color:#555;
    line-height:1.5;
    margin-bottom:28px;
}

.verify-box{
    border:1px solid #e5e5e5;
    border-radius:10px;
    padding:18px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#fff;
}

.g-recaptcha{
    transform:scale(.95);
    transform-origin:center;
}

/* ================= DASHBOARD BACKGROUND ================= */

#dashboard-page{
    background:linear-gradient(180deg,#1c2e92 0%, #020b38 100%);
}

/* ================= DASHBOARD CARD ================= */

.dashboard{
    width:100%;
    max-width:600px;
    padding:70px 50px;
    border-radius:30px;
    text-align:center;
    color:white;
    background:rgba(8,15,70,.55);
    backdrop-filter:blur(22px);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.05) inset,
        0 20px 50px rgba(0,0,0,.35);
}

/* ================= LOGO ================= */

.logo-wrapper{
    display:flex;
    justify-content:center;
    margin-bottom:34px;
}

.logo-img{
    width:260px;
    height:auto;
}

/* ================= TEXT ================= */

.welcome{
    font-size:34px;
    font-weight:700;
    line-height:1.2;
    margin-bottom:18px;
}

.connect{
    color:#cfd6ff;
    font-size:18px;
    margin-bottom:48px;
}

/* ================= BUTTONS ================= */

.btn-row{
    display:flex;
    gap:20px;
    justify-content:center;
}

.btn{
    flex:1;
    padding:18px 0;
    border-radius:18px;
    text-decoration:none;
    font-weight:600;
    font-size:18px;
    text-align:center;
    transition:.3s ease;
}

/* OUTLINE BUTTON */
.outline{
    border:2px solid rgba(255,255,255,.35);
    color:white;
    background:transparent;
}

.outline:hover{
    background:rgba(255,255,255,.08);
}

/* GRADIENT BUTTON */
.gradient{
    background:linear-gradient(90deg,#1dd6ff 0%, #0090ff 100%);
    color:white;
    box-shadow:0 8px 25px rgba(0,140,255,.35);
}

.gradient:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 35px rgba(0,140,255,.45);
}

/* ================= STATES ================= */

.hidden{
    display:none;
}

.fade{
    opacity:0;
    transition:.5s;
}

/* ================= MOBILE PERFECT MATCH ================= */

@media (max-width:480px){

.dashboard{
    padding:50px 18px;
}

/* Logo */
.logo-img{
    width:170px;
}

/* PERFECT FIT TEXT */
.welcome{
    font-size:clamp(16px, 4.5vw, 20px);
    font-weight:700;
    margin-bottom:12px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.connect{
    font-size:14px;
    color:#cfd6ff;
    margin-bottom:32px;
    max-width:90%;
    margin-left:auto;
    margin-right:auto;
    white-space:normal;   /* allow wrapping */
    line-height:1.4;
}


/* Keep buttons side by side */
.btn-row{
    flex-direction:row;
    gap:12px;
}

.btn{
    font-size:14px;
    padding:14px 0;
}

}

