/* ============================================================
   DbHost — TEMA DARK GLOBAL
   ============================================================ */
:root {
  --bg-primary:    #0b0b18;
  --bg-secondary:  #11112a;
  --bg-card:       #14142e;
  --bg-input:      #0d0d22;
  --border-color:  #1e1e40;
  --text-primary:  #eeeeff;
  --text-secondary:#b0b0d0;
  --text-muted:    #7070a0;
  --accent:        #6c63ff;
  --accent-hover:  #5a52e0;
  --accent2:       #38bdf8;
  --success:       #4ade80;
  --warning:       #fbbf24;
  --danger:        #f87171;
  --info:          #38bdf8;
  --sidebar-w:     260px;
  --header-h:      64px;
  --radius:        12px;
  --shadow:        0 4px 24px rgba(0,0,0,0.5);
  --transition:    0.2s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg-primary);color:var(--text-primary);font-family:'Segoe UI',system-ui,sans-serif;font-size:14px;line-height:1.6}

/* ---- TYPOGRAPHY ---- */
h1,h2,h3,h4,h5,h6{color:var(--text-primary)!important;font-weight:700}
p{color:var(--text-secondary)}
small,.text-muted{color:var(--text-muted)!important}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-hover)}
strong,b{color:var(--text-primary)}
label.form-label{color:var(--text-secondary)!important;font-size:13px;font-weight:600}

/* ---- BOOTSTRAP OVERRIDES ---- */
/* Cards */
.card{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius)!important;color:var(--text-primary)!important}
.card-header{background:rgba(255,255,255,.03)!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-primary)!important;font-weight:600;padding:14px 18px}
.card-body{padding:18px}
.card-footer{background:rgba(255,255,255,.02)!important;border-top:1px solid var(--border-color)!important}

/* Forms */
.form-control,.form-select{background:var(--bg-input)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;border-radius:8px!important;padding:9px 13px;font-size:14px;transition:border-color var(--transition),box-shadow var(--transition)}
.form-control:focus,.form-select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(108,99,255,.18)!important;color:var(--text-primary)!important;background:var(--bg-input)!important;outline:none}
.form-control::placeholder{color:var(--text-muted)!important}
.form-control:disabled,.form-control[readonly]{background:#0a0a1e!important;color:var(--text-muted)!important}
.form-select option{background:#1a1a3a;color:var(--text-primary)}
.input-group-text{background:#151530!important;border:1px solid var(--border-color)!important;color:var(--text-muted)!important;font-size:14px}
.form-text{color:var(--text-muted)!important;font-size:12px;margin-top:4px}
.form-check-input{background-color:var(--bg-input)!important;border-color:var(--border-color)!important}
.form-check-input:checked{background-color:var(--accent)!important;border-color:var(--accent)!important}
.form-check-label{color:var(--text-secondary)!important}

/* Tables */
.table{color:var(--text-primary)!important;--bs-table-bg:transparent!important;--bs-table-hover-bg:rgba(255,255,255,.03)!important;border-color:var(--border-color)!important}
.table>:not(caption)>*>*{background:transparent!important;color:var(--text-primary)!important;border-color:var(--border-color)!important;vertical-align:middle;padding:12px 14px}
.table thead>tr>th{background:#101028!important;color:var(--text-muted)!important;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.table tbody>tr:hover>*{background:rgba(108,99,255,.06)!important}
.table .fw-semibold,.table strong{color:var(--text-primary)!important}
.table .text-muted{color:var(--text-muted)!important}
.table a:not(.btn){color:#b0b0ff!important}

/* Buttons */
.btn{border-radius:8px!important;font-weight:600;font-size:13px;padding:8px 16px;transition:all var(--transition)}
.btn-primary{background:linear-gradient(135deg,var(--accent),#4f46e5)!important;border:none!important;color:#fff!important;box-shadow:0 3px 10px rgba(108,99,255,.3)}
.btn-primary:hover{box-shadow:0 5px 18px rgba(108,99,255,.5)!important;transform:translateY(-1px)}
.btn-success{background:linear-gradient(135deg,#059669,#047857)!important;border:none!important;color:#fff!important}
.btn-success:hover{box-shadow:0 4px 14px rgba(5,150,105,.4)!important}
.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;border:none!important;color:#fff!important}
.btn-warning{background:linear-gradient(135deg,#d97706,#b45309)!important;border:none!important;color:#fff!important}
.btn-info{background:linear-gradient(135deg,#0284c7,#0369a1)!important;border:none!important;color:#fff!important}
.btn-secondary{background:#1e1e40!important;border:1px solid var(--border-color)!important;color:var(--text-secondary)!important}
.btn-secondary:hover{background:#252550!important;color:var(--text-primary)!important}
.btn-outline-primary{border:1.5px solid var(--accent)!important;color:var(--accent)!important;background:transparent!important}
.btn-outline-primary:hover{background:rgba(108,99,255,.15)!important;color:var(--accent)!important}
.btn-outline-secondary{border:1.5px solid var(--border-color)!important;color:var(--text-secondary)!important;background:transparent!important}
.btn-outline-secondary:hover{background:rgba(255,255,255,.07)!important;color:var(--text-primary)!important;border-color:var(--text-muted)!important}
.btn-outline-success{border:1.5px solid #4ade80!important;color:#4ade80!important;background:transparent!important}
.btn-outline-success:hover{background:rgba(74,222,128,.12)!important}
.btn-outline-danger{border:1.5px solid #f87171!important;color:#f87171!important;background:transparent!important}
.btn-outline-danger:hover{background:rgba(248,113,113,.12)!important}
.btn-outline-warning{border:1.5px solid #fbbf24!important;color:#fbbf24!important;background:transparent!important}
.btn-outline-warning:hover{background:rgba(251,191,36,.12)!important}
.btn-outline-info{border:1.5px solid #38bdf8!important;color:#38bdf8!important;background:transparent!important}
.btn-outline-info:hover{background:rgba(56,189,248,.12)!important}
.btn-link{color:var(--accent)!important}
.btn-sm{padding:5px 11px!important;font-size:12px!important}
.btn-lg{padding:11px 24px!important;font-size:15px!important}
.btn-xs{padding:3px 8px!important;font-size:11px!important;border-radius:6px!important}

/* Badges */
.badge{font-size:11px!important;font-weight:700!important;padding:4px 10px!important;border-radius:20px!important;letter-spacing:.03em}
.badge.bg-success{background:rgba(74,222,128,.15)!important;color:#4ade80!important;border:1px solid rgba(74,222,128,.3)!important}
.badge.bg-warning{background:rgba(251,191,36,.15)!important;color:#fbbf24!important;border:1px solid rgba(251,191,36,.3)!important}
.badge.bg-danger{background:rgba(248,113,113,.15)!important;color:#f87171!important;border:1px solid rgba(248,113,113,.3)!important}
.badge.bg-primary{background:rgba(108,99,255,.18)!important;color:#a78bfa!important;border:1px solid rgba(108,99,255,.3)!important}
.badge.bg-secondary{background:rgba(148,163,184,.12)!important;color:#94a3b8!important;border:1px solid rgba(148,163,184,.2)!important}
.badge.bg-info{background:rgba(56,189,248,.15)!important;color:#38bdf8!important;border:1px solid rgba(56,189,248,.3)!important}

/* Alerts */
.alert{border-radius:var(--radius)!important;border:1px solid!important;font-size:13.5px}
.alert-success{background:rgba(74,222,128,.1)!important;border-color:rgba(74,222,128,.25)!important;color:#86efac!important}
.alert-danger{background:rgba(248,113,113,.1)!important;border-color:rgba(248,113,113,.25)!important;color:#fca5a5!important}
.alert-warning{background:rgba(251,191,36,.1)!important;border-color:rgba(251,191,36,.25)!important;color:#fcd34d!important}
.alert-info{background:rgba(56,189,248,.1)!important;border-color:rgba(56,189,248,.25)!important;color:#7dd3fc!important}

/* Modals */
.modal-content{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius)!important;color:var(--text-primary)!important}
.modal-header{border-bottom:1px solid var(--border-color)!important;padding:12px 16px;flex-shrink:0!important}
.modal-header .modal-title{color:var(--text-primary)!important;font-weight:700;font-size:15px}
.modal-body{padding:16px;color:var(--text-primary)!important}
.modal-footer{border-top:1px solid var(--border-color)!important;padding:10px 16px;flex-shrink:0!important}
.btn-close{filter:invert(1) brightness(.7)}
.modal-backdrop{background:#000!important}
.modal-backdrop.show{opacity:.7!important}

/* Nav / Tabs */
.nav-tabs{border-color:var(--border-color)!important}
.nav-tabs .nav-link{color:var(--text-muted)!important;border:1px solid transparent!important;border-radius:8px 8px 0 0!important;padding:8px 16px;font-size:13px;font-weight:600}
.nav-tabs .nav-link:hover{color:var(--text-primary)!important;border-color:var(--border-color)!important}
.nav-tabs .nav-link.active{background:var(--bg-card)!important;border-color:var(--border-color) var(--border-color) var(--bg-card)!important;color:var(--accent)!important}
.tab-content{color:var(--text-primary)!important}

/* Dropdowns */
.dropdown-menu{background:#1a1a38!important;border:1px solid var(--border-color)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;padding:6px!important}
.dropdown-item{color:var(--text-secondary)!important;border-radius:6px!important;padding:8px 12px!important;font-size:13px;transition:all .15s}
.dropdown-item:hover,.dropdown-item:focus{background:rgba(108,99,255,.12)!important;color:var(--text-primary)!important}
.dropdown-divider{border-color:var(--border-color)!important}

/* Pagination */
.pagination{gap:4px}
.page-link{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;color:var(--text-secondary)!important;border-radius:8px!important;padding:6px 12px;font-size:13px;transition:all .15s}
.page-link:hover{background:rgba(108,99,255,.15)!important;color:var(--accent)!important;border-color:var(--accent)!important}
.page-item.active .page-link{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
.page-item.disabled .page-link{opacity:.4}

/* List group */
.list-group-item{background:transparent!important;border-color:var(--border-color)!important;color:var(--text-primary)!important;padding:12px 16px}
.list-group-item-action:hover{background:rgba(108,99,255,.07)!important;color:var(--text-primary)!important}

/* Breadcrumb */
.breadcrumb{background:transparent!important;padding:0!important}
.breadcrumb-item a{color:var(--text-muted)!important;font-size:13px}
.breadcrumb-item.active{color:var(--text-secondary)!important;font-size:13px}
.breadcrumb-item+.breadcrumb-item::before{color:var(--text-muted)!important}

/* Toast */
.toast{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important}

/* ---- SIDEBAR ---- */
.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:1045;overflow-y:auto;transition:transform var(--transition)}
.sidebar-header{display:flex;align-items:center;gap:12px;padding:0 18px;height:var(--header-h);border-bottom:1px solid var(--border-color);flex-shrink:0}
.sidebar-logo{width:34px;height:34px;background:linear-gradient(135deg,var(--accent),#4f46e5);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.sidebar-title{font-size:15px;font-weight:800;color:var(--text-primary);flex:1}
.sidebar-nav{flex:1;padding:10px 0;overflow-y:auto}
.sidebar-label{padding:10px 18px 4px;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);font-weight:700}
.sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 18px;color:var(--text-muted)!important;text-decoration:none!important;font-size:13.5px;border-left:3px solid transparent;transition:all .15s}
.sidebar-item:hover{background:rgba(108,99,255,.08);color:var(--text-secondary)!important}
.sidebar-item.active{background:rgba(108,99,255,.15);color:#a78bfa!important;border-left-color:var(--accent);font-weight:700}
.sidebar-item i{width:17px;text-align:center;font-size:15px;flex-shrink:0}
.sidebar-footer{border-top:1px solid var(--border-color);padding:10px 0}
.sidebar-divider{height:1px;background:var(--border-color);margin:8px 14px}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:1040}
.sidebar-overlay.active{display:block}

/* ---- MAIN CONTENT ---- */
.main-content{margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column;transition:margin-left .2s}
.top-bar{height:var(--header-h);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 20px;gap:12px;position:sticky;top:0;z-index:100;flex-shrink:0}
.toggle-btn{width:34px;height:34px;background:rgba(255,255,255,.06);border:1px solid var(--border-color);border-radius:8px;display:none;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;font-size:17px;transition:background .15s}
.toggle-btn:hover{background:rgba(255,255,255,.12)}
.page-content{padding:24px;flex:1}

/* ---- STAT CARDS ---- */
.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:18px;display:flex;align-items:center;gap:14px;transition:transform .2s,box-shadow .2s}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.4)}
.stat-card .stat-icon{width:48px;height:48px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.stat-card .stat-value{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.1}
.stat-card .stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-top:3px}

/* Alias for admin */
.stat-card-admin{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:18px;display:flex;align-items:center;gap:14px;transition:transform .2s,box-shadow .2s}
.stat-card-admin:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.4)}
.stat-card-admin .stat-icon{width:48px;height:48px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.stat-card-admin .stat-info .stat-value{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.1}
.stat-card-admin .stat-info .stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-top:3px}

/* ---- FILTERS ---- */
.filters-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px}
.admin-table th{font-size:11px!important;text-transform:uppercase!important;letter-spacing:.07em!important;color:var(--text-muted)!important;font-weight:700!important;white-space:nowrap}

/* ---- RESPONSIVE ---- */
@media(max-width:991px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:translateX(0);box-shadow:6px 0 40px rgba(0,0,0,.7)}
  .sidebar-close{display:block!important}
  .main-content{margin-left:0!important}
  .toggle-btn{display:flex!important}
  .sidebar-close{display:block!important}
  .page-content{padding:14px}
}
@media(max-width:576px){
  .page-content{padding:10px}
  .card-body{padding:12px}
}

/* ---- UTILS ---- */
.font-monospace{font-family:'Courier New',monospace!important;font-size:12.5px}
.text-purple{color:#a78bfa!important}
.cursor-pointer{cursor:pointer}
.gap-2{gap:8px!important}

/* ============================================================
   CLIENTE SIDEBAR — classes específicas
   ============================================================ */

/* Sidebar brand / logo */
.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 18px;
    height: var(--header-h);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
    text-decoration: none !important;
}
.sidebar-brand .brand-icon {
    width: 34px; height: 34px;
    background: linear-gradient(135deg, var(--accent), #4f46e5);
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    font-size: 17px;
    flex-shrink: 0;
}
.sidebar-brand span {
    font-size: 15px;
    font-weight: 800;
    color: var(--text-primary) !important;
}

/* Nav section labels */
.nav-section {
    list-style: none;
    padding: 10px 18px 4px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--text-muted) !important;
    font-weight: 700;
}

/* Nav links — override Bootstrap completely */
.sidebar-nav .nav-item { list-style: none; }
.sidebar-nav .nav-link {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 10px 18px !important;
    color: var(--text-muted) !important;
    font-size: 13.5px;
    font-weight: 500;
    border-left: 3px solid transparent;
    border-radius: 0 !important;
    transition: all .15s;
    text-decoration: none !important;
    background: transparent !important;
    white-space: nowrap;
}
.sidebar-nav .nav-link:hover {
    background: rgba(108,99,255,.08) !important;
    color: var(--text-secondary) !important;
    border-left-color: rgba(108,99,255,.3);
}
.sidebar-nav .nav-link.active {
    background: rgba(108,99,255,.15) !important;
    color: #a78bfa !important;
    border-left-color: var(--accent);
    font-weight: 700;
}
.sidebar-nav .nav-link.active .nav-icon {
    color: var(--accent) !important;
}

/* Nav icon */
.nav-icon {
    width: 17px;
    text-align: center;
    font-size: 15px;
    flex-shrink: 0;
    color: inherit;
}

/* Nav badge (count) */
.nav-badge {
    margin-left: auto;
    font-size: 10px !important;
    padding: 2px 7px !important;
}

/* Sidebar footer */
.sidebar-footer {
    border-top: 1px solid var(--border-color);
    padding: 14px 16px;
}
.sidebar-footer .btn {
    background: rgba(248,113,113,.1) !important;
    border: 1px solid rgba(248,113,113,.25) !important;
    color: #f87171 !important;
}
.sidebar-footer .btn:hover {
    background: rgba(248,113,113,.2) !important;
    color: #fca5a5 !important;
}

/* Avatar dropdown */
.avatar {
    width: 36px; height: 36px;
    background: linear-gradient(135deg, var(--accent), #4f46e5);
    color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    flex-shrink: 0;
    user-select: none;
}

/* Notification dot */
.notif-dot {
    position: absolute;
    top: -3px; right: -3px;
    width: 9px; height: 9px;
    background: #f87171;
    border-radius: 50%;
    border: 2px solid var(--bg-secondary);
    display: block;
}

/* Sidebar close button (mobile) */
.sidebar-close {
    display: none;
}
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 18px;
    cursor: pointer;
    padding: 4px;
    margin-left: auto;
    flex-shrink: 0;
}
