/* ===========================================
   NOVACORE GLOBAL STYLE
=========================================== */

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

:root{

    --bg:#07121d;
    --card:#13263d;
    --card2:#193654;

    --primary:#2b8cff;
    --primary-hover:#4ba2ff;

    --text:#ffffff;
    --text2:#a8c8e8;

    --radius:18px;

}

html{

    scroll-behavior:smooth;

}

body{

    background:linear-gradient(180deg,#07121d,#0b1b2b);

    color:var(--text);

    font-family:
    "Segoe UI",
    Arial,
    sans-serif;

    min-height:100vh;

}


/* ==============================
   WRAPPER
============================== */

.wrapper{

    width:100%;
    max-width:480px;

    margin:auto;

    min-height:100vh;

    background:#0d1d2f;

    box-shadow:
    0 0 35px rgba(0,0,0,.45);

    overflow:hidden;

    position:relative;

}


/* ==============================
   HEADER
============================== */

.topbar{

    height:65px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 18px;

    background:linear-gradient(
        135deg,
        #13263d,
        #1b3858
    );

    position:sticky;

    top:0;

    z-index:999;

    box-shadow:
    0 5px 15px rgba(0,0,0,.25);

}

.logo{

    font-size:24px;

    font-weight:bold;

    color:#5bc1ff;

    letter-spacing:1px;

}

.user{

    display:flex;

    align-items:center;

    gap:10px;

    color:#dbeeff;

    font-size:14px;

}

.user::before{

    content:"";

    width:38px;

    height:38px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        #2f8cff,
        #5cc8ff
    );

    display:block;

}


/* ==============================
   BUTTON
============================== */

button{

    cursor:pointer;

    transition:.25s;

    border:none;

}

button:hover{

    transform:translateY(-2px);

}

button:active{

    transform:scale(.97);

}


/* ==============================
   LINK
============================== */

a{

    color:#5fc4ff;

    text-decoration:none;

}

a:hover{

    color:#86d4ff;

}


/* ==============================
   CARD
============================== */

.card{

    background:var(--card);

    border-radius:var(--radius);

    padding:18px;

}


/* ==============================
   SCROLLBAR
============================== */

::-webkit-scrollbar{

    width:6px;

}

::-webkit-scrollbar-thumb{

    background:#363636;

    border-radius:50px;

}


/* ==============================
   ANIMATION
============================== */

.fade{

    animation:fade .4s ease;

}

@keyframes fade{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

.slide-up{

    animation:slideUp .5s ease;

}

@keyframes slideUp{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/* ==============================
   RIPPLE EFFECT
============================== */

.ripple{

    position:relative;

    overflow:hidden;

}

.ripple:after{

    content:"";

    position:absolute;

    width:10px;

    height:10px;

    border-radius:50%;

    background:white;

    opacity:.35;

    transform:scale(0);

}

.ripple:active:after{

    animation:ripple .45s linear;

}

@keyframes ripple{

    to{

        transform:scale(18);

        opacity:0;

    }

}


/* ==============================
   MOBILE
============================== */

@media(max-width:480px){

    .topbar{

        height:60px;

    }

    .logo{

        font-size:21px;

    }

}

/* ===========================================
   HEADER V2
=========================================== */

.logo-area{

    display:flex;
    align-items:center;
    gap:12px;

}

.logo-icon{

    width:46px;
    height:46px;

    border-radius:14px;

    background:linear-gradient(
    135deg,
    #2f8cff,
    #58c7ff);

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

    font-weight:bold;

    color:white;

}

.logo-text h2{

    font-size:20px;

}

.logo-text small{

    color:#9cc6ea;

    font-size:12px;

}

.header-right{

    display:flex;

    align-items:center;

    gap:15px;

}

.notify-btn{

    width:42px;

    height:42px;

    border-radius:50%;

    background:#1b3553;

    color:white;

    font-size:18px;

}

.profile-box{

    display:flex;

    align-items:center;

    gap:10px;

}

.profile-avatar{

    width:42px;

    height:42px;

    border-radius:50%;

    background:linear-gradient(
    135deg,
    #3d97ff,
    #63d3ff);

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:bold;

}

.profile-name{

    display:flex;

    flex-direction:column;

}

.profile-name strong{

    font-size:14px;

}

.profile-name small{

    color:#9bc3e5;

    font-size:11px;

}

.page-content{

    animation:fade .4s ease;

}

/* ===========================================
   LOADING
=========================================== */

.loading-overlay{

    position:fixed;

    inset:0;

    background:rgba(5,15,28,.92);

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

    transition:.35s;

}

.loading-overlay.hide{

    opacity:0;

    visibility:hidden;

}

.loading-box{

    text-align:center;

}

.loader{

    width:55px;

    height:55px;

    border:5px solid rgba(255,255,255,.15);

    border-top:5px solid #42a5ff;

    border-radius:50%;

    animation:spin 1s linear infinite;

    margin:auto;

}

.loading-box p{

    margin-top:18px;

    color:white;

    font-size:15px;

}

@keyframes spin{

    100%{

        transform:rotate(360deg);

    }

}


/* ===========================================
   TOAST
=========================================== */

.toast{

    position:fixed;

    left:50%;

    bottom:90px;

    transform:translateX(-50%);

    background:#1f3f63;

    color:white;

    padding:14px 22px;

    border-radius:12px;

    opacity:0;

    transition:.3s;

    pointer-events:none;

    z-index:999999;

}

.toast.show{

    opacity:1;

    bottom:105px;

}


/* ===========================================
   BUTTON CLICK
=========================================== */

button.clicked{

    transform:scale(.96);

}