/* ==========================================================================
   Acervo Etchevarne — Futuristic theme
   Dark, glassmorphic, tech-inspired visual system overriding the base
   QuixNav / Bootstrap 4 template. Loaded after style.css.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
    --ac-bg: #0a0e14;
    --ac-bg-elev: #0e131b;
    --ac-panel: rgba(255, 255, 255, .045);
    --ac-panel-border: rgba(148, 163, 184, .14);
    --ac-text: #e6eaf2;
    --ac-text-dim: #8b98b3;
    --ac-text-faint: #5c6a85;
    --ac-cyan: #22d3ee;
    --ac-violet: #a78bfa;
    --ac-green: #34d399;
    --ac-amber: #fbbf24;
    --ac-pink: #f472b6;

    /* re-tint the base template's own accent variable */
    --dishub-color: #12161f;
}

/* ---------- base ---------- */
body {
    background-color: var(--ac-bg) !important;
    color: var(--ac-text) !important;
    font-family: 'IBM Plex Sans', system-ui, sans-serif !important;
    background-image:
        linear-gradient(rgba(148, 163, 184, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, .05) 1px, transparent 1px);
    background-size: 32px 32px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif !important;
    color: var(--ac-text) !important;
}

a { color: var(--ac-cyan); }
a:hover { color: var(--ac-violet); }

::selection { background: rgba(34, 211, 238, .3); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--ac-bg); }
::-webkit-scrollbar-thumb { background: #232a38; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #2f3849; }

/* ---------- nav header / brand ---------- */
.nav-header {
    background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015)) !important;
    border-right: 1px solid var(--ac-panel-border);
    border-bottom: 1px solid var(--ac-panel-border);
}
.nav-header .brand-logo { position: relative; }
.nav-header .brand-logo span {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: .02em;
    color: var(--ac-text) !important;
}
.nav-control .hamburger .line { background-color: var(--ac-cyan) !important; }

/* ---------- sidebar ---------- */
.quixnav, .quixnav .quixnav-scroll {
    background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015)) !important;
    border-right: 1px solid var(--ac-panel-border);
}
.quixnav .nav-label {
    font-family: 'IBM Plex Mono', monospace !important;
    font-size: 10px !important;
    letter-spacing: .14em !important;
    color: var(--ac-text-faint) !important;
    opacity: 1 !important;
}
.quixnav .metismenu > li > a {
    color: #aab6cc !important;
    border-radius: 9px;
    margin: 0 8px 2px;
    transition: background .15s ease, color .15s ease;
}
.quixnav .metismenu > li > a:hover {
    background: rgba(148, 163, 184, .08) !important;
    color: var(--ac-text) !important;
}
.quixnav .metismenu > li.mm-active > a,
.quixnav .metismenu > li > a.mm-active {
    background: linear-gradient(90deg, rgba(34, 211, 238, .12), transparent) !important;
    color: var(--ac-text) !important;
    box-shadow: inset 2px 0 0 var(--ac-cyan);
}
.quixnav .metismenu i { color: var(--ac-cyan) !important; }
.quixnav .metismenu > li.mm-active > a i,
.quixnav .metismenu > li > a.mm-active i { color: var(--ac-cyan) !important; }

/* ---------- topbar ---------- */
.header {
    background: transparent !important;
    border-bottom: 1px solid var(--ac-panel-border);
}
.header .horizontal { border-color: var(--ac-panel-border) !important; }
.header-right .header-profile > a span,
.header-right #datetime { color: var(--ac-text-dim) !important; }
.header-right .header-profile .dropdown-menu {
    background: var(--ac-bg-elev) !important;
    border: 1px solid var(--ac-panel-border) !important;
}

/* ---------- content wrapper ---------- */
.content-body { background: transparent !important; }
.page-titles { background: transparent !important; border: none !important; }
.page-titles h4 { font-family: 'Space Grotesk', sans-serif !important; font-weight: 700 !important; }
.breadcrumb { background: transparent !important; }
.breadcrumb-item, .breadcrumb-item a { color: var(--ac-text-dim) !important; }
.breadcrumb-item.active { color: var(--ac-text) !important; }

/* ---------- cards / panels ---------- */
.card {
    background: linear-gradient(160deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .015)) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--ac-panel-border) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    color: var(--ac-text) !important;
}
.card-header, .card-footer {
    background: transparent !important;
    border-color: var(--ac-panel-border) !important;
}
.stat-widget-one .stat-icon i {
    color: var(--ac-cyan) !important;
    background: rgba(34, 211, 238, .1) !important;
    border-color: rgba(34, 211, 238, .35) !important;
}
.stat-widget-one .stat-digit {
    color: var(--ac-text) !important;
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
}
.stat-widget-one .stat-text { color: var(--ac-text-dim) !important; }

/* text-utility recolors so Bootstrap defaults read on the dark ground */
.text-primary { color: var(--ac-cyan) !important; }
.text-success { color: var(--ac-green) !important; }
.text-warning { color: var(--ac-amber) !important; }
.text-danger { color: var(--ac-pink) !important; }
.text-info { color: var(--ac-violet) !important; }
.text-dark { color: var(--ac-text) !important; }
.text-muted { color: var(--ac-text-dim) !important; }
.border-primary { border-color: rgba(34, 211, 238, .35) !important; }
.border-success { border-color: rgba(52, 211, 153, .35) !important; }
.border-warning { border-color: rgba(251, 191, 36, .35) !important; }
.border-danger { border-color: rgba(244, 114, 182, .35) !important; }

/* dashboard "Publicações por Tipo" panel title */
.card > h1.text-uppercase {
    font-family: 'Space Grotesk', sans-serif !important;
    font-size: 15px !important;
    letter-spacing: .12em;
    color: var(--ac-text-dim) !important;
}
.card > h1.text-uppercase i { color: var(--ac-cyan); margin-right: 6px; }

/* ---------- buttons ---------- */
.btn { border-radius: 9px !important; font-weight: 500; border: 1px solid transparent; }
.btn-primary, .btn-info {
    background: rgba(34, 211, 238, .14) !important;
    border-color: rgba(34, 211, 238, .4) !important;
    color: var(--ac-cyan) !important;
}
.btn-primary:hover, .btn-info:hover { background: rgba(34, 211, 238, .25) !important; }
.btn-success {
    background: rgba(52, 211, 153, .14) !important;
    border-color: rgba(52, 211, 153, .4) !important;
    color: var(--ac-green) !important;
}
.btn-success:hover { background: rgba(52, 211, 153, .25) !important; }
.btn-warning {
    background: rgba(251, 191, 36, .14) !important;
    border-color: rgba(251, 191, 36, .4) !important;
    color: var(--ac-amber) !important;
}
.btn-warning:hover { background: rgba(251, 191, 36, .25) !important; }
.btn-danger {
    background: rgba(244, 114, 182, .14) !important;
    border-color: rgba(244, 114, 182, .4) !important;
    color: var(--ac-pink) !important;
}
.btn-danger:hover { background: rgba(244, 114, 182, .25) !important; }

/* ---------- tables & DataTables ---------- */
.table { color: var(--ac-text) !important; }
.table thead.thead-primary th,
.table thead th {
    background: rgba(34, 211, 238, .08) !important;
    color: var(--ac-cyan) !important;
    border: none !important;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.table td, .table th { border-color: var(--ac-panel-border) !important; }
.table-hover tbody tr:hover { background: rgba(148, 163, 184, .06) !important; }
.table-bordered, .table-bordered td, .table-bordered th { border-color: var(--ac-panel-border) !important; }

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate { color: var(--ac-text-dim) !important; }
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    background: var(--ac-bg-elev) !important;
    border: 1px solid var(--ac-panel-border) !important;
    color: var(--ac-text) !important;
    border-radius: 7px !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--ac-text-dim) !important;
    border-radius: 7px !important;
    border: 1px solid transparent !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: rgba(34, 211, 238, .14) !important;
    border-color: rgba(34, 211, 238, .4) !important;
    color: var(--ac-cyan) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: rgba(148, 163, 184, .1) !important;
    color: var(--ac-text) !important;
}

/* ---------- forms ---------- */
.form-control, textarea.form-control, select.form-control {
    background: var(--ac-bg-elev) !important;
    border: 1px solid var(--ac-panel-border) !important;
    color: var(--ac-text) !important;
    border-radius: 9px !important;
}
.form-control:focus {
    border-color: var(--ac-cyan) !important;
    box-shadow: 0 0 0 3px rgba(34, 211, 238, .18) !important;
}
.form-control::placeholder { color: var(--ac-text-faint) !important; }
label, .col-form-label { color: var(--ac-text-dim) !important; font-size: 13px; }
.select2-container--default .select2-selection--single {
    background: var(--ac-bg-elev) !important;
    border: 1px solid var(--ac-panel-border) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ac-text) !important; }
.select2-dropdown { background: var(--ac-bg-elev) !important; border-color: var(--ac-panel-border) !important; }
.select2-results__option { color: var(--ac-text) !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: rgba(34, 211, 238, .18) !important; }

/* ---------- modals ---------- */
.modal-content {
    background: var(--ac-bg-elev) !important;
    border: 1px solid var(--ac-panel-border) !important;
    border-radius: 16px !important;
    color: var(--ac-text) !important;
}
.modal-header, .modal-footer { border-color: var(--ac-panel-border) !important; }
.modal-title { font-family: 'Space Grotesk', sans-serif !important; }
.close { color: var(--ac-text) !important; text-shadow: none !important; opacity: .6; }
.close:hover { opacity: 1; }

/* ---------- footer / watermark ---------- */
.footer { background: transparent !important; border-top: 1px solid var(--ac-panel-border); }
.footer .copyright p { color: var(--ac-text-faint) !important; }

/* ---------- login / auth ---------- */
.authincation {
    background-color: var(--ac-bg) !important;
    background-image:
        linear-gradient(rgba(148, 163, 184, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, .05) 1px, transparent 1px);
    background-size: 32px 32px;
    position: relative;
}
.authincation::before {
    content: "";
    position: absolute;
    top: -200px; right: -160px;
    width: 560px; height: 560px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(34, 211, 238, .16) 0%, transparent 70%);
    pointer-events: none;
}
.authincation-content {
    background: linear-gradient(160deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .015)) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--ac-panel-border) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
}
.auth-form h4 {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 700 !important;
    color: var(--ac-text) !important;
}
.auth-form label, .auth-form label strong { color: var(--ac-text-dim) !important; }
.new-account, .auth-form p { color: var(--ac-text-dim) !important; }
#togglePassword i { color: var(--ac-text-dim) !important; }

/* ---------- language switcher / misc dropdowns ---------- */
.language-switcher .dropdown-menu {
    background: var(--ac-bg-elev) !important;
    border: 1px solid var(--ac-panel-border) !important;
}
.language-switcher .dropdown-item { color: var(--ac-text-dim) !important; }
.language-switcher .dropdown-item:hover,
.language-switcher .dropdown-item.active { background: rgba(34, 211, 238, .12) !important; color: var(--ac-text) !important; }
.language-switcher .text-dark, .header-profile .text-dark { color: var(--ac-text-dim) !important; }
