body {
    min-height: 100vh;
    background: linear-gradient(135deg,#0f172a,#020617 60%, #0b1f3a);
    font-family: "Segoe UI", Roboto, sans-serif;
}

/* lumière subtile */
body::before{
    content:"";
    position:fixed;
    width:600px;
    height:600px;
    background:radial-gradient(circle,rgba(59,130,246,.35),transparent 70%);
    top:-150px;
    left:-150px;
    filter:blur(60px);
}

/* ===== Layout ===== */
.login-wrapper{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* ===== Glass Card ===== */
.login-card{
    width:420px;
    padding:40px;
    border-radius:18px;
    background:rgba(255,255,255,0.06);
    backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,0.12);
    box-shadow:0 25px 60px rgba(0,0,0,.55);
    color:white;
}

/* Logo / title */
.app-title{
    font-weight:700;
    font-size:26px;
    letter-spacing:1px;
}

.app-subtitle{
    color:#cbd5e1;
    font-size:13px;
    margin-top:6px;
}

/* inputs */
.form-control{
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.12);
    color:white;
    height:46px;
    border-radius:10px;
}

.form-control:focus{
    background:rgba(255,255,255,0.12);
    color:white;
    border-color:#3b82f6;
    box-shadow:0 0 0 2px rgba(59,130,246,.25);
}

/* icons */
.input-group-text{
    background:transparent;
    border:none;
    color:#93c5fd;
}

/* bouton */
.btn-login{
    height:48px;
    border-radius:12px;
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
    color: white;
    border:none;
    font-weight:600;
    letter-spacing:.5px;
    transition:.2s;
}

.btn-login:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 25px rgba(37,99,235,.4);
}

/* footer */
.login-footer{
    margin-top:20px;
    font-size:13px;
    color:#cbd5e1;
}

/* badge sécurité */
.security-badge{
    background:rgba(34,197,94,.15);
    border:1px solid rgba(34,197,94,.35);
    color:#86efac;
    padding:6px 10px;
    border-radius:8px;
    font-size:12px;
    display:inline-block;
    margin-top:10px;
}

/* Horloge */
.server-time{
    margin-top:15px;
    padding:10px;
    border-radius:10px;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.1);
}

#current-date{
    font-size:12px;
    color:#cbd5e1;
}

#current-time{
    font-size:26px;
    font-weight:700;
    color:#93c5fd;
    letter-spacing:1px;
}


/* wrapper */
.register-wrapper{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* glass card */
.register-card{
    width:460px;
    padding:40px;
    border-radius:18px;
    background:rgba(255,255,255,0.06);
    backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,0.12);
    box-shadow:0 25px 60px rgba(0,0,0,.55);
    color:white;
}

.btn-register{
    height:48px;
    border-radius:12px;
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
    border:none;
    font-weight:600;
    letter-spacing:.5px;
    transition:.2s;
    color:white;
}

.btn-register:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 25px rgba(37,99,235,.4);
}

.register-footer{
    margin-top:18px;
    font-size:13px;
    color:#cbd5e1;
}
