/* =====================================================
   kzp8Panel — BisectHosting layout + portfolio palette
   ===================================================== */

/* ---- VARIABLES LOCALES ---- */
:root {
    --sidebar-w: 260px;
    --sidebar-w-collapsed: 70px;
    --navbar-h: 56px;
    --accent: #8b5cf6;
    --accent-2: #3b82f6;
    --accent-glow: rgba(139,92,246,0.18);
}

/* ---- ANIMATED BACKGROUND ORBS ---- */
@keyframes orbFloat {
    0%   { transform: translate(0, 0) scale(1); }
    25%  { transform: translate(50px, -40px) scale(1.06); }
    50%  { transform: translate(25px, 60px) scale(0.96); }
    75%  { transform: translate(-35px, 25px) scale(1.04); }
    100% { transform: translate(0, 0) scale(1); }
}

body::before,
body::after {
    content: '';
    position: fixed;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    animation: orbFloat linear infinite;
}
/* orb purple — top left */
body::before {
    width: 700px; height: 700px;
    background: radial-gradient(circle, rgba(139,92,246,0.18), transparent 70%);
    top: -250px; left: -200px;
    animation-duration: 22s;
    filter: blur(60px);
}
/* orb blue — bottom right */
body::after {
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(59,130,246,0.14), transparent 70%);
    bottom: -200px; right: -150px;
    animation-duration: 28s;
    animation-delay: -10s;
    filter: blur(60px);
}

/* extra orbs via .container-scroller pseudo */
.container-scroller::before,
.container-scroller::after {
    content: '';
    position: fixed;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(70px);
    animation: orbFloat linear infinite;
}
.container-scroller::before {
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(99,102,241,0.12), transparent 70%);
    top: 45%; left: 55%;
    animation-duration: 19s;
    animation-delay: -5s;
}
.container-scroller::after {
    width: 320px; height: 320px;
    background: radial-gradient(circle, rgba(167,139,250,0.1), transparent 70%);
    top: 65%; left: 8%;
    animation-duration: 24s;
    animation-delay: -14s;
}

/* subtle grid overlay */
.page-body-wrapper::before {
    content: '';
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(rgba(139,92,246,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(139,92,246,0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    pointer-events: none;
    z-index: 0;
}

/* ---- RESET / BASE ---- */
body {
    background: #060608 !important;
    color: var(--base-text) !important;
    font-family: var(--font-family-sans-serif) !important;
    font-size: 0.9rem !important;
}

::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: var(--deep-bg); }
::-webkit-scrollbar-thumb { background: #2a2a40; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #3a3a55; }

/* ====================================================
   LAYOUT — Navbar starts after sidebar (BisectHosting)
   ==================================================== */

/* Navbar only covers content area */
.navbar.default-layout {
    left: var(--sidebar-w) !important;
    width: calc(100% - var(--sidebar-w)) !important;
    background: rgba(6, 6, 8, 0.75) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(139,92,246,0.12) !important;
    box-shadow: 0 1px 20px rgba(0,0,0,0.3) !important;
    height: var(--navbar-h) !important;
    min-height: var(--navbar-h) !important;
}
.sidebar-icon-only .navbar.default-layout {
    left: var(--sidebar-w-collapsed) !important;
    width: calc(100% - var(--sidebar-w-collapsed)) !important;
}

/* Logo lives in sidebar — hide from navbar */
.navbar .navbar-brand-wrapper { display: none !important; }

.navbar .navbar-menu-wrapper {
    background: transparent !important;
    padding: 0 1.25rem !important;
    width: 100% !important;
}

/* On desktop: sidebar is always visible, hide the toggle from navbar */
@media (min-width: 992px) {
    .navbar .navbar-toggler:not(.navbar-toggler-right) { display: none !important; }
}

.navbar .navbar-toggler {
    color: var(--gray-light) !important;
    border: none !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}
.navbar .navbar-toggler:hover {
    background: rgba(255,255,255,0.07) !important;
    color: var(--white) !important;
}

/* Server badge */
.badge-pill.badge-outline-primary {
    background: rgba(139,92,246,0.12) !important;
    border: 1px solid rgba(139,92,246,0.3) !important;
    color: #c4b5fd !important;
    font-weight: 500 !important;
    border-radius: 20px !important;
    padding: 4px 12px !important;
    font-size: 0.8rem !important;
}

/* ====================================================
   SIDEBAR — Full height, logo at top (BisectHosting)
   ==================================================== */

.sidebar {
    width: var(--sidebar-w) !important;
    height: 100vh !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    background: rgba(6, 6, 8, 0.82) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-right: 1px solid rgba(139,92,246,0.12) !important;
    box-shadow: 4px 0 24px rgba(0,0,0,0.3) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 1030 !important;
    padding-top: 0 !important;
}

/* Logo area */
.sidebar-logo-area {
    height: var(--navbar-h) !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 16px !important;
    border-bottom: 1px solid var(--outline) !important;
    flex-shrink: 0 !important;
    background: var(--deep-bg) !important;
}

.sidebar-brand-link {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none !important;
    overflow: hidden;
}

/* K badge */
.sidebar-brand-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: linear-gradient(135deg, #8b5cf6, #3b82f6);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1rem;
    color: #fff;
    flex-shrink: 0;
    letter-spacing: -0.03em;
}

/* Brand text */
.sidebar-brand-text {
    font-size: 1rem;
    font-weight: 700;
    color: #f5f5f7;
    letter-spacing: -0.02em;
    white-space: nowrap;
    transition: opacity 0.2s ease;
}
.sidebar-brand-text span { color: #a78bfa; }

/* Collapsed: hide text */
.sidebar-icon-only .sidebar-brand-text { display: none; }

/* ---- SIDEBAR SEARCH ---- */
.sidebar-search-area {
    padding: 10px 12px 8px;
    border-bottom: 1px solid var(--outline);
    flex-shrink: 0;
}

.sidebar-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.sidebar-search-wrap > i {
    position: absolute;
    left: 9px;
    color: #4b5563;
    font-size: 0.85rem;
    pointer-events: none;
}

.sidebar-search-wrap input {
    width: 100%;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 7px !important;
    color: #d1d5db !important;
    font-size: 0.8rem !important;
    padding: 6px 10px 6px 30px !important;
    outline: none;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.sidebar-search-wrap input:focus {
    background: rgba(255,255,255,0.08) !important;
    border-color: rgba(139,92,246,0.35) !important;
    color: #f5f5f7 !important;
}
.sidebar-search-wrap input::placeholder { color: #4b5563 !important; }

/* Hide search when collapsed */
.sidebar-icon-only .sidebar-search-area { display: none; }

/* Override legacy base-style nav padding */
.sidebar > .nav .nav-item .nav-link { padding: 8px 10px !important; }

/* ---- SIDEBAR NAV ITEMS (BisectHosting style) ---- */
.sidebar .sidebar-nav {
    padding: 8px 0 !important;
    flex: 1 !important;
    list-style: none !important;
    margin: 0 !important;
}

.sidebar .nav-item { list-style: none !important; }

.sidebar .sidebar-nav .nav-item .nav-link {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #9ca3af !important;
    border-radius: 8px !important;
    margin: 2px 10px !important;
    padding: 8px 10px !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    box-shadow: none !important;
    border-left: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-decoration: none !important;
}

.sidebar .sidebar-nav .nav-item .nav-link .menu-title {
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
}

/* Icon box — BisectHosting style */
.nav-icon-box {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(255,255,255,0.08);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: background 0.15s ease;
    border: 1px solid rgba(255,255,255,0.04);
}
.nav-icon-box i {
    font-size: 1.05rem !important;
    color: #8b949e !important;
    transition: color 0.15s ease;
}
.nav-icon-sm {
    width: 26px;
    height: 26px;
    border-radius: 6px;
}
.nav-icon-sm i { font-size: 0.85rem; }

/* Hover */
.sidebar .sidebar-nav .nav-item .nav-link:hover {
    background: rgba(255,255,255,0.06) !important;
    color: #f5f5f7 !important;
}
.sidebar .sidebar-nav .nav-item .nav-link:hover .nav-icon-box {
    background: rgba(139,92,246,0.15) !important;
    border-color: rgba(139,92,246,0.15) !important;
}
.sidebar .sidebar-nav .nav-item .nav-link:hover .nav-icon-box i { color: #a78bfa !important; }

/* Active */
.sidebar .sidebar-nav .nav-item.active > .nav-link,
.sidebar .sidebar-nav .nav-item > .nav-link[aria-expanded="true"] {
    background: rgba(139,92,246,0.15) !important;
    color: #c4b5fd !important;
    box-shadow: none !important;
    border-left: none !important;
}
.sidebar .sidebar-nav .nav-item.active > .nav-link .nav-icon-box,
.sidebar .sidebar-nav .nav-item > .nav-link[aria-expanded="true"] .nav-icon-box {
    background: rgba(139,92,246,0.25) !important;
    border-color: rgba(139,92,246,0.25) !important;
}
.sidebar .sidebar-nav .nav-item.active > .nav-link .nav-icon-box i,
.sidebar .sidebar-nav .nav-item > .nav-link[aria-expanded="true"] .nav-icon-box i {
    color: #a78bfa !important;
}

/* Panel settings */
.panel-settings { color: #9ca3af !important; }

/* Arrow */
.sidebar .menu-arrow {
    margin-left: auto !important;
    font-size: 0.75rem !important;
    color: #4b5563 !important;
    flex-shrink: 0 !important;
    transition: transform 0.2s ease !important;
}
.sidebar .nav-link[aria-expanded="true"] .menu-arrow {
    transform: rotate(180deg) !important;
}

/* Sub-menu */
.sidebar .sub-menu {
    padding: 2px 0 4px !important;
    background: transparent !important;
    border-left: none !important;
    margin: 0 !important;
    list-style: none !important;
}
.sidebar .sub-menu .nav-item .nav-link {
    margin: 1px 10px 1px 20px !important;
    padding: 7px 10px !important;
    font-size: 0.835rem !important;
    border-left: none !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #9ca3af !important;
    border-radius: 7px !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}
.sidebar .sub-menu .nav-item .nav-link:hover {
    background: rgba(255,255,255,0.05) !important;
    color: #f5f5f7 !important;
}

/* Remove white bar from sub-menu — belt & suspenders */
.sidebar .sub-menu .nav-item .nav-link::before,
.sidebar .sub-menu .nav-item .nav-link:hover::before,
.sidebar > .sidebar-nav .nav-item .collapse .sub-menu .nav-item .nav-link::before,
.sidebar > .sidebar-nav .nav-item .collapsing .sub-menu .nav-item .nav-link::before {
    display: none !important;
    content: none !important;
}

/* Divider */
.sidebar-divider {
    height: 1px;
    background: var(--outline);
    margin: 8px 14px;
    list-style: none;
}

/* Collapsed sidebar */
.sidebar-icon-only .sidebar { width: var(--sidebar-w-collapsed) !important; }
.sidebar-icon-only .sidebar .sidebar-nav .nav-item .nav-link {
    margin: 2px 8px !important;
    padding: 10px !important;
    justify-content: center !important;
    gap: 0 !important;
}
.sidebar-icon-only .sidebar .menu-title,
.sidebar-icon-only .sidebar .menu-arrow { display: none !important; }
.sidebar-icon-only .sidebar .nav-icon-box { margin: 0 !important; }

/* ====================================================
   MAIN PANEL & CONTENT
   ==================================================== */

.page-body-wrapper {
    padding-top: var(--navbar-h) !important;
    padding-left: 0 !important;
    min-height: 100vh;
}

.main-panel {
    background: transparent !important;
    min-height: 100vh;
    margin-left: var(--sidebar-w) !important;
    transition: margin-left 0.25s ease !important;
}

.sidebar-icon-only .main-panel {
    margin-left: var(--sidebar-w-collapsed) !important;
}

.content-wrapper {
    background: transparent !important;
    padding: 1.5rem !important;
    position: relative;
    z-index: 1;
}

/* ====================================================
   PAGE TITLE
   ==================================================== */
.page-header {
    border-bottom: 1px solid var(--outline) !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1.5rem !important;
}
.page-title {
    color: var(--white) !important;
    font-weight: 600 !important;
    font-size: 1.2rem !important;
}

/* ====================================================
   CARDS — glassmorphism
   ==================================================== */
.card {
    background: rgba(15, 15, 26, 0.75) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(139,92,246,0.15) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.3), 0 0 0 1px rgba(139,92,246,0.05) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    position: relative;
    z-index: 1;
}
.card:hover {
    border-color: rgba(139,92,246,0.28) !important;
    box-shadow: 0 6px 32px rgba(0,0,0,0.35), 0 0 20px rgba(139,92,246,0.08) !important;
}

.card .card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--outline) !important;
    border-radius: 10px 10px 0 0 !important;
    padding: 1rem 1.25rem !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
}
.card .card-body { padding: 1.25rem !important; }
.card .card-footer {
    background: transparent !important;
    border-top: 1px solid var(--outline) !important;
    border-radius: 0 0 10px 10px !important;
}

/* ====================================================
   BUTTONS
   ==================================================== */
.btn {
    border-radius: 7px !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important;
    transition: background 0.15s ease, opacity 0.15s ease !important;
    padding: 0.45rem 1rem !important;
}

.btn-primary {
    background: linear-gradient(135deg, #8b5cf6, #7c3aed) !important;
    border-color: #8b5cf6 !important;
    color: #fff !important;
    box-shadow: 0 0 0 0 rgba(139,92,246,0) !important;
}
.btn-primary:hover, .btn-primary:focus {
    background: linear-gradient(135deg, #a78bfa, #8b5cf6) !important;
    border-color: #a78bfa !important;
    box-shadow: 0 0 14px rgba(139,92,246,0.35) !important;
    transform: none !important;
}

.btn-success { background: #22c55e !important; border-color: #22c55e !important; box-shadow: none !important; }
.btn-success:hover { background: #16a34a !important; transform: none !important; }

.btn-danger { background: #ef4444 !important; border-color: #ef4444 !important; box-shadow: none !important; }
.btn-danger:hover { background: #dc2626 !important; transform: none !important; }

.btn-warning { background: #f59e0b !important; border-color: #f59e0b !important; color: #fff !important; box-shadow: none !important; }
.btn-warning:hover { background: #d97706 !important; transform: none !important; color: #fff !important; }

.btn-info { background: #3b82f6 !important; border-color: #3b82f6 !important; color: #fff !important; box-shadow: none !important; }
.btn-info:hover { background: #2563eb !important; transform: none !important; color: #fff !important; }

.btn-secondary, .btn-dark, .btn-light {
    background: #1e1e35 !important;
    border-color: var(--outline) !important;
    color: #d1d5db !important;
    box-shadow: none !important;
}
.btn-secondary:hover, .btn-dark:hover, .btn-light:hover {
    background: #2a2a45 !important;
    color: var(--white) !important;
    transform: none !important;
}

.btn-outline-primary {
    color: #a78bfa !important;
    border-color: rgba(139,92,246,0.4) !important;
    background: transparent !important;
}
.btn-outline-primary:hover {
    background: rgba(139,92,246,0.12) !important;
    color: #c4b5fd !important;
    transform: none !important;
}

.btn { position: relative; overflow: hidden; }
.btn .ripple-effect {
    position: absolute;
    border-radius: 50%;
    width: 8px; height: 8px;
    background: rgba(255,255,255,0.25);
    transform: scale(0);
    animation: ripple 0.5s linear;
    pointer-events: none;
}

/* ====================================================
   FORMS
   ==================================================== */
.form-control {
    background: var(--dropdown-bg) !important;
    border: 1px solid var(--outline) !important;
    color: var(--base-text) !important;
    border-radius: 7px !important;
    font-size: 0.875rem !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.form-control:focus {
    background: var(--dropdown-bg) !important;
    border-color: rgba(139,92,246,0.6) !important;
    box-shadow: 0 0 0 3px rgba(139,92,246,0.12) !important;
    color: var(--white) !important;
}
.form-control::placeholder { color: #4b5563 !important; }
select.form-control option { background: var(--card-banner-bg) !important; }
.form-group label { color: #d1d5db !important; font-size: 0.82rem !important; font-weight: 500 !important; margin-bottom: 0.35rem !important; }
.input-group-text { background: var(--outline) !important; border-color: var(--outline) !important; color: var(--gray-light) !important; border-radius: 7px !important; }

/* ====================================================
   TABLES
   ==================================================== */
.table { color: var(--base-text) !important; font-size: 0.875rem !important; }

.table thead th {
    background: var(--card-banner-bg) !important;
    border-bottom: 1px solid var(--outline) !important;
    color: #6b7280 !important;
    font-weight: 600 !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    padding: 0.75rem 1rem !important;
    border-top: none !important;
}

.table tbody td {
    border-color: var(--outline) !important;
    vertical-align: middle !important;
    padding: 0.75rem 1rem !important;
    color: #e2e8f0 !important;
}

.table-striped tbody tr:nth-of-type(odd) { background: rgba(139,92,246,0.03) !important; }
.table-hover tbody tr:hover { background: rgba(139,92,246,0.07) !important; }
.table-bordered, .table-bordered td, .table-bordered th { border-color: var(--outline) !important; }

/* ====================================================
   BADGES
   ==================================================== */
.badge-primary { background: rgba(139,92,246,0.15) !important; color: #c4b5fd !important; border: 1px solid rgba(139,92,246,0.3) !important; border-radius: 5px !important; font-weight: 500 !important; }
.badge-success { background: rgba(34,197,94,0.15) !important;  color: #86efac !important; border: 1px solid rgba(34,197,94,0.3) !important;  border-radius: 5px !important; }
.badge-danger  { background: rgba(239,68,68,0.15) !important;  color: #fca5a5 !important; border: 1px solid rgba(239,68,68,0.3) !important;  border-radius: 5px !important; }
.badge-warning { background: rgba(245,158,11,0.15) !important; color: #fcd34d !important; border: 1px solid rgba(245,158,11,0.3) !important; border-radius: 5px !important; }
.badge-info    { background: rgba(59,130,246,0.15) !important; color: #93c5fd !important; border: 1px solid rgba(59,130,246,0.3) !important;  border-radius: 5px !important; }
.badge-pill { padding: 4px 10px !important; border-radius: 5px !important; }

/* ====================================================
   DROPDOWNS
   ==================================================== */
.dropdown-menu {
    background: var(--card-banner-bg) !important;
    border: 1px solid var(--outline) !important;
    border-radius: 9px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
    padding: 4px !important;
}
.dropdown-item { color: #d1d5db !important; border-radius: 6px !important; padding: 7px 12px !important; font-size: 0.875rem !important; transition: background 0.12s ease !important; }
.dropdown-item:hover, .dropdown-item:focus { background: rgba(139,92,246,0.1) !important; color: #c4b5fd !important; }
.dropdown-divider { border-color: var(--outline) !important; }

/* ====================================================
   MODALS
   ==================================================== */
.modal-content { background: rgba(15,15,26,0.92) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; border: 1px solid rgba(139,92,246,0.2) !important; border-radius: 12px !important; box-shadow: 0 25px 60px rgba(0,0,0,0.7), 0 0 40px rgba(139,92,246,0.08) !important; }
.modal-header { background: transparent !important; border-bottom: 1px solid var(--outline) !important; border-radius: 12px 12px 0 0 !important; padding: 1rem 1.25rem !important; }
.modal-header .modal-title { font-weight: 600 !important; color: var(--white) !important; font-size: 1rem !important; }
.modal-body { padding: 1.25rem !important; }
.modal-footer { border-top: 1px solid var(--outline) !important; border-radius: 0 0 12px 12px !important; padding: 0.875rem 1.25rem !important; }
.modal-backdrop { background: rgba(0,0,0,0.75) !important; }

/* ====================================================
   ALERTS / TABS / PROGRESS / etc.
   ==================================================== */
.alert { border-radius: 8px !important; border: 1px solid !important; font-size: 0.875rem !important; }
.alert-primary { background: rgba(139,92,246,0.1) !important; border-color: rgba(139,92,246,0.25) !important; color: #c4b5fd !important; }
.alert-success { background: rgba(34,197,94,0.1) !important;  border-color: rgba(34,197,94,0.25) !important;  color: #86efac !important; }
.alert-danger  { background: rgba(239,68,68,0.1) !important;  border-color: rgba(239,68,68,0.25) !important;  color: #fca5a5 !important; }
.alert-warning { background: rgba(245,158,11,0.1) !important; border-color: rgba(245,158,11,0.25) !important; color: #fcd34d !important; }

.nav-tabs { border-bottom: 1px solid var(--outline) !important; }
.nav-tabs .nav-link { color: #9ca3af !important; border: none !important; border-radius: 7px 7px 0 0 !important; padding: 0.6rem 1.1rem !important; font-size: 0.875rem !important; font-weight: 500 !important; transition: color 0.15s ease !important; }
.nav-tabs .nav-link:hover { color: #d1d5db !important; background: rgba(255,255,255,0.04) !important; }
.nav-tabs .nav-link.active { color: var(--white) !important; border-bottom: 2px solid #8b5cf6 !important; font-weight: 600 !important; background: transparent !important; }

.progress { background: var(--outline) !important; border-radius: 4px !important; height: 6px !important; }
.progress-bar { background: linear-gradient(90deg, #8b5cf6, #3b82f6) !important; border-radius: 4px !important; }
.progress-bar.bg-success { background: #22c55e !important; }
.progress-bar.bg-danger  { background: #ef4444 !important; }
.progress-bar.bg-warning { background: #f59e0b !important; }

.list-group-item { background: var(--card-banner-bg) !important; border-color: var(--outline) !important; color: var(--base-text) !important; transition: background 0.12s ease !important; }
.list-group-item:hover { background: rgba(139,92,246,0.07) !important; }
.list-group-item.active { background: rgba(139,92,246,0.18) !important; border-color: rgba(139,92,246,0.35) !important; color: #c4b5fd !important; }

.tooltip-inner { background: #0a0a14 !important; border: 1px solid var(--outline) !important; border-radius: 5px !important; font-size: 0.8rem !important; padding: 4px 10px !important; color: var(--white) !important; }

/* ====================================================
   FOOTER
   ==================================================== */
.footer { background: rgba(6,6,8,0.7) !important; backdrop-filter: blur(12px) !important; border-top: 1px solid rgba(139,92,246,0.1) !important; color: #4b5563 !important; font-size: 0.8rem !important; position: relative; z-index: 1; }
.footer a { color: #6b7280 !important; transition: color 0.15s ease !important; }
.footer a:hover { color: #a78bfa !important; }

/* ====================================================
   MISC
   ==================================================== */
hr { border-color: var(--outline) !important; }
.text-muted { color: #9ca3af !important; }
small, .small { color: #9ca3af !important; }
.form-text { color: #9ca3af !important; }
.text-secondary { color: #9ca3af !important; }
h7 { display: block; color: #9ca3af !important; font-size: 0.875rem; }
.text-primary { color: #a78bfa !important; }
.border { border-color: var(--outline) !important; }
.bg-dark { background: var(--deep-bg) !important; }
a { color: #a78bfa; transition: color 0.15s ease; }
a:hover { color: #c4b5fd; text-decoration: none; }

.terminal-wrapper, #terminal { background: #03030a !important; border: 1px solid var(--outline) !important; border-radius: 9px !important; }
.toggle.btn-primary { background: #8b5cf6 !important; border-color: #7c3aed !important; }

.toast-header { background: var(--card-banner-bg) !important; border-bottom: 1px solid var(--outline) !important; color: var(--base-text) !important; }
.toast-body { background: var(--dropdown-bg) !important; color: var(--base-text) !important; }

.auth .auto-form-wrapper { background: var(--card-banner-bg) !important; border: 1px solid var(--outline) !important; border-radius: 12px !important; box-shadow: 0 20px 60px rgba(0,0,0,0.6) !important; padding: 2rem !important; }
.auth-bg-1 { background: var(--base-bg) !important; }

.bootstrap-select .dropdown-menu { background: var(--card-banner-bg) !important; border-color: var(--outline) !important; }
.bootstrap-select .dropdown-item.active, .bootstrap-select .dropdown-item:active { background: rgba(139,92,246,0.15) !important; color: #c4b5fd !important; }

.bootbox .modal-content { background: var(--card-banner-bg) !important; border-color: var(--outline) !important; border-radius: 12px !important; }

.dataTables_wrapper .dataTables_filter input { background: var(--dropdown-bg) !important; border: 1px solid var(--outline) !important; color: var(--base-text) !important; border-radius: 7px !important; }
.dataTables_wrapper .dataTables_length select { background: var(--dropdown-bg) !important; border: 1px solid var(--outline) !important; color: var(--base-text) !important; border-radius: 7px !important; }
.dataTables_wrapper .dataTables_info { color: #4b5563 !important; font-size: 0.8rem !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button { color: #9ca3af !important; border-radius: 6px !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button:hover { background: rgba(139,92,246,0.1) !important; color: #c4b5fd !important; border-color: rgba(139,92,246,0.25) !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current { background: rgba(139,92,246,0.18) !important; color: #c4b5fd !important; border-color: rgba(139,92,246,0.35) !important; font-weight: 600 !important; }

/* ====================================================
   DASHBOARD — Stats Widget
   ==================================================== */
.card-body:has(#cpu_data) { padding: 0 !important; }
.card-body:has(#cpu_data) > .row { margin: 0 !important; }
.card-body:has(#cpu_data) > .row > [class*="col-"] { padding: 1.5rem 1.75rem !important; }
.card-body:has(#cpu_data) > .row > .col-xl-4:not(:last-child),
.card-body:has(#cpu_data) > .row > .col-md-5,
.card-body:has(#cpu_data) > .row > .col-md-4 { border-right: 1px solid var(--outline) !important; }
.card-body:has(#cpu_data) > .row > .col-12 { border-top: 1px solid var(--outline) !important; padding: 1.25rem 1.75rem !important; }

.card-body:has(#cpu_data) > .row > .col-xl-4:first-child,
.card-body:has(#cpu_data) > .row > .col-md-5 { display: flex !important; flex-direction: column !important; gap: 0 !important; }

.card-body:has(#cpu_data) > .row > .col-xl-4:first-child > .d-flex,
.card-body:has(#cpu_data) > .row > .col-md-5 > .d-flex { flex-direction: column !important; align-items: flex-start !important; gap: 0.6rem !important; width: 100% !important; }

.card-body:has(#cpu_data) > .row > .col-xl-4:first-child .wrapper:first-child,
.card-body:has(#cpu_data) > .row > .col-md-5 .wrapper:first-child { display: flex !important; align-items: center !important; gap: 0.5rem !important; width: 100% !important; min-width: unset !important; }

.card-body:has(#cpu_data) > .row > .col-xl-4:first-child .wrapper:first-child > h3,
.card-body:has(#cpu_data) > .row > .col-md-5 .wrapper:first-child > h3 { display: none !important; }

.card-body:has(#cpu_data) > .row > .col-xl-4:first-child .wrapper.ml-auto,
.card-body:has(#cpu_data) > .row > .col-xl-4:first-child .wrapper.my-auto,
.card-body:has(#cpu_data) > .row > .col-md-5 .wrapper.ml-auto,
.card-body:has(#cpu_data) > .row > .col-md-5 .wrapper.my-auto { display: flex !important; flex-direction: row !important; gap: 0.5rem !important; width: 100% !important; min-width: unset !important; align-items: stretch !important; margin: 0 !important; }

.card-body:has(#cpu_data) h5.text-primary { font-size: 0.63rem !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; color: #4b5563 !important; margin: 0 !important; display: flex !important; align-items: center !important; gap: 0.4rem !important; }
.card-body:has(#cpu_data) h5.text-primary::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #8b5cf6; flex-shrink: 0; }

#cpu_data, #mem_usage { display: flex !important; flex-direction: column !important; flex: 1 !important; min-width: 0 !important; border: 1px solid var(--outline) !important; border-radius: 7px !important; padding: 0.55rem 0.8rem !important; font-size: 0 !important; transition: border-color 0.15s ease !important; cursor: default; }
#cpu_data::before  { content: 'CPU'; font-size: 0.58rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #4b5563; }
#mem_usage::before { content: 'RAM'; font-size: 0.58rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #4b5563; }
#cpu_data  { background: rgba(34,197,94,0.05) !important;  border-left: 2px solid #22c55e !important; }
#mem_usage { background: rgba(239,68,68,0.05) !important;  border-left: 2px solid #ef4444 !important; }

#cpu_usage, #mem_percent { display: block !important; font-size: 1.4rem !important; font-weight: 700 !important; font-family: var(--font-family-sans-serif) !important; letter-spacing: -0.03em !important; line-height: 1.1 !important; margin-top: 0.12rem !important; white-space: nowrap !important; }
#cpu_usage  { color: #4ade80 !important; }
#mem_percent { color: #f87171 !important; }

.card-body:has(#cpu_data) .wrapper.ml-auto p::before,
.card-body:has(#cpu_data) .wrapper.my-auto p::before { display: none !important; }

.card-body:has(#cpu_data) .col-xl-4:not(:first-child) .wrapper > h3,
.card-body:has(#cpu_data) .col-md-4 .wrapper > h3,
.card-body:has(#cpu_data) .col-md-3 .wrapper > h3 { font-size: 2.5rem !important; font-weight: 700 !important; font-family: var(--font-family-sans-serif) !important; color: var(--white) !important; letter-spacing: -0.04em !important; line-height: 1 !important; margin: 0 !important; -webkit-text-fill-color: var(--white) !important; }

.card-body:has(#cpu_data) .col-xl-4:not(:first-child) .wrapper.ml-auto,
.card-body:has(#cpu_data) .col-xl-4:not(:first-child) .wrapper.my-auto,
.card-body:has(#cpu_data) .col-md-4 .wrapper.ml-auto,
.card-body:has(#cpu_data) .col-md-3 .wrapper.my-auto { display: flex !important; flex-direction: column !important; gap: 0.25rem !important; align-items: flex-start !important; width: 100% !important; }

.card-body:has(#cpu_data) .col-xl-4:not(:first-child) .wrapper.ml-auto p,
.card-body:has(#cpu_data) .col-xl-4:not(:first-child) .wrapper.my-auto p,
.card-body:has(#cpu_data) .col-md-4 .wrapper.ml-auto p,
.card-body:has(#cpu_data) .col-md-3 .wrapper.my-auto p { font-size: 0.82rem !important; margin: 0 !important; display: flex !important; align-items: center !important; gap: 0.35rem !important; }

.card-body:has(#cpu_data) .col-xl-4:not(:first-child) .wrapper.ml-auto p::before,
.card-body:has(#cpu_data) .col-xl-4:not(:first-child) .wrapper.my-auto p::before,
.card-body:has(#cpu_data) .col-md-4 .wrapper.ml-auto p::before,
.card-body:has(#cpu_data) .col-md-3 .wrapper.my-auto p::before { content: ''; display: block !important; width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: 0.7; flex-shrink: 0; }

/* Storage */
#storage_data h4.storage-heading { font-size: 0.78rem !important; font-weight: 600 !important; color: #6b7280 !important; margin-bottom: 0.4rem !important; display: flex !important; align-items: center !important; gap: 0.35rem !important; }
#storage_data h4.storage-heading i { color: #a78bfa !important; -webkit-text-fill-color: #a78bfa !important; }

.disk-usage.progress { height: 22px !important; border-radius: 5px !important; background: var(--outline) !important; margin-top: 0.2rem !important; overflow: hidden !important; }
.disk-usage .progress-bar { font-size: 0.7rem !important; font-weight: 600 !important; line-height: 22px !important; padding: 0 10px !important; white-space: nowrap !important; min-width: fit-content !important; }
.disk-usage .progress-bar.bg-success,
.disk-usage .progress-bar.bg-warning,
.disk-usage .progress-bar.bg-danger { background: linear-gradient(90deg, #8b5cf6, #3b82f6) !important; color: #fff !important; }

/* Panel storage */
.panel-storage-heading { color: #a78bfa !important; font-size: 0.78rem !important; }
.panel-storage-heading i { color: #a78bfa !important; -webkit-text-fill-color: #a78bfa !important; }
.panel-dir-size-label { margin: 0.25rem 0 0 !important; display: flex !important; align-items: baseline !important; gap: 0.5rem !important; }
#panel_dir_size { font-size: 1rem !important; font-weight: 700 !important; color: #c4b5fd !important; font-family: var(--font-family-sans-serif) !important; }
.panel-dir-size-label small { font-size: 0.62rem !important; color: #4b5563 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; }

/* ====================================================
   SERVER NAV TABS — single scrollable row
   ==================================================== */
.nav.nav-tabs.tab-simple-styled {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch;
    border-bottom: 1px solid var(--outline) !important;
    gap: 2px !important;
    padding-bottom: 0 !important;
}
.nav.nav-tabs.tab-simple-styled::-webkit-scrollbar { display: none !important; }

.nav.nav-tabs.tab-simple-styled .nav-item.term-nav-item {
    flex-shrink: 0 !important;
    padding: 0 !important;
}

.nav.nav-tabs.tab-simple-styled .nav-link {
    white-space: nowrap !important;
    padding: 10px 14px !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    color: #6b7280 !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: color 0.15s ease, border-color 0.15s ease !important;
}
.nav.nav-tabs.tab-simple-styled .nav-link:hover {
    color: #d1d5db !important;
    background: rgba(255,255,255,0.04) !important;
}
.nav.nav-tabs.tab-simple-styled .nav-link.active {
    color: #a78bfa !important;
    border-bottom-color: #8b5cf6 !important;
    background: transparent !important;
    font-weight: 600 !important;
}
.nav.nav-tabs.tab-simple-styled .nav-link.text-danger {
    color: #f87171 !important;
}

/* ====================================================
   MAIN PANEL — clip overflowing elements (metrics tooltip etc.)
   ==================================================== */
.main-panel { overflow-x: hidden !important; }
.content-wrapper { overflow-x: hidden !important; }

/* ====================================================
   BUTTONS — force white text on all colored variants
   ==================================================== */
.btn-primary, .btn-success, .btn-danger, .btn-warning,
.btn-info, .btn-dark, .btn-secondary { color: #fff !important; }
.btn-primary:hover, .btn-success:hover, .btn-danger:hover,
.btn-warning:hover, .btn-info:hover { color: #fff !important; }

/* File manager action buttons */
.btn-outline-info {
    color: #60a5fa !important;
    border-color: rgba(59,130,246,0.4) !important;
    background: transparent !important;
}
.btn-outline-info:hover {
    background: rgba(59,130,246,0.12) !important;
    color: #93c5fd !important;
}

/* Backup badge */
.badge-outline-warning {
    background: rgba(245,158,11,0.1) !important;
    border: 1px solid rgba(245,158,11,0.35) !important;
    color: #fcd34d !important;
    border-radius: 5px !important;
    padding: 3px 8px !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
}
.backup-explain {
    background: transparent !important;
    border: none !important;
    color: #6b7280 !important;
    padding: 0 4px !important;
    font-size: 0.75rem !important;
}
.backup-explain:hover { color: #a78bfa !important; }
