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

body{
    min-height:100vh;

    font-family:'Segoe UI',sans-serif;

    background:url('background.jpg') center center/cover no-repeat;

    overflow-x:hidden;
    overflow-y:auto;

    position:relative;
}
.overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        135deg,
        rgba(2,6,23,0.85),
        rgba(3,7,18,0.65)
    );

    backdrop-filter:blur(4px);
}

.login-box{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    z-index:10;

    width:420px;

    padding:50px 40px;

    border-radius:32px;

    background:
    linear-gradient(
        145deg,
        rgba(20,30,55,0.82),
        rgba(10,15,30,0.88)
    );

    border:1px solid rgba(255,255,255,0.08);

    backdrop-filter:blur(25px);

    box-shadow:
        0 25px 70px rgba(0,0,0,0.55);

    text-align:center;
}

.logo-circle{
    width:72px;
    height:72px;

    margin:0 auto 24px;

    border-radius:50%;

    background:rgba(255,255,255,0.08);

    display:flex;
    justify-content:center;
    align-items:center;

    color:white;

    font-size:28px;
}

.login-box h1{
    color:white;

    font-size:42px;

    margin-bottom:12px;
}

.subtitle{
    color:rgba(255,255,255,0.65);

    margin-bottom:30px;
}

.input-group{
    margin-bottom:20px;

    text-align:left;
}

.input-group label{
    color:white;

    display:block;

    margin-bottom:10px;
}

.login-box input{
    width:100%;

    height:58px;

    border:none;

    border-radius:18px;

    padding:0 18px;

    background:rgba(255,255,255,0.08);

    color:white;

    outline:none;
}

.login-box button,
.logout-btn,
.nav-logout{
    width:100%;

    height:58px;

    border:none;

    border-radius:18px;

    background:#22d3ee;

    color:#04111f;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    text-decoration:none;

    display:flex;
    justify-content:center;
    align-items:center;

    transition:0.25s;
}

.login-box button:hover,
.logout-btn:hover,
.nav-logout:hover{
    transform:translateY(-2px);
}

.error-message{
    background:rgba(255,0,60,0.12);

    border:1px solid rgba(255,0,60,0.25);

    color:#ff8da1;

    padding:14px;

    border-radius:14px;

    margin-bottom:20px;
}

/* DASHBOARD */

.dashboard-layout{
    position:relative;

    z-index:5;

    width:100%;

    min-height:100vh;
}

.navbar{
    width:100%;

    height:90px;

    padding:0 40px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    background:rgba(10,15,30,0.72);

    backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(255,255,255,0.06);
}

.nav-left{
    display:flex;
    align-items:center;

    gap:40px;
}

.nav-logo{
    width:54px;
    height:54px;

    border-radius:16px;

    background:rgba(255,255,255,0.08);

    display:flex;
    justify-content:center;
    align-items:center;

    color:white;

    font-size:22px;
}

.nav-links{
    display:flex;

    gap:28px;
}

.nav-links a{
    color:rgba(255,255,255,0.72);

    text-decoration:none;

    font-size:15px;

    transition:0.25s;
}

.nav-links a:hover{
    color:#22d3ee;
}

.nav-right{
    display:flex;
    align-items:center;

    gap:20px;
}

.user-box{
    display:flex;
    align-items:center;

    gap:12px;
}

.user-avatar{
    width:48px;
    height:48px;

    border-radius:50%;

    background:rgba(255,255,255,0.08);

    display:flex;
    justify-content:center;
    align-items:center;

    color:white;
}

.user-info{
    display:flex;
    flex-direction:column;
}

.user-name{
    color:white;

    font-weight:700;
}

.user-role{
    color:rgba(255,255,255,0.5);

    font-size:12px;
}

.nav-logout{
    width:auto;

    padding:0 24px;

    height:48px;
}

.dashboard-content{
    padding:40px;
}

.welcome-card{
    padding:35px;

    border-radius:30px;

    background:rgba(10,15,30,0.72);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,0.06);

    margin-bottom:30px;
}

.welcome-card h1{
    color:white;

    font-size:42px;

    margin-bottom:10px;
}

.welcome-card p{
    color:rgba(255,255,255,0.65);
}

.cards-grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;
}

.dashboard-card{
    padding:30px;

    border-radius:24px;

    background:rgba(10,15,30,0.72);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,0.06);
}

.dashboard-card h3{
    color:white;

    margin-bottom:16px;
}

.dashboard-card span{
    color:#22d3ee;

    font-size:24px;

    font-weight:800;
}

.access-box{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    z-index:5;

    width:420px;

    padding:50px 40px;

    border-radius:30px;

    background:rgba(10,15,30,0.75);

    backdrop-filter:blur(18px);

    text-align:center;

    border:1px solid rgba(255,255,255,0.06);
}

.access-icon{
    width:82px;
    height:82px;

    margin:0 auto 24px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:rgba(255,255,255,0.08);

    font-size:34px;
}

.access-box h1{
    color:white;

    font-size:34px;

    margin-bottom:14px;
}

.access-box p{
    color:rgba(255,255,255,0.65);

    margin-bottom:30px;
}
.widgets-grid{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;
}

.widget-card{
    padding:35px;

    border-radius:28px;

    background:rgba(10,15,30,0.72);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,0.06);

    text-align:center;

    transition:0.25s;
}

.widget-card:hover{
    transform:translateY(-4px);
}

.widget-top{
    width:72px;
    height:72px;

    margin:0 auto 22px;

    border-radius:20px;

    background:rgba(255,255,255,0.08);

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:32px;

    color:white;
}

.widget-card h3{
    color:white;

    font-size:22px;

    margin-bottom:18px;
}

.widget-card p{
    color:#22d3ee;

    font-size:34px;

    font-weight:800;
}
/* ========================= */
/* MOBILE RESPONSIVE */
/* ========================= */

@media(max-width:900px){

    .cards-grid,
    .widgets-grid{
        grid-template-columns:1fr;
    }

    .navbar{
        height:auto;

        padding:20px;

        flex-direction:column;

        gap:20px;
    }

    .nav-left{
        width:100%;

        flex-direction:column;

        gap:20px;
    }

    .nav-links{
        width:100%;

        justify-content:center;

        flex-wrap:wrap;

        gap:18px;
    }

    .nav-right{
        width:100%;

        justify-content:space-between;
    }

    .dashboard-content{
        padding:20px;
    }

    .welcome-card h1{
        font-size:32px;
    }
}

@media(max-width:600px){

    body{
        overflow:auto;
    }

    .login-box,
    .access-box{
        width:92%;

        padding:35px 24px;

        border-radius:24px;
    }

    .login-box h1,
    .access-box h1{
        font-size:32px;
    }

    .dashboard-content{
        padding:15px;
    }

    .navbar{
        padding:18px 15px;
    }

    .nav-logo{
        width:48px;
        height:48px;
    }

    .nav-links{
        gap:14px;
    }

    .nav-links a{
        font-size:14px;
    }

    .nav-right{
        flex-direction:column;

        gap:16px;
    }

    .user-box{
        width:100%;

        justify-content:center;
    }

    .nav-logout{
        width:100%;
    }

    .welcome-card{
        padding:28px 22px;

        border-radius:24px;
    }

    .welcome-card h1{
        font-size:28px;

        line-height:1.2;
    }

    .widget-card{
        padding:26px 20px;
    }

    .widget-card h3{
        font-size:18px;
    }

    .widget-card p{
        font-size:28px;
    }

    .dashboard-card{
        padding:24px 20px;
    }

    .dashboard-box{
        width:95%;
    }
}

@media(max-width:420px){

    .login-box h1,
    .welcome-card h1,
    .access-box h1{
        font-size:24px;
    }

    .subtitle,
    .welcome-card p{
        font-size:14px;
    }

    .login-box input{
        height:54px;
    }

    .login-box button,
    .logout-btn,
    .nav-logout{
        height:54px;
    }

    .widget-card p{
        font-size:24px;
    }

    .user-name{
        font-size:13px;
    }

    .user-role{
        font-size:11px;
    }
}
.settings-modern-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:24px;
}

.settings-modern-card{
    padding:35px;

    border-radius:30px;

    background:rgba(10,15,30,0.72);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,0.06);
}

.settings-modern-card h3{
    color:white;

    font-size:28px;

    margin-bottom:30px;
}

.avatar-preview{
    display:flex;
    justify-content:center;

    margin-bottom:30px;
}

.big-avatar{
    width:140px;
    height:140px;

    border-radius:50%;

    object-fit:cover;

    border:4px solid rgba(255,255,255,0.08);
}

.real-avatar{
    width:48px;
    height:48px;

    border-radius:50%;

    object-fit:cover;

    border:2px solid rgba(255,255,255,0.08);
}

.dashboard-avatar{
    width:110px;
    height:110px;

    border-radius:50%;

    object-fit:cover;

    margin-bottom:25px;

    border:4px solid rgba(255,255,255,0.08);
}

.dashboard-profile{
    margin-bottom:20px;
}

.upload-box{
    margin-bottom:20px;
}

.upload-box input{
    width:100%;

    padding:14px;

    border-radius:18px;

    background:rgba(255,255,255,0.06);

    color:white;

    border:1px solid rgba(255,255,255,0.06);
}

.save-btn{
    width:100%;

    height:58px;

    border:none;

    border-radius:18px;

    background:#22d3ee;

    color:#04111f;

    font-weight:700;

    cursor:pointer;

    transition:0.25s;
}

.save-btn:hover{
    transform:translateY(-2px);
}

.account-info{
    display:flex;

    flex-direction:column;

    gap:20px;
}

.account-row{
    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 0;

    border-bottom:1px solid rgba(255,255,255,0.06);
}

.account-row span{
    color:rgba(255,255,255,0.65);
}

.account-row strong{
    color:white;
}

.online-status{
    color:#22d3ee !important;
}

@media(max-width:900px){

    .settings-modern-grid{
        grid-template-columns:1fr;
    }
}
.chat-container{
    margin-top:30px;

    background:rgba(10,15,30,0.72);

    border:1px solid rgba(255,255,255,0.06);

    border-radius:28px;

    overflow:hidden;

    backdrop-filter:blur(18px);
}

.chat-header{
    padding:24px 30px;

    border-bottom:1px solid rgba(255,255,255,0.06);

    color:white;

    font-size:24px;

    font-weight:700;
}

.chat-box{
    height:400px;

    overflow-y:auto;

    padding:24px;

    display:flex;

    flex-direction:column;

    gap:18px;
}

.chat-message{
    padding:18px;

    border-radius:20px;

    background:rgba(255,255,255,0.05);
}
/* ================= CHAT FIX ================= */

.chat-container{
    margin-top:30px;

    background:rgba(10,15,30,0.72);

    border:1px solid rgba(255,255,255,0.06);

    border-radius:28px;

    overflow:hidden;

    backdrop-filter:blur(18px);
}

.chat-header{
    padding:24px 30px;

    border-bottom:1px solid rgba(255,255,255,0.06);

    color:white;

    font-size:24px;

    font-weight:700;
}

.chat-box{
    height:350px;

    overflow-y:auto;

    padding:24px;

    display:flex;

    flex-direction:column;

    gap:16px;
}

.chat-message{
    padding:18px;

    border-radius:18px;

    background:rgba(255,255,255,0.05);
}

.chat-user{
    color:#22d3ee;

    font-weight:700;

    margin-bottom:8px;
}

.chat-text{
    color:white;

    line-height:1.5;

    word-break:break-word;
}

.chat-time{
    margin-top:10px;

    color:rgba(255,255,255,0.45);

    font-size:12px;
}

.chat-form{
    display:flex !important;

    align-items:center;

    gap:16px;

    padding:20px;

    border-top:1px solid rgba(255,255,255,0.06);

    background:rgba(255,255,255,0.02);
}

.chat-form input{
    flex:1 !important;

    width:100%;

    height:58px !important;

    border:none !important;

    border-radius:18px !important;

    padding:0 20px !important;

    background:rgba(255,255,255,0.08) !important;

    color:white !important;

    outline:none;

    font-size:15px;
}

.chat-form input::placeholder{
    color:rgba(255,255,255,0.45);
}

.chat-form button{
    width:160px !important;

    height:58px !important;

    border:none !important;

    border-radius:18px !important;

    background:#22d3ee !important;

    color:#04111f !important;

    font-weight:700;

    cursor:pointer;

    flex-shrink:0;
}

@media(max-width:700px){

    .chat-form{
        flex-direction:column;
    }

    .chat-form button{
        width:100% !important;
    }
}
.delete-message{
    margin-left:12px;

    color:#ff5470;

    text-decoration:none;

    font-weight:700;

    transition:0.2s;
}

.delete-message:hover{
    color:#ff2c52;
}