:root{
    --bg:#f7f9fc;
    --card:#ffffff;
    --text:#111827;
    --muted:#748197;
    --border:#e6eaf0;
    --sidebar:#0f1b2e;
    --sidebar2:#162844;
    --pink:#ef2f7c;
    --pink2:#ff4a93;
    --purple:#a336e8;
    --blue:#1279ff;
    --green:#29c35a;
    --orange:#ff7a16;
    --shadow:0 10px 28px rgba(16,24,40,.07);
    --radius:18px;
}

*{box-sizing:border-box}

body{
    margin:0;
    min-height:100vh;
    font-family:Inter, "Segoe UI", Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}

a{text-decoration:none}
button,input,select,textarea{font-family:inherit}

.easy-wrapper{display:flex;min-height:100vh}

.sidebar{
    width:260px;
    min-width:260px;
    height:100vh;
    position:fixed;
    left:0;
    top:0;
    z-index:50;
    background:linear-gradient(180deg,#101a2c 0%,#13233d 52%,#173256 100%);
    padding:22px 12px;
    color:#fff;
    overflow-y:auto;
    box-shadow:8px 0 28px rgba(16,24,40,.12);
}

.sidebar-logo{
    display:flex;
    align-items:center;
    gap:12px;
    padding:4px 16px 26px;
    font-size:23px;
    letter-spacing:-.5px;
}

.logo-mark{
    width:32px;
    height:32px;
    position:relative;
}

.logo-mark span{
    width:17px;
    height:17px;
    border-radius:9px;
    background:var(--pink);
    position:absolute;
}

.logo-mark span:nth-child(1){left:7px;top:0}
.logo-mark span:nth-child(2){right:0;top:7px}
.logo-mark span:nth-child(3){left:7px;bottom:0}
.logo-mark span:nth-child(4){left:0;top:7px}

.sidebar-menu{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.menu-item{
    min-height:48px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:0 16px;
    color:#dbe5f3;
    text-decoration:none;
    border-radius:8px;
    font-size:15px;
    position:relative;
    transition:.2s ease;
}

.menu-item svg{width:21px;height:21px;stroke-width:2}

.menu-item:hover,
.menu-item.active{
    color:#fff;
    background:linear-gradient(90deg,rgba(239,47,124,.58),rgba(239,47,124,.28));
}

.menu-item.has-badge b{
    margin-left:auto;
    min-width:20px;
    height:20px;
    background:var(--pink2);
    color:#fff;
    border-radius:999px;
    display:grid;
    place-items:center;
    font-size:11px;
}

.sidebar-section-title{
    color:#9fb0c7;
    font-size:11px;
    letter-spacing:.7px;
    margin:28px 16px 12px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.15);
}

.sidebar-user{
    margin:70px 10px 0;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.15);
    display:flex;
    align-items:center;
    gap:12px;
}

.sidebar-user img{
    width:48px;
    height:48px;
    border-radius:50%;
    object-fit:cover;
}

.sidebar-user div{display:flex;flex-direction:column;gap:3px}
.sidebar-user strong{font-size:15px}
.sidebar-user small{font-size:13px;color:#b9c5d6}
.sidebar-user svg{margin-left:auto;width:18px;color:#b9c5d6}

.main{
    margin-left:260px;
    width:calc(100% - 260px);
    min-height:100vh;
}

.topbar{
    height:62px;
    background:rgba(255,255,255,.78);
    backdrop-filter:blur(14px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 34px;
    border-bottom:1px solid var(--border);
    position:sticky;
    top:0;
    z-index:30;
}

.icon-btn{
    width:40px;
    height:40px;
    border:0;
    background:transparent;
    display:grid;
    place-items:center;
    border-radius:12px;
    color:#59657a;
    cursor:pointer;
    position:relative;
}

.icon-btn:hover{background:#f1f4f8;color:var(--text)}
.icon-btn svg{width:22px;height:22px}

.topbar-actions{
    display:flex;
    align-items:center;
    gap:18px;
}

.notification-btn span{
    position:absolute;
    top:3px;
    right:3px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:var(--pink2);
    color:#fff;
    font-size:11px;
    display:grid;
    place-items:center;
}

.search-box{
    width:250px;
    height:40px;
    border:1px solid var(--border);
    background:#fff;
    border-radius:12px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 12px;
}

.search-box svg{
    width:18px;
    color:#7b8798;
}

.search-box input{
    border:0;
    outline:0;
    width:100%;
    background:transparent;
}

.page-content{
    padding:28px 36px 18px;
}

.footer{
    height:42px;
    margin:0 36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#99a5b8;
    font-size:12px;
    border-top:1px solid var(--border);
}

.alert{
    padding:14px 18px;
    border-radius:12px;
    margin-bottom:18px;
    font-size:14px;
}

.alert.success{background:#e8fff0;color:#168a42;border:1px solid #c8f7d6}
.alert.error{background:#fff0f3;color:#be123c;border:1px solid #ffd1dc}

.module-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:22px;
}

.module-header h1{
    margin:0 0 8px;
    font-size:28px;
    font-weight:800;
}

.module-header p{
    margin:0;
    color:var(--muted);
}

.panel{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:12px;
    box-shadow:var(--shadow);
    padding:22px 24px;
}

.btn-new{
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 22px;
    border-radius:9px;
    color:#fff;
    background:linear-gradient(135deg,var(--pink),var(--pink2));
    border:0;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 12px 22px rgba(239,47,124,.24);
}

.btn-muted{
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 22px;
    border-radius:9px;
    background:#eef2f7;
    color:#334155;
    border:0;
    cursor:pointer;
}

.table-tools{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}

.table-tools form{
    display:flex;
    gap:10px;
    width:100%;
    max-width:480px;
}

.table-tools input,
.form-group input,
.form-group select,
.form-group textarea{
    width:100%;
    height:44px;
    border:1px solid var(--border);
    border-radius:10px;
    padding:0 14px;
    outline:0;
    background:#fff;
    color:#1f2937;
}

.form-group textarea{
    height:120px;
    padding-top:12px;
    resize:vertical;
}

.table-tools button{
    height:44px;
    padding:0 16px;
    border:0;
    background:#111827;
    color:#fff;
    border-radius:10px;
    cursor:pointer;
}

.responsive-table{overflow-x:auto}

.table-modern{
    width:100%;
    border-collapse:collapse;
}

.table-modern th{
    text-align:left;
    color:#64748b;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.5px;
    padding:14px 12px;
    border-bottom:1px solid var(--border);
}

.table-modern td{
    padding:14px 12px;
    border-bottom:1px solid var(--border);
    color:#263550;
    font-size:14px;
}

.table-modern .empty{
    text-align:center;
    color:#8794a8;
    padding:35px;
}

.actions{
    display:flex;
    gap:8px;
    align-items:center;
}

.actions a,
.actions button{
    border:0;
    background:#f1f5f9;
    color:#334155;
    padding:8px 10px;
    border-radius:8px;
    font-size:12px;
    cursor:pointer;
}

.actions form{display:inline}

.form-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:12px;
    box-shadow:var(--shadow);
    padding:24px;
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.form-group label{
    display:block;
    margin-bottom:7px;
    color:#334155;
    font-size:14px;
    font-weight:700;
}

.field-error{
    display:block;
    color:#be123c;
    margin-top:6px;
}

.form-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:22px;
}

.detail-row{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:14px 0;
    border-bottom:1px solid var(--border);
}

.detail-row strong{color:#334155}
.detail-row span{color:#64748b}

.auth-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#101a2c,#173256);
    padding:20px;
}

.auth-card{
    width:100%;
    max-width:430px;
    background:#fff;
    border-radius:22px;
    padding:34px;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.auth-logo{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:24px;
    color:#111827;
    font-size:24px;
}

.auth-card h1{
    margin:0 0 8px;
    font-size:28px;
}

.auth-card p{
    margin:0 0 22px;
    color:#64748b;
}

.auth-card label{
    display:block;
    margin:14px 0 7px;
    font-weight:700;
    color:#334155;
}

.auth-card input{
    width:100%;
    height:46px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    padding:0 14px;
}

.auth-submit{
    width:100%;
    margin-top:22px;
}

@media(max-width:1100px){
    .sidebar{transform:translateX(-100%);transition:.25s}
    .sidebar.open{transform:translateX(0)}
    .main{margin-left:0;width:100%}
    .page-content{padding:22px}
}

@media(max-width:720px){
    .topbar{padding:0 16px}
    .search-box{display:none}
    .form-grid{grid-template-columns:1fr}
    .module-header{flex-direction:column;gap:16px}
    .footer{margin:0 22px;flex-direction:column;height:auto;padding:12px 0;gap:6px}
}



/* ==========================================================
   EASYWEEK - SIDEBAR ADMIN FINAL CORRIGIDO
   Resolve card branco, links azuis e menu desalinhado.
   ========================================================== */

.sidebar-user-wrapper{
    position:relative !important;
    margin:70px 10px 0 !important;
    padding-top:20px !important;
    border-top:1px solid rgba(255,255,255,.15) !important;
    display:block !important;
    background:transparent !important;
    box-shadow:none !important;
}

.sidebar-user{
    width:100% !important;
    min-height:52px !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:0 !important;
    color:#fff !important;
    cursor:pointer !important;
    text-align:left !important;
    border-radius:14px !important;
    font-family:inherit !important;
    box-shadow:none !important;
}

.sidebar-user:hover{
    background:rgba(255,255,255,.06) !important;
}

.sidebar-user.open{
    background:rgba(255,255,255,.08) !important;
}

.sidebar-user img{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    background:#e2e8f0 !important;
    border:0 !important;
    box-shadow:none !important;
}

.sidebar-user-info,
.sidebar-user div{
    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;
    flex:1 !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
}

.sidebar-user strong{
    font-size:15px !important;
    line-height:1.1 !important;
    color:#fff !important;
    font-weight:700 !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.sidebar-user small{
    font-size:13px !important;
    line-height:1.1 !important;
    color:#b9c5d6 !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.sidebar-user-arrow{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    color:#b9c5d6 !important;
    margin-left:auto !important;
    transition:transform .2s ease !important;
}

.sidebar-user.open .sidebar-user-arrow{
    transform:rotate(-90deg) !important;
}

.sidebar-user-menu{
    display:none !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:64px !important;
    width:auto !important;
    margin:0 !important;
    padding:8px !important;
    background:#10213a !important;
    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:14px !important;
    box-shadow:0 18px 35px rgba(0,0,0,.32) !important;
    z-index:999999 !important;
}

.sidebar-user-menu.open{
    display:flex !important;
    flex-direction:column !important;
    gap:4px !important;
}

.sidebar-user-menu a,
.sidebar-user-menu button{
    width:100% !important;
    min-height:40px !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    color:#dbe5f3 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    padding:0 12px !important;
    border-radius:10px !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:500 !important;
    cursor:pointer !important;
    font-family:inherit !important;
    box-sizing:border-box !important;
    text-align:left !important;
    line-height:1 !important;
}

.sidebar-user-menu a:visited{
    color:#dbe5f3 !important;
}

.sidebar-user-menu a:hover,
.sidebar-user-menu button:hover{
    background:linear-gradient(90deg,rgba(239,47,124,.58),rgba(239,47,124,.28)) !important;
    color:#fff !important;
}

.sidebar-user-menu svg{
    width:17px !important;
    height:17px !important;
    min-width:17px !important;
    color:currentColor !important;
    margin:0 !important;
}

.sidebar-user-menu span{
    color:inherit !important;
    font-size:14px !important;
}

.sidebar-user-menu form{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
}


/* ==========================================================
   EASYWEEK - SIDEBAR TOGGLE/COLLAPSE CORRIGIDO COMPLETO
   Este bloco precisa ficar no FINAL do admin.css
========================================================== */

/* estado normal */
.sidebar{
    transition: width .25s ease, min-width .25s ease, transform .25s ease !important;
}

.main{
    transition: margin-left .25s ease, width .25s ease !important;
}

/* estado recolhido no desktop */
body.sidebar-collapsed .sidebar,
.sidebar.collapsed{
    width:88px !important;
    min-width:88px !important;
    overflow-x:hidden !important;
}

/* ajusta o conteúdo quando recolher */
body.sidebar-collapsed .main,
.sidebar.collapsed + .main,
.sidebar.collapsed ~ .main{
    margin-left:88px !important;
    width:calc(100% - 88px) !important;
}

/* esconder textos quando recolhido */
body.sidebar-collapsed .sidebar .sidebar-logo strong,
body.sidebar-collapsed .sidebar .menu-item span,
body.sidebar-collapsed .sidebar .menu-item b,
body.sidebar-collapsed .sidebar .sidebar-section-title,
body.sidebar-collapsed .sidebar .sidebar-user-info,
body.sidebar-collapsed .sidebar .sidebar-user div,
body.sidebar-collapsed .sidebar .sidebar-user-arrow,
body.sidebar-collapsed .sidebar .sidebar-user small,
body.sidebar-collapsed .sidebar .sidebar-user strong,
.sidebar.collapsed .sidebar-logo strong,
.sidebar.collapsed .menu-item span,
.sidebar.collapsed .menu-item b,
.sidebar.collapsed .sidebar-section-title,
.sidebar.collapsed .sidebar-user-info,
.sidebar.collapsed .sidebar-user div,
.sidebar.collapsed .sidebar-user-arrow,
.sidebar.collapsed .sidebar-user small,
.sidebar.collapsed .sidebar-user strong{
    display:none !important;
}

/* centraliza ícones */
body.sidebar-collapsed .sidebar .sidebar-logo,
.sidebar.collapsed .sidebar-logo{
    justify-content:center !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

body.sidebar-collapsed .sidebar .menu-item,
.sidebar.collapsed .menu-item{
    justify-content:center !important;
    padding:0 !important;
    gap:0 !important;
}

body.sidebar-collapsed .sidebar .menu-item svg,
.sidebar.collapsed .menu-item svg{
    margin:0 !important;
    width:23px !important;
    height:23px !important;
}

body.sidebar-collapsed .sidebar .sidebar-user,
.sidebar.collapsed .sidebar-user{
    justify-content:center !important;
    padding:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

body.sidebar-collapsed .sidebar .sidebar-user img,
.sidebar.collapsed .sidebar-user img{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
}

/* evita que menu do usuário fique aberto quando sidebar estiver fechada */
body.sidebar-collapsed .sidebar .sidebar-user-menu,
.sidebar.collapsed .sidebar-user-menu{
    display:none !important;
}

/* botão menu */
.sidebar-toggle{
    cursor:pointer !important;
}

/* mobile: o botão abre/fecha lateral inteira */
@media(max-width:1100px){

    body.sidebar-collapsed .sidebar,
    .sidebar.collapsed{
        width:260px !important;
        min-width:260px !important;
    }

    body.sidebar-collapsed .main,
    .sidebar.collapsed + .main,
    .sidebar.collapsed ~ .main{
        margin-left:0 !important;
        width:100% !important;
    }

    body.sidebar-collapsed .sidebar .sidebar-logo strong,
    body.sidebar-collapsed .sidebar .menu-item span,
    body.sidebar-collapsed .sidebar .menu-item b,
    body.sidebar-collapsed .sidebar .sidebar-section-title,
    body.sidebar-collapsed .sidebar .sidebar-user-info,
    body.sidebar-collapsed .sidebar .sidebar-user div,
    body.sidebar-collapsed .sidebar .sidebar-user-arrow,
    body.sidebar-collapsed .sidebar .sidebar-user small,
    body.sidebar-collapsed .sidebar .sidebar-user strong,
    .sidebar.collapsed .sidebar-logo strong,
    .sidebar.collapsed .menu-item span,
    .sidebar.collapsed .menu-item b,
    .sidebar.collapsed .sidebar-section-title,
    .sidebar.collapsed .sidebar-user-info,
    .sidebar.collapsed .sidebar-user div,
    .sidebar.collapsed .sidebar-user-arrow,
    .sidebar.collapsed .sidebar-user small,
    .sidebar.collapsed .sidebar-user strong{
        display:flex !important;
    }

    .sidebar.collapsed .menu-item{
        justify-content:flex-start !important;
        padding:0 16px !important;
        gap:14px !important;
    }

    .sidebar.collapsed .sidebar-logo{
        justify-content:flex-start !important;
        padding:4px 16px 26px !important;
    }

    .sidebar.collapsed .sidebar-user{
        justify-content:flex-start !important;
    }
}



/* ==========================================================
   LOGO + NOME DINÂMICOS EM TODO O SISTEMA
========================================================== */

.sidebar-logo{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:4px 16px 26px !important;
    overflow:hidden !important;
}

.sidebar-logo-image-box{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    max-width:32px !important;
    min-height:32px !important;
    max-height:32px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:9px !important;
    background:#ffffff !important;
    padding:3px !important;
}

.sidebar-logo-img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center !important;
    border-radius:6px !important;
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

.sidebar-logo strong{
    color:#fff !important;
    font-size:23px !important;
    font-weight:800 !important;
    letter-spacing:-.5px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    max-width:165px !important;
    display:block !important;
}

.auth-logo{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    margin-bottom:24px !important;
}

.auth-logo-image-box{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:12px !important;
    background:#ffffff !important;
    padding:4px !important;
    border:1px solid #e6eaf0 !important;
}

.auth-logo-img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    display:block !important;
}

.auth-logo strong{
    color:#111827 !important;
    font-size:24px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.config-logo-upload{
    max-width:420px;
    padding:16px;
    border:1px dashed var(--border);
    border-radius:16px;
    background:#f8fafc;
}

.config-logo-preview{
    width:150px;
    height:86px;
    border-radius:14px;
    background:#0f1b2e;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    margin-bottom:12px;
    border:3px solid #fff;
    box-shadow:0 8px 22px rgba(15,23,42,.12);
}

.config-logo-preview img{
    max-width:125px !important;
    max-height:62px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    display:block !important;
}

.config-logo-fallback{
    color:#fff;
    font-size:26px;
    font-weight:900;
}

.config-logo-upload input[type="file"]{
    width:100%;
    border:1px solid var(--border);
    background:#fff;
    border-radius:12px;
    padding:10px;
}

.config-logo-upload small{
    display:block;
    margin-top:8px;
    color:#64748b;
}



/* ==========================================================
   SIDEBAR LOGO PROFISSIONAL - SEM BORDA, GRANDE E DESTACADA
   Correção final para logo horizontal Yasmini Oliveira Studio
========================================================== */

.sidebar-logo,
.sidebar-brand,
.logo-area,
.brand-area{
    width:100% !important;
    min-height:112px !important;
    padding:20px 16px 22px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;

    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    overflow:visible !important;
}

.sidebar-logo-image-box,
.logo-box,
.brand-logo-box,
.sidebar-logo .logo-box,
.sidebar-logo .sidebar-logo-image-box{
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;

    padding:0 !important;
    margin:0 !important;

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

    background:transparent !important;
    border:none !important;
    outline:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
}

.sidebar-logo img,
.sidebar-brand img,
.logo-area img,
.brand-area img,
.sidebar-logo-img,
.sidebar-brand-logo{
    width:100% !important;
    max-width:205px !important;
    min-width:170px !important;

    height:auto !important;
    max-height:96px !important;
    min-height:auto !important;

    object-fit:contain !important;
    object-position:center !important;

    display:block !important;

    padding:0 !important;
    margin:0 auto !important;

    background:transparent !important;
    border:none !important;
    outline:none !important;
    border-radius:0 !important;
    box-shadow:none !important;

    filter:
        drop-shadow(0 0 5px rgba(255,255,255,.22))
        drop-shadow(0 0 16px rgba(220,170,86,.45))
        drop-shadow(0 10px 24px rgba(0,0,0,.45)) !important;
}

.sidebar-logo strong,
.sidebar-brand strong,
.logo-area strong,
.brand-area strong,
.sidebar-logo .brand-name,
.sidebar-logo .logo-text{
    display:none !important;
}

body.sidebar-collapsed .sidebar-logo,
.sidebar.collapsed .sidebar-logo,
.sidebar.is-collapsed .sidebar-logo,
body.sidebar-mini .sidebar-logo{
    min-height:92px !important;
    padding:18px 8px !important;
    justify-content:center !important;
}

body.sidebar-collapsed .sidebar-logo img,
.sidebar.collapsed .sidebar-logo img,
.sidebar.is-collapsed .sidebar-logo img,
body.sidebar-mini .sidebar-logo img,
body.sidebar-collapsed .sidebar-logo-img,
.sidebar.collapsed .sidebar-logo-img,
.sidebar.is-collapsed .sidebar-logo-img{
    max-width:64px !important;
    min-width:64px !important;
    max-height:64px !important;
    width:64px !important;
    height:auto !important;

    object-fit:contain !important;
    background:transparent !important;
    border:none !important;
    border-radius:0 !important;
    padding:0 !important;
    box-shadow:none !important;

    filter:
        drop-shadow(0 0 5px rgba(255,255,255,.20))
        drop-shadow(0 0 14px rgba(220,170,86,.45))
        drop-shadow(0 8px 18px rgba(0,0,0,.45)) !important;
}

@media (max-width: 768px){
    .sidebar-logo,
    .sidebar-brand,
    .logo-area,
    .brand-area{
        min-height:96px !important;
        padding:16px 12px 18px !important;
    }

    .sidebar-logo img,
    .sidebar-brand img,
    .logo-area img,
    .brand-area img,
    .sidebar-logo-img,
    .sidebar-brand-logo{
        max-width:175px !important;
        min-width:145px !important;
        max-height:82px !important;
    }
}

/* ==========================================================
   CORREÇÃO FINAL - SIDEBAR COM 2 LOGOS CONFIGURÁVEIS
   Aberta: logo completa | Fechada: logo mini
========================================================== */

.sidebar{
    width:260px !important;
    min-width:260px !important;
    height:100vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    scroll-behavior:smooth !important;
    scrollbar-width:thin !important;
    scrollbar-color:rgba(255,255,255,.08) transparent !important;
}

.sidebar::-webkit-scrollbar{
    width:4px !important;
}

.sidebar::-webkit-scrollbar-track{
    background:transparent !important;
}

.sidebar::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.08) !important;
    border-radius:999px !important;
    border:1px solid transparent !important;
    background-clip:padding-box !important;
}

.sidebar::-webkit-scrollbar-thumb:hover{
    background:rgba(255,255,255,.18) !important;
}

.main{
    margin-left:260px !important;
    width:calc(100% - 260px) !important;
    transition:margin-left .25s ease, width .25s ease !important;
}

.sidebar .sidebar-logo{
    width:100% !important;
    height:154px !important;
    min-height:154px !important;
    padding:18px 12px 22px !important;
    margin:0 0 8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
}

.sidebar .sidebar-logo-img{
    display:block !important;
    object-fit:contain !important;
    object-position:center !important;
    background:transparent !important;
    border:0 !important;
    outline:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 auto !important;
}

.sidebar .sidebar-logo-full{
    width:220px !important;
    max-width:220px !important;
    min-width:0 !important;
    height:auto !important;
    max-height:118px !important;
    filter:drop-shadow(0 4px 14px rgba(0,0,0,.35)) !important;
}

.sidebar .sidebar-logo-mini{
    display:none !important;
    width:76px !important;
    max-width:76px !important;
    min-width:0 !important;
    height:auto !important;
    max-height:76px !important;
    filter:drop-shadow(0 4px 14px rgba(0,0,0,.35)) !important;
}

.sidebar .sidebar-logo-fallback{
    color:#fff !important;
    font-size:28px !important;
    font-weight:900 !important;
}

body.sidebar-collapsed .sidebar,
.sidebar.collapsed,
.sidebar.is-collapsed{
    width:88px !important;
    min-width:88px !important;
}

body.sidebar-collapsed .main,
.sidebar.collapsed + .main,
.sidebar.collapsed ~ .main,
.main.expanded{
    margin-left:88px !important;
    width:calc(100% - 88px) !important;
}

body.sidebar-collapsed .sidebar .sidebar-logo,
.sidebar.collapsed .sidebar-logo,
.sidebar.is-collapsed .sidebar-logo{
    height:118px !important;
    min-height:118px !important;
    padding:20px 6px 18px !important;
    margin-bottom:10px !important;
}

body.sidebar-collapsed .sidebar .sidebar-logo-full,
.sidebar.collapsed .sidebar-logo-full,
.sidebar.is-collapsed .sidebar-logo-full{
    display:none !important;
}

body.sidebar-collapsed .sidebar .sidebar-logo-mini,
.sidebar.collapsed .sidebar-logo-mini,
.sidebar.is-collapsed .sidebar-logo-mini{
    display:block !important;
}

body.sidebar-collapsed .sidebar .menu-item span,
body.sidebar-collapsed .sidebar .menu-item b,
body.sidebar-collapsed .sidebar .sidebar-section-title,
body.sidebar-collapsed .sidebar .sidebar-user-info,
body.sidebar-collapsed .sidebar .sidebar-user div,
body.sidebar-collapsed .sidebar .sidebar-user-arrow,
.sidebar.collapsed .menu-item span,
.sidebar.collapsed .menu-item b,
.sidebar.collapsed .sidebar-section-title,
.sidebar.collapsed .sidebar-user-info,
.sidebar.collapsed .sidebar-user div,
.sidebar.collapsed .sidebar-user-arrow{
    display:none !important;
}

body.sidebar-collapsed .sidebar .menu-item,
.sidebar.collapsed .menu-item{
    justify-content:center !important;
    padding:0 !important;
    gap:0 !important;
}

body.sidebar-collapsed .sidebar .menu-item svg,
.sidebar.collapsed .menu-item svg{
    width:24px !important;
    height:24px !important;
    margin:0 !important;
}

body.sidebar-collapsed .sidebar .sidebar-user,
.sidebar.collapsed .sidebar-user{
    justify-content:center !important;
    padding:0 !important;
}

body.sidebar-collapsed .sidebar .sidebar-user-menu,
.sidebar.collapsed .sidebar-user-menu{
    display:none !important;
}

/* Cards da tela de Configurações */
.config-logos-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(240px,1fr));
    gap:18px;
    grid-column:1/-1;
}

.config-logo-upload{
    width:100%;
    padding:18px;
    border:1px dashed #d9e1ec;
    border-radius:18px;
    background:#f8fafc;
}

.config-logo-upload label{
    display:block;
    margin-bottom:10px;
    color:#334155;
    font-size:14px;
    font-weight:800;
}

.config-logo-preview{
    width:100%;
    height:125px;
    border-radius:18px;
    background:linear-gradient(180deg,#101a2c 0%,#13233d 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    margin-bottom:12px;
    border:3px solid #fff;
    box-shadow:0 10px 24px rgba(15,23,42,.14);
}

.config-logo-preview.full img{
    max-width:230px !important;
    max-height:100px !important;
}

.config-logo-preview.mini img{
    max-width:86px !important;
    max-height:86px !important;
}

.config-logo-preview img{
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    display:block !important;
}

.config-logo-fallback{
    color:#fff;
    font-size:28px;
    font-weight:900;
}

.config-logo-upload input[type="file"]{
    width:100%;
    padding:10px;
    border:1px solid #d9e1ec;
    border-radius:12px;
    background:#fff;
}

.config-logo-upload small{
    display:block;
    margin-top:8px;
    color:#64748b;
}

.config-logo-remove{
    margin-top:10px;
    display:flex;
    align-items:center;
    gap:8px;
    color:#64748b;
    font-size:13px;
}

.config-logo-remove input{
    width:auto !important;
    height:auto !important;
}

@media(max-width:1100px){
    .sidebar{
        width:260px !important;
        min-width:260px !important;
        transform:translateX(-100%) !important;
    }

    .sidebar.open{
        transform:translateX(0) !important;
    }

    .main,
    body.sidebar-collapsed .main,
    .main.expanded{
        margin-left:0 !important;
        width:100% !important;
    }

    body.sidebar-collapsed .sidebar,
    .sidebar.collapsed{
        width:260px !important;
        min-width:260px !important;
    }

    body.sidebar-collapsed .sidebar .sidebar-logo-full,
    .sidebar.collapsed .sidebar-logo-full{
        display:block !important;
    }

    body.sidebar-collapsed .sidebar .sidebar-logo-mini,
    .sidebar.collapsed .sidebar-logo-mini{
        display:none !important;
    }

    body.sidebar-collapsed .sidebar .menu-item span,
    body.sidebar-collapsed .sidebar .menu-item b,
    body.sidebar-collapsed .sidebar .sidebar-section-title,
    body.sidebar-collapsed .sidebar .sidebar-user-info,
    body.sidebar-collapsed .sidebar .sidebar-user div,
    body.sidebar-collapsed .sidebar .sidebar-user-arrow,
    .sidebar.collapsed .menu-item span,
    .sidebar.collapsed .menu-item b,
    .sidebar.collapsed .sidebar-section-title,
    .sidebar.collapsed .sidebar-user-info,
    .sidebar.collapsed .sidebar-user div,
    .sidebar.collapsed .sidebar-user-arrow{
        display:initial !important;
    }

    .sidebar.collapsed .menu-item,
    body.sidebar-collapsed .sidebar .menu-item{
        justify-content:flex-start !important;
        padding:0 16px !important;
        gap:14px !important;
    }
}

@media(max-width:720px){
    .config-logos-grid{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   CORREÇÃO FINAL - DROPDOWN DE NOTIFICAÇÕES CENTRALIZADO
   Mobile / tablet / telas pequenas
   Coloque este bloco no FINAL do admin.css
========================================================== */

.topbar-notification-dropdown,
.easyweek-notification-menu,
.notifications-dropdown{
    box-sizing:border-box !important;
}

.notification-dropdown-item,
.easyweek-notification-item{
    max-width:100% !important;
    overflow:hidden !important;
}

.notification-dropdown-item > div,
.easyweek-notification-item > div,
.notification-content{
    min-width:0 !important;
    max-width:100% !important;
}

.notification-dropdown-item strong,
.notification-dropdown-item small,
.easyweek-notification-item strong,
.easyweek-notification-item small,
.notification-content strong,
.notification-content p{
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:normal !important;
    word-break:break-word !important;
}

.notification-dropdown-item small,
.easyweek-notification-item small,
.notification-content p{
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
}

@media(max-width:900px){
    html,body{
        overflow-x:hidden !important;
    }

    .topbar{
        width:100% !important;
        max-width:100vw !important;
        overflow:visible !important;
    }

    .topbar-actions,
    .topbar-notification-wrapper,
    .easyweek-notification-box,
    .notifications-wrapper{
        position:static !important;
    }

    .topbar-notification-dropdown,
    .easyweek-notification-menu,
    .notifications-dropdown{
        position:fixed !important;
        top:74px !important;
        left:50% !important;
        right:auto !important;
        transform:translateX(-50%) !important;
        width:min(370px, calc(100vw - 24px)) !important;
        min-width:0 !important;
        max-width:calc(100vw - 24px) !important;
        max-height:calc(100vh - 92px) !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        padding:12px !important;
        border-radius:18px !important;
        z-index:999999 !important;
    }

    .topbar-notification-dropdown.open,
    .easyweek-notification-menu.open,
    .notifications-dropdown.open,
    .notifications-dropdown.active{
        display:block !important;
    }

    .notification-dropdown-header,
    .easyweek-notification-head,
    .notifications-header{
        position:sticky !important;
        top:0 !important;
        z-index:3 !important;
        background:#fff !important;
        padding:10px 8px 12px !important;
        margin:0 0 6px !important;
    }

    [data-notification-list],
    .notifications-list{
        max-height:calc(100vh - 230px) !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        padding-right:2px !important;
    }

    .notification-dropdown-item,
    .easyweek-notification-item,
    .notification-item{
        width:100% !important;
        display:flex !important;
        align-items:flex-start !important;
        gap:10px !important;
        padding:12px 8px !important;
        border-radius:12px !important;
    }

    .notification-dot,
    .easyweek-notification-item b{
        flex:0 0 8px !important;
        margin-top:7px !important;
    }

    .notification-view-all,
    .easyweek-notification-all{
        position:sticky !important;
        bottom:0 !important;
        width:100% !important;
        min-height:44px !important;
        margin-top:8px !important;
        border-radius:12px !important;
        background:#fff2f7 !important;
        text-align:center !important;
        white-space:nowrap !important;
    }
}

@media(max-width:480px){
    .topbar{
        padding:0 10px !important;
    }

    .topbar-actions{
        gap:7px !important;
    }

    .icon-btn{
        width:40px !important;
        min-width:40px !important;
        height:40px !important;
    }

    .topbar-notification-dropdown,
    .easyweek-notification-menu,
    .notifications-dropdown{
        top:68px !important;
        width:calc(100vw - 20px) !important;
        max-width:calc(100vw - 20px) !important;
        max-height:calc(100vh - 82px) !important;
        border-radius:16px !important;
    }

    [data-notification-list],
    .notifications-list{
        max-height:calc(100vh - 215px) !important;
    }
}


/* ==========================================================
   CORREÇÃO DEFINITIVA MOBILE/TABLET - TOPBAR + NOTIFICAÇÕES
   Mantém dropdown centralizado e impede corte lateral.
========================================================== */
@media (max-width: 900px){

    html,
    body{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    .easy-wrapper,
    .main,
    .page-content{
        width:100% !important;
        max-width:100vw !important;
        overflow-x:hidden !important;
    }

    .main,
    body.sidebar-collapsed .main,
    .sidebar.collapsed + .main,
    .sidebar.collapsed ~ .main,
    .main.expanded{
        margin-left:0 !important;
        width:100% !important;
    }

    .topbar{
        width:100% !important;
        max-width:100vw !important;
        height:64px !important;
        padding:0 12px !important;
        overflow:visible !important;
        position:sticky !important;
        top:0 !important;
        z-index:99990 !important;
    }

    .topbar-actions{
        margin-left:auto !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:8px !important;
        min-width:0 !important;
        max-width:calc(100vw - 68px) !important;
        overflow:visible !important;
    }

    .search-box{
        display:none !important;
    }

    .icon-btn{
        width:40px !important;
        min-width:40px !important;
        height:40px !important;
        border-radius:12px !important;
        flex:0 0 40px !important;
    }

    .notification-btn span,
    [data-notification-badge]{
        top:1px !important;
        right:1px !important;
        min-width:18px !important;
        width:auto !important;
        height:18px !important;
        padding:0 5px !important;
        font-size:10px !important;
        line-height:18px !important;
    }

    .topbar-notification-wrapper,
    .easyweek-notification-box,
    .notifications-wrapper{
        position:static !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .topbar-notification-dropdown,
    .easyweek-notification-menu,
    .notifications-dropdown{
        position:fixed !important;
        top:72px !important;
        left:50% !important;
        right:auto !important;
        transform:translateX(-50%) !important;

        width:min(360px, calc(100vw - 24px)) !important;
        min-width:0 !important;
        max-width:calc(100vw - 24px) !important;

        max-height:calc(100vh - 88px) !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;

        padding:12px !important;
        border-radius:18px !important;
        background:#fff !important;
        box-shadow:0 18px 45px rgba(15,23,42,.18) !important;
        z-index:999999 !important;
        box-sizing:border-box !important;
    }

    .topbar-notification-dropdown.open,
    .easyweek-notification-menu.open,
    .notifications-dropdown.open,
    .notifications-dropdown.active{
        display:block !important;
    }

    .notification-dropdown-header,
    .easyweek-notification-head,
    .notifications-header{
        position:sticky !important;
        top:0 !important;
        z-index:5 !important;
        background:#fff !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:10px !important;
        padding:10px 8px 12px !important;
        margin:0 0 6px !important;
        border-bottom:1px solid #eef2f7 !important;
    }

    .notification-dropdown-header strong,
    .easyweek-notification-head strong,
    .notifications-header h3{
        margin:0 !important;
        color:#111827 !important;
        font-size:15px !important;
        font-weight:900 !important;
        line-height:1.2 !important;
    }

    .notification-dropdown-header small,
    .easyweek-notification-head small{
        color:#ef2f7c !important;
        font-size:12px !important;
        font-weight:900 !important;
        white-space:nowrap !important;
    }

    [data-notification-list],
    .notifications-list{
        width:100% !important;
        max-height:calc(100vh - 226px) !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        padding-right:2px !important;
    }

    .notification-dropdown-item,
    .easyweek-notification-item,
    .notification-item{
        width:100% !important;
        max-width:100% !important;
        display:flex !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        gap:10px !important;
        padding:12px 8px !important;
        border-radius:12px !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }

    .notification-dropdown-item > div,
    .easyweek-notification-item > div,
    .notification-content{
        min-width:0 !important;
        width:100% !important;
        max-width:100% !important;
        display:flex !important;
        flex-direction:column !important;
        gap:4px !important;
    }

    .notification-dot,
    .easyweek-notification-item b{
        width:8px !important;
        height:8px !important;
        min-width:8px !important;
        flex:0 0 8px !important;
        border-radius:50% !important;
        margin-top:7px !important;
    }

    .notification-dropdown-item strong,
    .easyweek-notification-item strong,
    .notification-content strong{
        display:block !important;
        max-width:100% !important;
        color:#111827 !important;
        font-size:14px !important;
        font-weight:900 !important;
        line-height:1.25 !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
    }

    .notification-dropdown-item small,
    .easyweek-notification-item small,
    .notification-content p{
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        max-width:100% !important;
        color:#64748b !important;
        font-size:12px !important;
        line-height:1.35 !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:normal !important;
        word-break:break-word !important;
        margin:0 !important;
    }

    .notification-dropdown-item.payment-approved strong,
    .easyweek-notification-item.payment-approved strong{
        color:#15803d !important;
    }

    .notification-dot.payment-approved,
    .easyweek-notification-item.payment-approved b{
        background:#22c55e !important;
    }

    .notification-view-all,
    .easyweek-notification-all{
        position:sticky !important;
        bottom:0 !important;
        z-index:4 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        min-height:44px !important;
        margin-top:8px !important;
        padding:0 12px !important;
        border-radius:12px !important;
        background:#fff2f7 !important;
        color:#ef2f7c !important;
        font-size:13px !important;
        font-weight:900 !important;
        text-align:center !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }
}

@media (max-width:480px){
    .topbar{
        padding:0 10px !important;
    }

    .topbar-actions{
        gap:6px !important;
        max-width:calc(100vw - 58px) !important;
    }

    .topbar-notification-dropdown,
    .easyweek-notification-menu,
    .notifications-dropdown{
        top:70px !important;
        width:calc(100vw - 18px) !important;
        max-width:calc(100vw - 18px) !important;
        max-height:calc(100vh - 82px) !important;
        border-radius:16px !important;
    }

    [data-notification-list],
    .notifications-list{
        max-height:calc(100vh - 214px) !important;
    }

    .notification-dropdown-item,
    .easyweek-notification-item,
    .notification-item{
        padding:11px 7px !important;
    }
}


/* ==========================================================
   BADGE DE QUANTIDADE - CALENDÁRIO TOPBAR
   Adicionado para o calendário mostrar quantidade igual ao sino
========================================================== */
.easyweek-calendar-box{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.easyweek-calendar-badge,
.calendar-badge,
[data-calendar-badge]{
    position:absolute !important;
    top:1px !important;
    right:1px !important;
    min-width:18px !important;
    width:auto !important;
    height:18px !important;
    padding:0 5px !important;
    border-radius:999px !important;
    background:var(--pink2) !important;
    color:#fff !important;
    font-size:10px !important;
    font-weight:900 !important;
    line-height:18px !important;
    display:grid !important;
    place-items:center !important;
    box-shadow:0 0 0 2px #fff !important;
    z-index:5 !important;
    pointer-events:none !important;
}

.easyweek-calendar-badge.is-hidden,
.calendar-badge.is-hidden,
[data-calendar-badge].is-hidden,
[data-calendar-badge][hidden]{
    display:none !important;
}

@media(max-width:900px){
    .easyweek-calendar-badge,
    .calendar-badge,
    [data-calendar-badge]{
        top:1px !important;
        right:1px !important;
        min-width:18px !important;
        height:18px !important;
        padding:0 5px !important;
        font-size:10px !important;
        line-height:18px !important;
    }
}
