/* ==========================================
   REWRD TOPBAR
   ========================================== */

.topbar{

    min-height:112px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

    padding:0 40px;

    background:transparent;

    border-bottom:none;

}

/* ========================================== */

.topbar-title {

    display: flex;

    flex-direction: column;

    justify-content: center;

    gap: 6px;

    flex-shrink: 0;
}


.topbar-title-main {

    font-size: 26px;

    font-weight: 700;

    color: #ffffff;

    letter-spacing: .2px;

    line-height: 1.15;
}


.topbar-title-description {

    font-size: 14px;

    font-weight: 400;

    color: #91a4b8;

    line-height: 1.3;
}

/* ========================================== */

.topbar-right{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:18px;

    margin-left:auto;

}

/* ========================================== */
/* SEARCH */
/* ========================================== */

.search-box{

    width:360px;

    height:48px;

    display:flex;

    align-items:center;

    gap:14px;

    padding:0 18px;

    border-radius:26px;

    background:

        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

    transition:.30s;

}

/* ========================================== */

.search-box:hover{

    border-color:rgba(64,170,255,.30);

}

/* ========================================== */

.search-box i{

    color:#6faeff;

    font-size:15px;

}

/* ========================================== */

.search-box input{

    flex:1;

    background:none;

    border:none;

    outline:none;

    color:white;

    font-size:14px;

}

/* ========================================== */

.search-box input::placeholder{

    color:#93a6b8;

}

/* ========================================== */
/* BELL */
/* ========================================== */

.notification-btn{

    width:46px;
    height:46px;

    padding:0;
    margin:0;

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

    position:relative;

    border-radius:50%;

    cursor:pointer;

    color:white;

    font-size:18px;
    line-height:1;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    transition:.30s;

}

.notification-btn > i {

    display:block;

    margin:0;

    line-height:1;

}

/* ========================================== */

.notification-btn:hover{

    transform:translateY(-2px);

    border-color:rgba(64,170,255,.30);

}

/* ========================================== */
/* USER */
/* ========================================== */

.user-box{

    display:flex;

    align-items:center;

    gap:12px;

    padding:6px 8px;

    border-radius:30px;

    transition:.25s;

}

/* ========================================== */

.user-box:hover{

    background:rgba(255,255,255,.03);

}

/* ========================================== */

.avatar{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:700;

    color:white;

    background:

        linear-gradient(
            135deg,
            #1f84ff,
            #29b8ff
        );

    box-shadow:

        0 10px 25px rgba(45,155,255,.25);

}

/* ========================================== */

.user-box span{

    color:white;

    font-size:14px;

    font-weight:600;

}

/* ==========================================================
   NOTIFICAÇÕES ADMIN
   ========================================================== */

.notification-menu {

    position: relative;

}


.notification-menu summary {

    list-style: none;

}


.notification-menu summary::-webkit-details-marker {

    display: none;

}


.notification-btn {

    position: relative;

}


.notification-badge {

    position:absolute;

    top:3px;
    right:3px;

    min-width:16px;
    height:16px;

    padding:0 4px;

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

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            #ff6474,
            #dc3545
        );

    color:#ffffff;

    font-size:9px;
    font-weight:750;
    line-height:1;

    border:2px solid #0d2031;

    box-shadow:
        0 4px 12px rgba(220,53,69,.28);

}


.notification-panel {

    position: absolute;

    top: calc(100% + 14px);
    right: 0;

    z-index: 1000;

    width: 340px;

    overflow: hidden;

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(18,39,58,.98),
            rgba(7,22,36,.99)
        );

    border:
        1px solid rgba(105,155,195,.14);

    box-shadow:
        0 24px 60px rgba(0,0,0,.38),
        inset 0 1px 0 rgba(255,255,255,.035);

    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);

}


.notification-panel-header {

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

    padding: 17px 18px;

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

}


.notification-panel-header strong {

    display: block;

    color: #ffffff;

    font-size: 13px;
    font-weight: 650;

}


.notification-panel-header span {

    display: block;

    margin-top: 2px;

    color: #70879b;

    font-size: 10px;

}


.notification-total {

    min-width: 23px;

    padding: 4px 7px;

    text-align: center;

    border-radius: 999px;

    color: #78bfff !important;

    background:
        rgba(42,145,255,.09);

    border:
        1px solid rgba(70,165,255,.12);

    font-size: 10px !important;
    font-weight: 700;

}


.notification-item {

    display: flex;
    align-items: center;

    gap: 11px;

    padding: 14px 17px;

    text-decoration: none;

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

    transition:
        background .2s ease;

}


.notification-item:hover {

    background:
        rgba(255,255,255,.035);

}


.notification-item-icon {

    width: 36px;
    height: 36px;

    flex-shrink: 0;

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

    border-radius: 11px;

    font-size: 12px;

}


.notification-item-icon.blue {

    color: #68baff;

    background:
        rgba(42,145,255,.09);

}


.notification-item-icon.gold {

    color: #e0ba59;

    background:
        rgba(224,186,89,.08);

}


.notification-item-content {

    flex: 1;

    min-width: 0;

}


.notification-item-content strong {

    display: block;

    color: #dce8f2;

    font-size: 11.5px;
    font-weight: 600;

}


.notification-item-content span {

    display: block;

    margin-top: 3px;

    color: #71899d;

    font-size: 10px;

    line-height: 1.4;

}


.notification-item > i {

    color: #526d83;

    font-size: 9px;

}


.notification-empty {

    padding: 30px 20px;

    display: flex;
    flex-direction: column;

    align-items: center;

    text-align: center;

}


.notification-empty > i {

    margin-bottom: 9px;

    color: #63c990;

    font-size: 20px;

}


.notification-empty strong {

    color: #dce8f2;

    font-size: 12px;

}


.notification-empty span {

    margin-top: 4px;

    color: #71899d;

    font-size: 10px;

}


@media (max-width: 600px) {

    .notification-panel {

        width: min(
            330px,
            calc(100vw - 30px)
        );

    }

}