/* ============================================================
 * Drone Réunion — Navbar Sidebar (Variante Aérien)
 * Version: 2.1.0
 * Date: 02 février 2026
 *
 * Ce fichier gère TOUTE la sidebar/navbar.
 * Le theme (drone-reunion-theme.css) ne touche PAS à la navbar.
 *
 * Dépend des variables --dr-* définies dans le theme.
 * Charger APRÈS drone-reunion-theme.css.
 *
 * v2.1.0 FIX:
 *   - li.dropdown.more: suppression du all:unset, gardé
 *     position:relative pour que Bootstrap dropdown fonctionne
 *   - Supprimé le ::after "Plus…" qui cassait le caret Bootstrap
 *   - Le texte "Plus…" est maintenant dans le template (<span>)
 *   - Minimized: styles renforcés avec !important partout
 * ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=JetBrains+Mono:wght@400&display=swap');


/* ─── Variables locales ─── */
:root {
    --nav-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --nav-radius: 8px;
    --font-nav: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-nav-mono: 'JetBrains Mono', monospace;
}


/* ================================================================
   1. SIDEBAR CONTAINER
   ================================================================ */

.navbar.navbar-inverse {
    all: unset !important;
    display: flex !important;
    flex-direction: column !important;
    width: var(--dr-sidebar-width) !important;
    height: 100vh !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    background-color: var(--dr-bg-sidebar) !important;
    border: none !important;
    border-right: 1px solid var(--dr-border-light) !important;
    font-family: var(--font-nav) !important;
    transition: width var(--nav-transition) !important;
    overflow: hidden !important;
    z-index: 1100 !important;
    box-sizing: border-box !important;
}

body.minimized .navbar.navbar-inverse {
    width: var(--dr-sidebar-minimized-width) !important;
}


/* ================================================================
   2. HEADER
   ================================================================ */

.navbar-header,
.dr-header {
    display: flex !important;
    align-items: center !important;
    padding: 12px 14px !important;
    gap: 12px !important;
    border: none !important;
    border-bottom: 1px solid var(--dr-border-light) !important;
    flex-shrink: 0 !important;
    min-height: 64px !important;
    background-color: var(--dr-bg-sidebar) !important;
    float: none !important;
}

.navbar-header .navbar-toggle {
    display: none !important;
}

/* ─── Logo (dr-* classes avoid EspoCRM conflicts) ─── */
.dr-brand {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    color: inherit !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    font-family: var(--font-nav) !important;
    letter-spacing: -0.3px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    float: none !important;
    height: auto !important;
}
.dr-brand:hover {
    color: inherit !important;
    background: none !important;
    text-decoration: none !important;
}

.dr-logo {
    height: 40px !important;
    width: auto !important;
    max-width: 160px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

/* In minimized mode, constrain logo to fit narrow sidebar */
body.minimized .dr-logo {
    height: 32px !important;
    width: 32px !important;
    max-width: 32px !important;
    object-fit: contain !important;
}

.dr-brand-text {
    overflow: hidden !important;
    opacity: 1 !important;
    transition: opacity var(--nav-transition) !important;
    color: var(--dr-text-primary) !important;
}
body.minimized .dr-brand-text {
    display: none !important;
}

.side-menu-button {
    display: none !important;
    border: none !important;
}


/* ================================================================
   3. BODY
   ================================================================ */

.navbar-collapse.navbar-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background-color: var(--dr-bg-sidebar) !important;
    height: auto !important;
    visibility: visible !important;
    float: none !important;
    width: auto !important;
}


/* ================================================================
   4. TAB LIST
   ================================================================ */

ul.nav.navbar-nav.tabs {
    all: unset !important;
    display: block !important;
    flex: 1 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 8px 8px 16px !important;
    list-style: none !important;
    margin: 0 !important;
    scrollbar-width: thin;
    scrollbar-color: var(--dr-border) transparent;
}
ul.nav.navbar-nav.tabs::-webkit-scrollbar { width: 4px; }
ul.nav.navbar-nav.tabs::-webkit-scrollbar-thumb { background: var(--dr-border); border-radius: 4px; }

/* Minimized: reduce side padding for better icon centering */
body.minimized ul.nav.navbar-nav.tabs {
    padding: 8px 4px 16px !important;
}


/* ================================================================
   5. SECTION LABELS — .tab-divider
   ================================================================ */

li.tab.tab-divider,
.nav.navbar-nav.tabs > li.tab-divider {
    all: unset !important;
    display: block !important;
    padding: 16px 8px 6px !important;
    font-family: var(--font-nav) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: var(--dr-text-light) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    transition: opacity var(--nav-transition) !important;
    list-style: none !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
}
li.tab.tab-divider .label-text {
    font: inherit !important;
    color: inherit !important;
    letter-spacing: inherit !important;
}
body.minimized li.tab.tab-divider,
body.minimized .nav.navbar-nav.tabs > li.tab-divider {
    display: block !important;
    height: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}


/* ================================================================
   6. TAB ITEMS — EXPANDED STATE
   ================================================================ */

/* ─── The <li> ─── */
li.tab:not(.tab-divider),
.nav.navbar-nav.tabs > li.tab:not(.tab-divider) {
    all: unset !important;
    display: block !important;
    margin-bottom: 1px !important;
    list-style: none !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* ─── The <a> link ─── */
li.tab:not(.tab-divider) > a,
.nav.navbar-nav.tabs > li.tab:not(.tab-divider) > a {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 10px !important;
    border-radius: var(--nav-radius) !important;
    color: var(--dr-text-muted) !important;
    font-family: var(--font-nav) !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: all var(--nav-transition) !important;
    position: relative !important;
    box-sizing: border-box !important;
    border: none !important;
    background: transparent !important;
    text-decoration: none !important;
}

/* Hover */
li.tab:not(.tab-divider) > a:hover,
.nav.navbar-nav.tabs > li.tab:not(.tab-divider) > a:hover {
    background-color: var(--dr-sidebar-item-hover-bg) !important;
    color: var(--dr-text-secondary) !important;
}

/* ─── Active state (expanded) ─── */
li.tab:not(.tab-divider).active > a,
li.tab:not(.tab-divider) > a.active,
.nav.navbar-nav.tabs > li.tab:not(.tab-divider).active > a,
.nav.navbar-nav.tabs > li.tab:not(.tab-divider) > a.active {
    background-color: var(--dr-sidebar-item-active-bg) !important;
    color: var(--dr-text-muted) !important;
    font-weight: 600 !important;
    border: none !important;
    border-right: 3px solid var(--dr-sidebar-item-active-border) !important;
    border-radius: var(--nav-radius) !important;
}

/* ─── Icons (.short-label) ─── */
li.tab > a .short-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    flex-shrink: 0 !important;
    font-size: 14px !important;
    opacity: 0.7 !important;
    transition: opacity var(--nav-transition) !important;
    color: inherit !important;
}
li.tab > a:hover .short-label,
li.tab.active > a .short-label,
li.tab > a.active .short-label {
    opacity: 1 !important;
}
li.tab > a .short-label .fas,
li.tab > a .short-label .far,
li.tab > a .short-label .fa,
li.tab > a .short-label [class*="fa-"] {
    color: inherit !important;
    margin: 0 !important;
    width: auto !important;
}
li.tab > a .short-label .short-label-text {
    display: none !important;
}

/* ─── Full label ─── */
li.tab > a .full-label {
    overflow: hidden !important;
    opacity: 1 !important;
    transition: opacity var(--nav-transition) !important;
}

/* ─── Group caret ─── */
li.tab > a .group-caret {
    margin-left: auto !important;
    font-size: 10px !important;
    color: var(--dr-text-light) !important;
}


/* ================================================================
   6b. TAB ITEMS — MINIMIZED STATE
   ================================================================ */

/* Labels hidden - completely remove from flex flow */
body.minimized li.tab > a .full-label {
    display: none !important;
}

/* Caret hidden */
body.minimized li.tab > a .group-caret {
    display: none !important;
}

/* Icon larger area in minimized for better centering */
body.minimized li.tab > a .short-label {
    width: auto !important;
    font-size: 16px !important;
    opacity: 0.7 !important;
}

/* Centered icon-only layout */
body.minimized li.tab:not(.tab-divider) > a,
body.minimized .nav.navbar-nav.tabs > li.tab:not(.tab-divider) > a {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 12px 10px !important;
    gap: 0 !important;
    border: none !important;
    box-sizing: border-box !important;
}

/* Ensure li.tab takes full width in minimized */
body.minimized li.tab:not(.tab-divider),
body.minimized .nav.navbar-nav.tabs > li.tab:not(.tab-divider) {
    display: block !important;
    width: 100% !important;
    margin-bottom: 4px !important;
}

/* Active state in minimized: bottom border instead of right */
body.minimized li.tab:not(.tab-divider).active > a,
body.minimized li.tab:not(.tab-divider) > a.active,
body.minimized .nav.navbar-nav.tabs > li.tab:not(.tab-divider).active > a,
body.minimized .nav.navbar-nav.tabs > li.tab:not(.tab-divider) > a.active {
    background-color: var(--dr-sidebar-item-active-bg) !important;
    color: var(--dr-sidebar-item-active-text) !important;
    border: none !important;
    border-bottom: 3px solid var(--dr-sidebar-item-active-border) !important;
    border-radius: var(--nav-radius) !important;
}
body.minimized li.tab:not(.tab-divider).active > a .short-label,
body.minimized li.tab:not(.tab-divider) > a.active .short-label {
    opacity: 1 !important;
    color: var(--dr-sidebar-item-active-text) !important;
}

/* ─── Tooltips (minimized) ─── */
body.minimized li.tab:not(.tab-divider) > a[title]::after {
    content: attr(title) !important;
    position: absolute !important;
    left: calc(100% + 12px) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: #1e293b !important;
    color: #fff !important;
    font-family: var(--font-nav) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 5px 10px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.15s !important;
    z-index: 1000 !important;
}
body.minimized li.tab:not(.tab-divider) > a[title]:hover::after {
    opacity: 1 !important;
}


/* ================================================================
   7. GROUP DROPDOWNS
   ================================================================ */

li.tab-group > .dropdown-menu {
    position: fixed !important;
    left: var(--dr-sidebar-width) !important;
    top: auto !important;
    z-index: 1200 !important;
    background: #fff !important;
    border: 1px solid var(--dr-border) !important;
    border-radius: var(--nav-radius) !important;
    padding: 4px !important;
    min-width: 180px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    list-style: none !important;
}
li.tab-group > .dropdown-menu li {
    list-style: none !important;
}
li.tab-group > .dropdown-menu li > a {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 10px !important;
    border-radius: 6px !important;
    color: var(--dr-text-secondary) !important;
    font-family: var(--font-nav) !important;
    font-size: 13px !important;
    cursor: pointer !important;
    transition: background 0.12s !important;
    white-space: nowrap !important;
}
li.tab-group > .dropdown-menu li > a:hover {
    background: var(--dr-sidebar-item-hover-bg) !important;
}
li.tab-group > .dropdown-menu .divider {
    height: 1px !important;
    background: var(--dr-border-light) !important;
    margin: 4px 8px !important;
}


/* ================================================================
   8. MORE / OVERFLOW DROPDOWN
   ══════════════════════════════════════════════════════════════
   CRITICAL: NO all:unset here — Bootstrap needs position:relative
   for dropdown positioning. Override properties individually.
   ================================================================ */

li.dropdown.more,
.nav.navbar-nav.tabs > li.dropdown.more {
    /* Reset visual — keep structural */
    display: block !important;
    list-style: none !important;
    padding: 0 !important;
    margin-top: 4px !important;
    background: transparent !important;
    border: none !important;
    float: none !important;
    /* CRITICAL: keep position for dropdown */
    position: relative !important;
}
li.dropdown.more.hidden {
    display: none !important;
}
/* "More" overflow hidden in sidebar layout (see navbar.tpl) */

/* The toggle link — styled like a tab */
li.dropdown.more > a.dropdown-toggle,
.nav.navbar-nav.tabs > li.dropdown.more > a.dropdown-toggle,
.nav.navbar-nav.tabs > li.dropdown.more > a {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 10px !important;
    border-radius: var(--nav-radius) !important;
    color: var(--dr-text-muted) !important;
    font-family: var(--font-nav) !important;
    font-size: 13.5px !important;
    cursor: pointer !important;
    transition: all var(--nav-transition) !important;
    box-sizing: border-box !important;
    position: relative !important;
    white-space: nowrap !important;
}
li.dropdown.more > a:hover {
    background: var(--dr-sidebar-item-hover-bg) !important;
    color: var(--dr-text-secondary) !important;
}

/* Kill Bootstrap's default caret ::after on .dropdown-toggle */
li.dropdown.more > a.dropdown-toggle::after {
    display: none !important;
    content: none !important;
    border: none !important;
}
li.dropdown.more > a.dropdown-toggle::before {
    display: none !important;
    content: none !important;
}

/* Icon inside the more toggle */
li.dropdown.more > a .short-label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    font-size: 14px !important;
    flex-shrink: 0 !important;
    opacity: 0.7 !important;
    color: inherit !important;
}

/* Full label "Plus…" */
li.dropdown.more > a .full-label {
    overflow: hidden !important;
    opacity: 1 !important;
    transition: opacity var(--nav-transition) !important;
    color: var(--dr-text-muted) !important;
}

/* Minimized: icon-only */
body.minimized li.dropdown.more {
    display: block !important;
    width: 100% !important;
}
body.minimized li.dropdown.more > a.dropdown-toggle,
body.minimized .nav.navbar-nav.tabs > li.dropdown.more > a {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px !important;
    gap: 0 !important;
    box-sizing: border-box !important;
}
body.minimized li.dropdown.more > a .full-label {
    display: none !important;
}

/* Minimized: dropdowns align to minimized sidebar width */
body.minimized li.dropdown.more > .dropdown-menu {
    left: var(--dr-sidebar-minimized-width) !important;
}
body.minimized li.tab-group > .dropdown-menu {
    left: var(--dr-sidebar-minimized-width) !important;
}

/* Tooltip for "more" in minimized */
body.minimized li.dropdown.more > a[title]::after {
    content: attr(title) !important;
    display: block !important;
    position: absolute !important;
    left: calc(100% + 12px) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: #1e293b !important;
    color: #fff !important;
    font-family: var(--font-nav) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 5px 10px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.15s !important;
    z-index: 1000 !important;
    border: none !important;
}
body.minimized li.dropdown.more > a[title]:hover::after {
    opacity: 1 !important;
}

/* ─── More dropdown MENU ─── */
/* position: fixed escapes parent overflow:hidden.
   left = sidebar width, bottom aligned to trigger.
   JS Bootstrap .open toggles display via the class. */
li.dropdown.more > .dropdown-menu {
    position: fixed !important;
    left: var(--dr-sidebar-width) !important;
    bottom: 80px !important;
    top: auto !important;
    right: auto !important;
    z-index: 1200 !important;
    background: #fff !important;
    border: 1px solid var(--dr-border) !important;
    border-radius: var(--nav-radius) !important;
    padding: 4px !important;
    min-width: 200px !important;
    max-height: 60vh !important;
    overflow-y: auto !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    list-style: none !important;
    float: none !important;
    margin: 0 !important;
}

/* Items inside more dropdown */
li.dropdown.more > .dropdown-menu > li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    float: none !important;
}
li.dropdown.more > .dropdown-menu > li > a {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 10px !important;
    border-radius: 6px !important;
    color: var(--dr-text-secondary) !important;
    font-family: var(--font-nav) !important;
    font-size: 13px !important;
    cursor: pointer !important;
    transition: background 0.12s !important;
    white-space: nowrap !important;
}
li.dropdown.more > .dropdown-menu > li > a:hover {
    background: var(--dr-sidebar-item-hover-bg) !important;
}

/* Dividers inside more */
li.dropdown.more > .dropdown-menu > li.tab-divider {
    padding: 8px 8px 4px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: var(--dr-text-light) !important;
}


/* ================================================================
   9. NAVBAR RIGHT (hidden)
   ================================================================ */

.navbar-right-container,
.navbar-right {
    display: none !important;
}


/* ================================================================
   10. FOOTER
   ================================================================ */

.navbar-footer {
    flex-shrink: 0 !important;
    border-top: 1px solid var(--dr-border-light) !important;
    padding: 10px 8px 8px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    background: var(--dr-bg-sidebar) !important;
}

/* ─── Language Toggle ─── */
.navbar-footer .navbar-footer-lang {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    background: #e8ecf0 !important;
    border-radius: 6px !important;
    padding: 2px !important;
    opacity: 1 !important;
}
.navbar-footer .btn-navbar-footer {
    all: unset !important;
    flex: 1 !important;
    text-align: center !important;
    color: var(--dr-text-muted) !important;
    font-family: var(--font-nav-mono) !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px !important;
    padding: 4px 0 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    box-sizing: border-box !important;
}
.navbar-footer .btn-navbar-footer:hover {
    color: var(--dr-text-secondary) !important;
}
.navbar-footer .btn-navbar-footer.active {
    background: #fff !important;
    color: var(--dr-primary) !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}
body.minimized .navbar-footer .navbar-footer-lang {
    flex-direction: column !important;
    padding: 2px !important;
    gap: 1px !important;
}

/* Reduce footer padding in minimized */
body.minimized .navbar-footer {
    padding: 10px 4px 8px !important;
}
body.minimized .navbar-footer .btn-navbar-footer {
    font-size: 9px !important;
    padding: 3px 2px !important;
}

/* Stack footer actions vertically in minimized */
body.minimized .navbar-footer .navbar-footer-actions {
    flex-direction: column !important;
    gap: 4px !important;
}
body.minimized .navbar-footer .navbar-footer-item {
    width: 100% !important;
    height: 32px !important;
}
body.minimized .navbar-footer .notifications-badge-container {
    width: 100% !important;
    height: 32px !important;
}

.navbar-footer .navbar-footer-lang-sep {
    display: none !important;
}

/* ─── Actions Row ─── */
.navbar-footer .navbar-footer-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-around !important;
    gap: 2px !important;
}
.navbar-footer .navbar-footer-item {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: var(--nav-radius) !important;
    color: var(--dr-text-muted) !important;
    font-size: 15px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    text-decoration: none !important;
    position: relative !important;
    box-sizing: border-box !important;
}
.navbar-footer .navbar-footer-item:hover {
    background: var(--dr-sidebar-item-hover-bg) !important;
    color: var(--dr-text-secondary) !important;
}
.navbar-footer .navbar-footer-item .footer-icon {
    font-size: 15px !important;
}

/* ─── Notification badge ─── */
.navbar-footer .notifications-badge-container {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: var(--nav-radius) !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    position: relative !important;
    box-sizing: border-box !important;
    list-style: none !important;
    float: none !important;
    margin: 0 !important;
}
.navbar-footer .notifications-badge-container:hover {
    background: var(--dr-sidebar-item-hover-bg) !important;
}
.navbar-footer .notifications-badge-container .notifications-button {
    all: unset !important;
    color: var(--dr-text-muted) !important;
    font-size: 15px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.navbar-footer .notifications-badge-container:hover .notifications-button {
    color: var(--dr-text-secondary) !important;
}
.navbar-footer .notifications-badge-container .number-badge {
    position: absolute !important;
    top: 2px !important;
    right: 2px !important;
    min-width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    text-align: center !important;
    padding: 0 4px !important;
    border-radius: 8px !important;
    background: #ef4444 !important;
    color: #fff !important;
}

.navbar-footer .notifications-panel-container {
    position: fixed !important;
    bottom: 10px !important;
    left: var(--dr-sidebar-width) !important;
    z-index: 1150 !important;
}
body.minimized .navbar-footer .notifications-panel-container {
    left: var(--dr-sidebar-minimized-width) !important;
}
.navbar-footer .notifications-panel-container #notifications-panel {
    position: static !important;
    right: auto !important;
    left: auto !important;
}

/* Logout */
.navbar-footer .navbar-footer-item.logout-btn {
    color: #ef4444 !important;
    opacity: 0.6 !important;
}
.navbar-footer .navbar-footer-item.logout-btn:hover {
    opacity: 1 !important;
    background: rgba(239, 68, 68, 0.08) !important;
    color: #ef4444 !important;
}


/* ================================================================
   11. MINIMIZER
   ================================================================ */

.minimizer {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px !important;
    flex-shrink: 0 !important;
    margin-bottom: 0 !important;
    border: none !important;
    border-top: 1px solid var(--dr-border-light) !important;
    background: var(--dr-bg-sidebar) !important;
    cursor: pointer !important;
}
.minimizer .fas {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 28px !important;
    color: var(--dr-text-muted) !important;
    font-size: 11px !important;
    border-radius: var(--nav-radius) !important;
    transition: all 0.15s ease !important;
}
.minimizer:hover .fas {
    background: var(--dr-sidebar-item-hover-bg) !important;
    color: var(--dr-text-secondary) !important;
}
.minimizer .right { display: none !important; }
.minimizer .left  { display: flex !important; }
body.minimized .minimizer .right { display: flex !important; }
body.minimized .minimizer .left  { display: none !important; }


/* ================================================================
   12. RESPONSIVE
   ================================================================ */

@media (max-width: 768px) {
    .navbar.navbar-inverse {
        transform: translateX(-100%) !important;
        transition: transform var(--nav-transition), width var(--nav-transition) !important;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.1) !important;
    }
    .navbar.navbar-inverse.open,
    .navbar.navbar-inverse.mobile-open {
        transform: translateX(0) !important;
    }
    body.minimized .navbar.navbar-inverse {
        width: var(--dr-sidebar-width) !important;
    }
    .navbar-header .navbar-toggle {
        display: flex !important;
    }
}


/* ================================================================
   13. UPLOAD PROGRESS WIDGET
   ================================================================ */

.navbar-footer .upload-progress-container {
    position: relative !important;
}
.navbar-footer .upload-progress-widget {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: var(--nav-radius) !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    position: relative !important;
    box-sizing: border-box !important;
    color: var(--dr-primary, #3b82f6) !important;
    font-size: 15px !important;
    animation: upload-pulse 2s ease-in-out infinite !important;
}
.navbar-footer .upload-progress-widget:hover {
    background: var(--dr-sidebar-item-hover-bg) !important;
}
.navbar-footer .upload-progress-widget.hidden {
    display: none !important;
}

/* Badge showing percentage */
.navbar-footer .upload-progress-badge {
    position: absolute !important;
    top: 0px !important;
    right: -2px !important;
    min-width: 22px !important;
    height: 14px !important;
    line-height: 14px !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    text-align: center !important;
    padding: 0 3px !important;
    border-radius: 7px !important;
    background: var(--dr-primary, #3b82f6) !important;
    color: #fff !important;
    font-family: var(--font-nav-mono) !important;
}

/* Pulse animation for active upload */
@keyframes upload-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

/* Minimized state */
body.minimized .navbar-footer .upload-progress-container {
    width: 100% !important;
    height: 32px !important;
}
body.minimized .navbar-footer .upload-progress-widget {
    width: 100% !important;
    height: 32px !important;
}

/* Idle state — same color as other nav icons, non-interactive */
.navbar-footer .upload-progress-widget.upload-idle {
    color: var(--dr-text-muted) !important;
    cursor: default !important;
    animation: none !important;
}
.navbar-footer .upload-progress-widget.upload-idle:hover {
    background: transparent !important;
}

/* Diagonal strikethrough on idle cloud icon */
.navbar-footer .upload-progress-widget.upload-idle .upload-progress-detail {
    position: relative !important;
}
.navbar-footer .upload-progress-widget.upload-idle .upload-progress-detail::after {
    content: '' !important;
    position: absolute !important;
    width: 22px !important;
    height: 2px !important;
    background: var(--dr-text-muted) !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) rotate(-45deg) !important;
    border-radius: 1px !important;
    pointer-events: none !important;
}