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

body{

background:#050505;

font-family:Poppins,sans-serif;

display:flex;

justify-content:center;

align-items:center;

height:100vh;

color:white;

}

.login-box{

width:420px;

background:#111;

padding:45px;

border-radius:20px;

box-shadow:0 0 40px rgba(138,46,255,.25);

text-align:center;

}

.logo{

width:140px;

margin-bottom:25px;

}

h1{

font-family:Montserrat;

margin-bottom:10px;

}

p{

opacity:.7;

margin-bottom:35px;

}

input{

width:100%;

padding:16px;

margin-bottom:18px;

border:none;

border-radius:10px;

background:#1b1b1b;

color:white;

font-size:15px;

}

input:focus{

outline:none;

border:1px solid #8A2EFF;

}

button{

width:100%;

padding:16px;

background:#8A2EFF;

color:white;

border:none;

border-radius:10px;

font-weight:bold;

font-size:16px;

cursor:pointer;

transition:.3s;

}

button:hover{

background:#a84dff;

}

.erro{

background:#661111;

padding:15px;

border-radius:8px;

margin-bottom:20px;

}
.sidebar{

position:fixed;

left:0;

top:0;

width:250px;

height:100vh;

background:#111;

padding:30px;

}

.sidebar h2{

margin-bottom:40px;

color:#8A2EFF;

font-family:Montserrat;

}

.sidebar a{

display:block;

color:white;

text-decoration:none;

padding:15px 0;

transition:.3s;

}

.sidebar a:hover{

color:#8A2EFF;

padding-left:8px;

}

.content{

margin-left:250px;

padding:40px;

}

.cards{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:20px;

margin-top:30px;

}

.card{

background:#151515;

padding:30px;

border-radius:18px;

box-shadow:0 0 20px rgba(138,46,255,.15);

}

.card h3{

font-size:16px;

color:#bdbdbd;

}

.card h2{

margin-top:15px;

font-size:38px;

}

.botao{

display:inline-block;

margin-top:40px;

padding:16px 28px;

background:#8A2EFF;

color:white;

text-decoration:none;

border-radius:10px;

font-weight:bold;

transition:.3s;

}

.botao:hover{

background:#A84DFF;

}
.tabela{

width:100%;

border-collapse:collapse;

margin-top:30px;

background:#111;

border-radius:15px;

overflow:hidden;

}

.tabela th{

background:#8A2EFF;

padding:18px;

text-align:left;

}

.tabela td{

padding:15px;

border-bottom:1px solid #222;

}

.tabela tr:hover{

background:#1a1a1a;

}

.tabela img{

border-radius:8px;

}
.form-admin{

max-width:850px;

margin-top:30px;

}

.form-admin label{

display:block;

margin-top:18px;

margin-bottom:8px;

font-weight:bold;

}

.form-admin input[type=text],
.form-admin input[type=date],
.form-admin input[type=time],
.form-admin input[type=file],
.form-admin textarea{

width:100%;

padding:15px;

border:none;

border-radius:10px;

background:#1b1b1b;

color:#fff;

}

.form-admin textarea{

resize:vertical;

min-height:140px;

}

.form-admin button{

margin-top:30px;

padding:16px 30px;

background:#8A2EFF;

color:#fff;

border:none;

border-radius:10px;

font-size:16px;

cursor:pointer;

font-weight:bold;

}

.form-admin button:hover{

background:#a84dff;

}

.sucesso{

background:#0d5c2b;

padding:18px;

border-radius:10px;

margin-top:20px;

margin-bottom:20px;

}
.image-preview{

display:block;

max-width:250px;

margin-top:15px;

border-radius:10px;

border:2px solid #8A2EFF;

}

#voltarTopo{

position:fixed;

right:25px;

bottom:25px;

width:55px;

height:55px;

background:#8A2EFF;

color:#fff;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

cursor:pointer;

opacity:0;

pointer-events:none;

transition:.3s;

z-index:999;

}

#voltarTopo.show{

opacity:1;

pointer-events:auto;

}

#voltarTopo:hover{

transform:translateY(-5px);

background:#a84dff;

}
.admin-sidebar{

width:260px;

min-height:100vh;

background:#0b0b0b;

position:fixed;

left:0;

top:0;

padding:30px 20px;

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

}

.logo-area{

text-align:center;

margin-bottom:40px;

}

.logo-area img{

max-width:170px;

}

.admin-sidebar ul{

list-style:none;

padding:0;

margin:0;

}

.admin-sidebar li{

margin-bottom:10px;

}

.admin-sidebar a{

display:block;

padding:14px 18px;

border-radius:10px;

color:#fff;

text-decoration:none;

transition:.25s;

font-weight:500;

}

.admin-sidebar a:hover{

background:#8A2EFF;

}

.admin-content{

margin-left:280px;

padding:35px;

min-height:100vh;

}
/* ===========================
   FOOTER ADMIN
=========================== */

.admin-footer{

    margin-top:50px;

    padding:20px;

    text-align:center;

    color:#888;

    font-size:14px;

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

}

.admin-card{

    background:#111;

    border-radius:14px;

    padding:25px;

    margin-bottom:25px;

    box-shadow:0 10px 30px rgba(0,0,0,.25);

}

.admin-title{

    font-size:28px;

    color:#fff;

    margin-bottom:25px;

    font-weight:700;

}

.admin-form input,
.admin-form textarea,
.admin-form select{

    width:100%;

    padding:14px;

    border:none;

    border-radius:10px;

    margin-bottom:18px;

    background:#1d1d1d;

    color:#fff;

}

.admin-form textarea{

    resize:vertical;

    min-height:140px;

}

.admin-form button{

    background:#8A2EFF;

    color:#fff;

    border:none;

    padding:15px 28px;

    border-radius:10px;

    cursor:pointer;

    font-weight:600;

    transition:.3s;

}

.admin-form button:hover{

    background:#a84dff;

}
/* Botão com aparência de link para ações seguras via POST */
.btn-link{
    background:none;
    border:0;
    padding:0;
    color:inherit;
    text-decoration:underline;
    cursor:pointer;
    font:inherit;
}

/* ===========================
   BANNERS / HOME ADMIN
=========================== */
.banner-card{
    max-width:850px;
    margin-top:25px;
}
.banner-card p{
    margin:8px 0 18px;
    color:#bdbdbd;
}
.image-preview.large{
    max-width:520px;
    width:100%;
}
.video-preview{
    display:block;
    width:100%;
    max-width:520px;
    margin:12px 0 20px;
    border-radius:12px;
    border:2px solid #8A2EFF;
    background:#000;
}
.form-admin input[type=url],
.form-admin select{
    width:100%;
    padding:15px;
    border:none;
    border-radius:10px;
    background:#1b1b1b;
    color:#fff;
}
.flash{
    padding:15px;
    border-radius:10px;
    margin:20px 0;
    background:#0d5c2b;
}


/* ===========================
   AJUSTE DESKTOP DO PAINEL
=========================== */
body.admin-page,
body:has(.sidebar){
    display:block;
    justify-content:initial;
    align-items:initial;
    height:auto;
    min-height:100vh;
    overflow-x:hidden;
}

body.admin-page .content,
body:has(.sidebar) .content{
    width:calc(100% - 250px);
    min-height:100vh;
    margin-left:250px;
    padding:32px 40px;
}

.banners-page .content{
    max-width:none;
}

.compact-admin-form{
    max-width:1180px;
    margin:24px auto 0;
}

.admin-grid{
    display:grid;
    gap:18px;
}

.admin-grid.two-cols{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.compact-card{
    max-width:none;
    margin-top:18px;
    padding:24px;
}

.compact-card h2{
    font-size:28px;
    margin-top:0;
    line-height:1.1;
}

.compact-card p{
    margin:6px 0 14px;
}

.compact-card label{
    margin-top:12px;
}

.logo-preview{
    max-width:180px;
    max-height:110px;
    object-fit:contain;
}

.preview-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    align-items:start;
}

.preview-grid .image-preview.large,
.preview-grid .video-preview{
    max-width:100%;
    max-height:240px;
    object-fit:cover;
}

.compact-admin-form textarea{
    min-height:95px;
}

.sticky-save{
    position:sticky;
    bottom:0;
    background:linear-gradient(180deg, rgba(5,5,5,0), #050505 35%);
    padding:24px 0 10px;
    z-index:10;
}

.sticky-save button{
    max-width:320px;
}

@media (max-width:900px){
    body.admin-page .content,
    body:has(.sidebar) .content{
        width:100%;
        margin-left:0;
        padding:24px 18px;
        padding-top:110px;
    }

    .sidebar{
        width:100%;
        height:auto;
        z-index:50;
        padding:16px 20px;
    }

    .sidebar h2{
        margin-bottom:10px;
    }

    .sidebar a{
        display:inline-block;
        padding:8px 10px;
    }

    .admin-grid.two-cols,
    .preview-grid{
        grid-template-columns:1fr;
    }

    .compact-card h2{
        font-size:24px;
    }

    .sticky-save button{
        max-width:100%;
    }
}

/* Opções de tamanho no painel de banners */
.form-admin input[type=number]{
    width:100%;
    padding:15px;
    border:none;
    border-radius:10px;
    background:#1b1b1b;
    color:#fff;
}
.admin-grid.four-cols{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.size-options{
    margin:18px 0;
}
.size-options small{
    display:block;
    margin-top:6px;
    color:#aaa;
    font-size:12px;
}
@media (max-width:1100px){
    .admin-grid.four-cols{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px){
    .admin-grid.four-cols{grid-template-columns:1fr;}
}


/* Dashboard visitantes */
.dashboard-cards .card h2{color:#fff;}
.dashboard-panel{
    margin-top:30px;
    background:#151515;
    border-radius:18px;
    padding:28px;
    box-shadow:0 0 20px rgba(138,46,255,.12);
}
.dashboard-panel h2{margin-bottom:18px;}
.dashboard-table-wrap{width:100%;overflow-x:auto;}
.dashboard-table{width:100%;border-collapse:collapse;min-width:520px;}
.dashboard-table th,.dashboard-table td{padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;}
.dashboard-table th{color:#bdbdbd;font-size:14px;}
.dashboard-empty{margin:0;opacity:.7;}
@media(max-width:768px){
    body{display:block;height:auto;min-height:100vh;}
    .content{margin-left:0;padding:24px 16px;padding-top:260px;}
    .sidebar{width:100%;height:auto;position:absolute;}
    .dashboard-panel{padding:20px;}
}

/* ===========================
   SEO ADMIN
=========================== */
.admin-muted{color:#aaa;margin:8px 0 20px;line-height:1.6;}
.seo-form small{display:block;color:#aaa;margin:-8px 0 14px;font-size:12px;}
.seo-form .code-area{font-family:Consolas,monospace;min-height:150px;white-space:pre;}
.form-admin input[type=url],
.form-admin select,
.form-admin input[type=email]{
    width:100%;padding:15px;border:none;border-radius:10px;background:#1b1b1b;color:#fff;
}

/* ===========================
   OPEN HOT ADMIN
=========================== */
.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;}
.admin-page-head p{margin:8px 0 0;color:#aaa;line-height:1.6;}
.admin-page-head.compact{align-items:center;margin-bottom:18px;}
.botao.small{margin-top:0;padding:12px 18px;font-size:14px;}
.open-hot-admin .card h2,.open-hot-admin .dashboard-panel h2{margin-bottom:16px;}
.admin-check{display:flex!important;align-items:center;gap:10px;margin:12px 0 16px!important;color:#ddd;font-weight:600!important;}
.admin-check input{width:auto!important;margin:0!important;accent-color:#8A2EFF;}
.admin-check.mid{height:46px;align-items:center!important;margin-top:32px!important;}
.inline-admin-form{max-width:none;margin-top:0;}
.inline-admin-form button{margin-top:0;}
.open-hot-stats{margin-bottom:24px;}
.media-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.media-admin-card{background:#111;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;}
.media-admin-preview{width:100%;background:#000;border-radius:14px;overflow:hidden;margin-bottom:14px;border:1px solid rgba(138,46,255,.4);}
.media-admin-preview img,.media-admin-preview video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.media-admin-form{margin-top:0;}
.media-admin-form label{margin-top:10px;margin-bottom:6px;}
.media-admin-form input[type=text],.media-admin-form input[type=number]{padding:11px;margin-bottom:10px;}
.media-admin-form button{margin-top:8px;}
.danger-btn{width:100%;margin-top:10px;padding:12px;border:0;border-radius:10px;background:#7b1111;color:#fff;font-weight:800;cursor:pointer;}
.danger-btn:hover{background:#a51616;}
@media(max-width:900px){.admin-page-head{flex-direction:column}.admin-page-head .botao{width:100%;text-align:center}.media-admin-grid{grid-template-columns:1fr}}

/* ===========================
   OPEN HOT - REGRAS EDITÁVEIS
=========================== */
.rules-admin-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:18px;
}
.rule-admin-item{
    background:#101010;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    padding:18px;
}
.rule-admin-item h3{
    margin:0 0 14px;
    font-size:18px;
    color:#fff;
}
.admin-grid.two-cols.mini{
    grid-template-columns:120px 1fr;
    gap:12px;
}
.rule-admin-item textarea{
    min-height:90px;
}
@media(max-width:900px){
    .rules-admin-grid,
    .admin-grid.two-cols.mini{
        grid-template-columns:1fr;
    }
}

/* Open Hot: seletor de cor da logo */
.form-admin input[type=color]{
    width:100%;
    height:52px;
    padding:6px;
    border:none;
    border-radius:10px;
    background:#1b1b1b;
    cursor:pointer;
}

.leads-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:25px;
}

.leads-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.btn-hot{
    background:#e10808 !important;
    color:#fff !important;
    text-decoration:none;
    padding:13px 22px;
    border-radius:10px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.btn-hot:hover{
    background:#ff1f1f !important;
}

@media(max-width:768px){
    .leads-header{
        flex-direction:column;
        align-items:flex-start;
    }

    .leads-actions{
        width:100%;
        flex-direction:column;
    }

    .leads-actions .btn,
    .leads-actions .btn-hot{
        width:100%;
        text-align:center;
    }
}
