/*====================================================
  AUTHENTICATION & LOGIN (1:1 with backup/login.php)
====================================================*/

.login-header{
    position:relative;
    width:100%;
    height:340px;
    background:
    linear-gradient(
    rgba(255,255,255,.12),
    rgba(255,255,255,.18)),
    url('../img/login-banner.webp');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    border-bottom-left-radius:40px;
    border-bottom-right-radius:40px;
    overflow:hidden;
}

.login-header::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:110px;
    background:
    linear-gradient(
    transparent,
    #edf7fb);
}

.login-wrapper{
    position:relative;
    z-index:5;
    margin-top:-120px;
    padding:20px;
    display:flex;
    justify-content:center;
}

.login-card{
    width:100%;
    max-width:460px;
    border:none;
    border-radius:28px;
    overflow:hidden;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(15px);
    box-shadow:0 20px 55px rgba(0,0,0,.15);
}

.login-body{
    padding:35px;
}

.logo-box{
    text-align:center;
    margin-bottom:28px;
}

.logo-card{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:110px;
    height:110px;
    border-radius:30px;
    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.logo-navbar{
    width:80px;
}

.logo-title{
    margin-top:18px;
    font-size:26px;
    font-weight:700;
    color:#114b8c;
}

.logo-subtitle{
    margin-top:6px;
    color:#666;
    font-size:14px;
}

.logo-badge{
    display:inline-block;
    margin-top:12px;
    background:#e8f7ff;
    color:#0099cc;
    padding:8px 20px;
    border-radius:50px;
    font-size:13px;
    font-weight:600;
}

.role-box{
    display:flex;
    gap:10px;
    margin-bottom:25px;
}

.role-item{
    flex:1;
    background:#f8fbff;
    border:1px solid #e6eef8;
    border-radius:16px;
    text-align:center;
    padding:12px;
    transition:.3s;
}

.role-item:hover{
    transform:translateY(-3px);
    background:#eef8ff;
}

.role-item i{
    display:block;
    font-size:20px;
    margin-bottom:8px;
}

.btn-login{
    height:56px;
    border:none;
    border-radius:15px;
    background:linear-gradient(90deg,#00bcd4,#2196f3);
    font-weight:600;
    font-size:16px;
}

.btn-login:hover{
    background:linear-gradient(90deg,#00acc1,#1976d2);
}

/* Floating Aira */
.aira-widget{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:9999;
}

.aira-avatar{
    width:72px;
    height:72px;
    border-radius:50%;
    overflow:hidden;
    cursor:pointer;
    background:#fff;
    box-shadow:0 12px 30px rgba(0,188,212,.25);
    animation:float 3s ease-in-out infinite;
}

.aira-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.aira-bubble{
    display:block;
    position:absolute;
    right:85px;
    bottom:10px;
    width:260px;
    background:#fff;
    border-radius:18px;
    padding:18px;
    box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.aira-bubble:after{
    content:'';
    position:absolute;
    right:-10px;
    bottom:24px;
    border-width:10px 0 10px 12px;
    border-style:solid;
    border-color:transparent transparent transparent #fff;
}

.aira-title{
    font-size:16px;
    font-weight:700;
    color:#00a8c6;
    margin-bottom:8px;
}

.aira-message{
    font-size:13px;
    line-height:1.6;
    color:#555;
}

@keyframes float{
    0%{transform:translateY(0);}
    50%{transform:translateY(-8px);}
    100%{transform:translateY(0);}
}

@media(max-width:768px){
    .login-header{
        width:100%;
        height:340px;
        background:url('../img/login-banner.webp');
        background-repeat:no-repeat;
        background-position:center top;
        background-size:contain;
        background-color:#eef7fb;
    }
    .login-wrapper{
        margin-top:-195px;
    }
    .login-body{
        padding:25px;
    }
    .logo-card{
        width:90px;
        height:90px;
    }
    .logo-navbar{
        width:65px;
    }
    .logo-title{
        font-size:22px;
    }
}