      .skeleton-loading {
        background: linear-gradient(
          90deg,
          #e5e7eb 25%,
          #f3f4f6 50%,
          #e5e7eb 75%
        );
        background-size: 200% 100%;
        animation: shimmer 1.5s infinite linear;
      }
      @keyframes shimmer {
        0% {
          background-position: 200% 0;
        }
        100% {
          background-position: -200% 0;
        }
      }
      .skeleton-block {
        width: 100%;
        display: inline-block;
      }

      :root {
        --primary: #044a98;
        --primary-light: #0a5ebd;
        --accent: #f86905;
        --bg-gray: #f4f7f9;
        --dark-blue: #04245c;
        --light-orange: #fcb47c;
        --white: #ffffff;
        --success: #28a745;
        --warning: #ffc107;
        --danger: #dc3545;
        --text-main: #333333;
        --text-muted: #6c757d;
        --border-color: #e0e0e0;
      }

      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
      }

      body {
        background-color: var(--bg-gray);
        color: var(--text-main);
        display: flex;
        min-height: 100vh;
        overflow-x: hidden;
      }

      /* Remove a aparência de botão e deixa só o ícone */
      .btn-bookmark-icone {
        background: transparent;
        border: none;
        color: #f97316; /* Laranja do OperaMart */
        font-size: 1.2rem; /* Tamanho do ícone */
        cursor: pointer;
        padding: 4px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.2s ease;
        outline: none;
      }

      /* Efeito leve ao passar o mouse */
      .btn-bookmark-icone:hover {
        transform: scale(1.15);
      }

      /* --- SIDEBAR --- */
      aside {
        width: 260px;
        background-color: var(--dark-blue);
        color: white;
        display: flex;
        flex-direction: column;
        position: fixed;
        height: 100vh;
        z-index: 100;
        box-shadow: 4px 0 10px rgba(0, 0, 0, 0.1);
      }

      .logo-container {
        padding: 25px 20px;
        text-align: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        background: #031b45;
      }

      .logo-container h1 {
        font-size: 22px;
        letter-spacing: 1px;
        color: var(--white);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
      }
      .logo-container h1 span {
        color: var(--accent);
      }

      .store-selector {
        padding: 15px 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
      }
      .store-selector select {
        width: 100%;
        padding: 8px;
        border-radius: 4px;
        background: rgba(255, 255, 255, 0.1);
        color: white;
        border: 1px solid rgba(255, 255, 255, 0.2);
        outline: none;
      }
      .store-selector select option {
        background: var(--dark-blue);
        color: white;
      }

      nav {
        flex: 1;
        padding: 15px 0;
        overflow-y: auto;
      }

      .nav-section {
        font-size: 11px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.4);
        margin: 15px 25px 5px;
        letter-spacing: 1px;
      }

      .nav-item {
        padding: 12px 25px;
        display: flex;
        align-items: center;
        cursor: pointer;
        transition: all 0.2s ease;
        color: rgba(255, 255, 255, 0.7);
        text-decoration: none;
        border-left: 4px solid transparent;
      }

      .nav-item:hover,
      .nav-item.active {
        background-color: rgba(255, 255, 255, 0.05);
        color: white;
        border-left-color: var(--accent);
      }
      .nav-item i {
        margin-right: 15px;
        width: 20px;
        text-align: center;
        font-size: 1.1em;
      }

      .user-profile {
        padding: 15px 20px;
        background: #031b45;
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .user-avatar {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: var(--accent);
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
      }
      .user-info p {
        font-size: 14px;
        font-weight: 600;
      }
      .user-info span {
        font-size: 11px;
        color: rgba(255, 255, 255, 0.5);
      }

      /* --- MAIN CONTENT --- */
      main {
        flex: 1;
        margin-left: 260px;
        padding: 30px 40px;
        display: flex;
        flex-direction: column;
        gap: 25px;
      }

      /* HEADER */
      header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: white;
        padding: 20px 25px;
        border-radius: 12px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
      }

      .header-search {
        display: flex;
        align-items: center;
        background: var(--bg-gray);
        padding: 10px 15px;
        border-radius: 8px;
        width: 300px;
      }
      .header-search input {
        border: none;
        background: none;
        outline: none;
        margin-left: 10px;
        width: 100%;
        color: var(--text-main);
      }
      .header-search i {
        color: var(--text-muted);
      }

      .header-actions {
        display: flex;
        gap: 12px;
        align-items: center;
      }

      .header-btn-ghost {
        background: transparent;
        color: var(--text-muted);
        border: none;
        padding: 8px 12px;
        border-radius: 6px;
        font-size: 13px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.2s ease;
        display: inline-flex;
        align-items: center;
        gap: 6px;
      }
      .header-btn-ghost:hover {
        background: rgba(0, 0, 0, 0.05);
        color: var(--primary);
      }

      .header-btn-outline {
        background: transparent;
        color: var(--primary);
        border: 1px solid rgba(4, 74, 152, 0.3);
        padding: 8px 16px;
        border-radius: 6px;
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s ease;
        display: inline-flex;
        align-items: center;
        gap: 6px;
      }
      .header-btn-outline:hover {
        background: var(--primary);
        color: white;
        border-color: var(--primary);
        box-shadow: 0 2px 6px rgba(4, 74, 152, 0.2);
      }

      .header-btn-solid {
        background: var(--primary);
        color: white;
        border: none;
        padding: 8px 16px;
        border-radius: 6px;
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s ease;
        display: inline-flex;
        align-items: center;
        gap: 6px;
      }
      .header-btn-solid:hover {
        background: var(--primary-light);
        box-shadow: 0 4px 10px rgba(4, 74, 152, 0.3);
        transform: translateY(-1px);
      }

      .header-divider {
        height: 24px;
        width: 1px;
        background-color: var(--border-color);
        margin: 0 4px;
      }

      .btn-new {
        background-color: var(--accent);
        color: white;
        border: none;
        padding: 10px 20px;
        border-radius: 6px;
        font-weight: 600;
        cursor: pointer;
        transition: 0.2s;
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .btn-new:hover {
        background-color: #e05e04;
        box-shadow: 0 4px 8px rgba(248, 105, 5, 0.2);
      }
      .btn-primary {
        background-color: var(--primary);
        color: white;
        border: none;
        padding: 10px 20px;
        border-radius: 6px;
        font-weight: 600;
        cursor: pointer;
        transition: 0.2s;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        flex: 1;
      }
      .btn-primary:hover {
        background-color: var(--primary-light);
        box-shadow: 0 4px 8px rgba(4, 74, 152, 0.2);
      }
      .btn-outline {
        background-color: transparent;
        color: var(--primary);
        border: 1px solid var(--primary);
        padding: 10px 20px;
        border-radius: 6px;
        font-weight: 600;
        cursor: pointer;
        transition: 0.2s;
      }
      .btn-outline:hover {
        background-color: var(--primary);
        color: white;
      }
      .btn-save {
        background-color: var(--success);
        color: white;
        border: none;
        padding: 10px 20px;
        border-radius: 6px;
        font-weight: 600;
        cursor: pointer;
        transition: 0.2s;
      }
      .btn-save:hover {
        background-color: #218838;
      }
      .btn-cancel {
        background-color: #e0e0e0;
        color: var(--text-main);
        border: none;
        padding: 10px 20px;
        border-radius: 6px;
        font-weight: 600;
        cursor: pointer;
        transition: 0.2s;
      }
      .btn-cancel:hover {
        background-color: #d6d6d6;
      }

      /* DASHBOARD STATS */
      .stats-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 20px;
      }
      .stat-card {
        background: white;
        padding: 20px;
        border-radius: 16px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom: 2px solid rgba(4, 74, 152, 0.1);
      }
      .stat-card.orange {
        border-bottom: 2px solid rgba(248, 105, 5, 0.1);
      }
      .stat-card.green {
        border-bottom: 2px solid rgba(40, 167, 69, 0.1);
      }
      .stat-card.red {
        border-bottom: 2px solid rgba(220, 53, 69, 0.1);
      }

      .stat-info h3 {
        font-size: 13px;
        color: var(--text-muted);
        margin-bottom: 5px;
        text-transform: uppercase;
        font-weight: 600;
      }
      .stat-info p {
        font-size: 28px;
        font-weight: 900;
        color: var(--dark-blue);
        font-family: "Inter", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
      }
      .stat-icon {
        width: 50px;
        height: 50px;
        border-radius: 12px;
        background: rgba(4, 74, 152, 0.1);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        color: var(--primary);
      }

      /* FILTERS BAR */
      .filters-bar {
        background: white;
        padding: 15px 25px;
        border-radius: 12px;
        display: flex;
        gap: 15px;
        align-items: center;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
      }
      .filter-group {
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .filter-group label {
        font-size: 13px;
        font-weight: 600;
        color: var(--text-muted);
      }
      .filter-group select {
        padding: 8px 12px;
        border: 1px solid var(--border-color);
        border-radius: 6px;
        outline: none;
        background: #fff;
        cursor: pointer;
      }

      /* CONTENT CARDS (TABLES) */
      .content-card {
        background: white;
        border-radius: 16px;
        padding: 25px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
      }

      .phase-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 20px;
        padding-bottom: 15px;
        border-bottom: 1px solid var(--border-color);
      }
      .phase-title {
        display: flex;
        align-items: center;
        gap: 15px;
      }
      .phase-badge {
        background: var(--dark-blue);
        color: white;
        padding: 6px 12px;
        border-radius: 6px;
        font-size: 12px;
        font-weight: bold;
        letter-spacing: 1px;
      }
      .phase-title h3 {
        color: var(--dark-blue);
        font-size: 18px;
      }
      .phase-progress {
        font-size: 13px;
        color: var(--text-muted);
        font-weight: 600;
      }

      table {
        width: 100%;
        border-collapse: collapse;
      }
      th {
        text-align: left;
        padding: 12px 15px;
        background: var(--bg-gray);
        color: var(--text-muted);
        font-size: 12px;
        text-transform: uppercase;
        border-radius: 4px;
      }
      td {
        padding: 18px;
        border-bottom: 1px solid var(--border-color);
        font-size: 14px;
        vertical-align: middle;
      }
      /* Remove vertical borders and harsh horizontal lines for tasks table */
      .phase-tasks-table td {
        border-bottom: 1px solid #f0f2f5;
        border-right: none;
        border-left: none;
      }
      .phase-tasks-table tr {
        border: none;
      }
      tr:hover td {
        background-color: #f8f9fa;
      }

      .task-main {
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .task-title {
        font-weight: bold;
        font-size: 14px;
        color: var(--dark-blue);
      }
      .task-desc {
        font-size: 12px;
        color: #6b7280;
        line-height: 1.4;
      }

      .tag {
        display: inline-block;
        padding: 4px 10px;
        border-radius: 50px;
        font-size: 11px;
        font-weight: 600;
      }
      .tag-infra {
        background: #e3f2fd;
        color: #1976d2;
      }
      .tag-sistemas {
        background: #f3e5f5;
        color: #7b1fa2;
      }
      .tag-redes {
        background: #e8f5e9;
        color: #388e3c;
      }

      .status {
        padding: 6px 12px;
        border-radius: 50px;
        font-size: 11px;
        font-weight: bold;
        text-align: center;
        display: inline-block;
        min-width: 100px;
      }
      .status-todo {
        background: #f1f3f5;
        color: #495057;
      }
      .status-doing {
        background: #fff3cd;
        color: #856404;
      }
      .status-review {
        background: #cce5ff;
        color: #004085;
      }
      .status-done {
        background: #d4edda;
        color: #155724;
      }
      .status-rejected {
        background: #f8d7da;
        color: #721c24;
      }

      .action-icon {
        border: none;
        background: none;
        padding: 6px;
        border-radius: 4px;
        cursor: pointer;
        transition: 0.2s;
        font-size: 14px;
      }
      .action-icon.edit {
        color: var(--primary);
      }
      .action-icon.edit:hover {
        background: #e3f2fd;
      }
      .action-icon.view {
        color: var(--accent);
      }
      .action-icon.view:hover {
        background: #ffe0b2;
      }

      /* MODALS */
      .modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(3px);
        display: none;
        justify-content: center;
        align-items: center;
        z-index: 2000;
        padding: 10px;
        box-sizing: border-box;
      }
      .modal {
        background: white;
        width: 850px;
        max-height: 90vh;
        border-radius: 12px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        display: flex;
        flex-direction: column;
        overflow: hidden;
      }
      .modal-header {
        padding: 25px;
        border-bottom: 1px solid var(--border-color);
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-shrink: 0;
      }
      .modal-header h2 {
        color: var(--dark-blue);
        font-size: 20px;
      }
      .close-modal {
        background: none;
        border: none;
        font-size: 20px;
        cursor: pointer;
        color: var(--text-muted);
      }
      .modal-body {
        padding: 25px;
        overflow-y: auto;
        flex: 1;
        min-height: 0;
      }
      .modal-footer {
        padding: 20px 25px;
        border-top: 1px solid var(--border-color);
        display: flex;
        justify-content: flex-end;
        gap: 10px;
        background: #f8f9fa;
        border-radius: 0 0 12px 12px;
        flex-shrink: 0;
      }

      .modal-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
      }
      .form-group {
        margin-bottom: 15px;
      }
      .form-group label {
        display: block;
        margin-bottom: 8px;
        font-weight: 600;
        color: var(--text-main);
        font-size: 13px;
      }
      .form-group input,
      .form-group select,
      .form-group textarea {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid var(--border-color);
        border-radius: 6px;
        background: #fff;
        font-size: 14px;
        transition: border-color 0.2s;
      }
      .form-group input:focus,
      .form-group select:focus,
      .form-group textarea:focus {
        border-color: var(--primary);
        outline: none;
      }
      .full-width {
        grid-column: span 2;
      }

      .team-tags {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        margin-top: 5px;
      }
      .team-checkbox {
        display: flex;
        align-items: center;
        gap: 5px;
        background: var(--bg-gray);
        padding: 8px 12px;
        border-radius: 6px;
        cursor: pointer;
        font-size: 13px;
        border: 1px solid transparent;
        transition: 0.2s;
      }
      .team-checkbox:hover {
        border-color: var(--primary-light);
      }
      .team-checkbox input {
        width: auto;
        margin: 0;
      }

      /* RESPONSIVE */
      @media (max-width: 1024px) {
        aside {
          width: 80px;
        }
        .logo-container h1 span,
        .store-selector,
        .nav-section,
        .nav-item span,
        .user-info {
          display: none;
        }
        main {
          margin-left: 80px;
        }
        .header-search {
          display: none;
        }
      }

      /* Mobile Drawer Overlay */
      #drawerOverlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1001;
        display: none;
        opacity: 0;
        transition: opacity 0.3s ease;
      }
      #drawerOverlay.show {
        display: block;
        opacity: 1;
      }

      /* Mobile Bottom Nav */
      .mobile-bottom-nav {
        display: none;
      }

      @media (max-width: 768px) {
        #modalLoteBody {
          grid-template-columns: 1fr !important;
        }
        .ativos-container > div:first-child {
          flex-direction: column !important;
          align-items: flex-start !important;
          gap: 15px;
        }
        .ativos-container > div:first-child > div:last-child {
          flex-direction: column !important;
          width: 100%;
          align-items: stretch !important;
        }
        .ativos-container > div:first-child > div:last-child > div {
          margin-right: 0 !important;
          width: 100%;
        }
        .ativos-container > div:first-child > div:last-child input {
          width: 100% !important;
          box-sizing: border-box;
        }
        .ativos-container > div:first-child > div:last-child button {
          width: 100%;
          margin-bottom: 5px;
        }
        .ativos-container .content-card {
          padding: 10px;
          overflow: hidden;
        }
        .ativos-container table thead,
        .phase-tasks-table thead {
          display: none;
        }
        .ativos-container table,
        .ativos-container tbody,
        .ativos-container tr,
        .ativos-container td,
        .phase-tasks-table,
        .phase-tasks-table tbody,
        .phase-tasks-table tr,
        .phase-tasks-table td {
          display: block;
          width: 100%;
        }
        .ativos-container tr,
        .phase-tasks-table tr {
          margin-bottom: 15px;
          border: 1px solid var(--border-color);
          border-radius: 8px;
          padding: 10px;
          background: white;
        }
        .ativos-container td,
        .phase-tasks-table td {
          text-align: right !important;
          padding-left: 50% !important;
          position: relative;
          border-bottom: 1px solid #eee;
        }
        .ativos-container td.empty-state,
        .phase-tasks-table td.empty-state {
          text-align: center !important;
          padding-left: 10px !important;
          border-bottom: none;
        }
        .ativos-container td:last-child,
        .phase-tasks-table td:last-child {
          border-bottom: none;
        }
        .ativos-container td::before,
        .phase-tasks-table td::before {
          content: attr(data-label);
          position: absolute;
          left: 10px;
          width: 45%;
          text-align: left;
          font-weight: bold;
          color: var(--text-muted);
        }
        aside {
          width: 260px;
          height: 100vh;
          position: fixed;
          top: 0;
          bottom: auto;
          left: -260px;
          flex-direction: column;
          justify-content: flex-start;
          z-index: 1002;
          transition: left 0.3s ease;
          box-shadow: 2px 0 10px rgba(0, 0, 0, 0.5);
        }

        aside.drawer-open {
          left: 0;
        }

        .logo-container,
        .store-selector,
        .nav-section,
        .user-profile {
          display: flex !important;
        }

        .store-selector {
          display: block !important;
        }

        .nav-section {
          display: block !important;
        }

        nav {
          flex-direction: column !important;
          justify-content: flex-start !important;
          overflow-y: auto;
        }

        .nav-item {
          flex-direction: row !important;
          padding: 12px 25px !important;
          border-bottom: none !important;
          border-left: 4px solid transparent !important;
        }

        .nav-item span {
          display: inline !important;
          font-size: 14px !important;
          text-align: left !important;
        }

        .nav-item i {
          margin-right: 15px !important;
          margin-bottom: 0 !important;
          font-size: 1.1em !important;
        }

        .nav-item:hover,
        .nav-item.active {
          border-left-color: var(--accent) !important;
        }

        /* Hide specific nav links in the drawer */
        #navDashboard,
        #navMinhasTarefas,
        #navAtivos,
        #navRecebimento {
          display: none !important;
        }

        /* Hide Visão Geral section title since its items are moved to bottom nav */
        nav .nav-section:nth-child(1) {
          display: none !important;
        }

        /* Bottom Nav Bar Styles */
        .mobile-bottom-nav {
          display: flex;
          position: fixed;
          bottom: 0;
          width: 100%;
          background-color: var(--dark-blue);
          z-index: 1000;
          justify-content: space-around;
          align-items: center;
          padding: 8px 0;
          box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
        }

        .mobile-nav-item {
          display: flex;
          flex-direction: column;
          align-items: center;
          color: rgba(255, 255, 255, 0.5);
          text-decoration: none;
          padding: 5px;
          flex: 1;
        }

        .mobile-nav-item i {
          font-size: 1.4em;
          margin-bottom: 4px;
        }

        .mobile-nav-item span {
          font-size: 10px;
          text-align: center;
        }

        .mobile-nav-item.active {
          color: white;
        }

        .mobile-nav-item.active i {
          color: var(--accent);
        }

        /* Adjust Main Content */
        main {
          margin-left: 0;
          margin-bottom: 70px;
          padding: 15px;
          gap: 15px;
        }

        /* Responsive Tables as Cards */
        table,
        thead,
        tbody,
        th,
        td,
        tr {
          display: block;
        }

        thead tr {
          position: absolute;
          top: -9999px;
          left: -9999px;
        }

        tr {
          background: white;
          border-radius: 8px;
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
          margin-bottom: 15px;
          border: 1px solid var(--border-color);
          display: flex;
          flex-direction: column;
        }

        tr:hover td {
          background-color: transparent;
        }

        td {
          border: none;
          border-bottom: 1px solid var(--bg-gray);
          position: relative;
          padding-left: 40%;
          text-align: right; /* Values on the right */
        }

        td:last-child {
          border-bottom: 0;
          text-align: center; /* Center actions */
          padding-left: 15px; /* Reset padding for actions */
          display: flex;
          justify-content: center;
          gap: 10px;
          flex-wrap: wrap;
        }

        td::before {
          position: absolute;
          top: 15px;
          left: 15px;
          width: 35%;
          padding-right: 10px;
          white-space: nowrap;
          text-align: left;
          font-weight: bold;
          color: var(--text-muted);
          content: attr(data-label);
        }

        /* Fix task main alignment in cards */
        .task-main {
          align-items: flex-end;
          text-align: right;
        }

        /* Adjust header */
        header {
          flex-direction: column;
          align-items: flex-start;
          gap: 15px;
        }

        .header-actions {
          width: 100%;
          flex-direction: column;
          gap: 10px;
        }

        .header-actions button {
          width: 100%;
          justify-content: center;
        }

        .header-divider {
          display: none;
        }

        .filters-bar {
          flex-direction: column;
          align-items: stretch;
        }

        .filter-group {
          flex-direction: column;
          align-items: flex-start;
        }

        .filter-group select {
          width: 100%;
        }

        #bipar-registrar-container {
          grid-template-columns: 1fr !important;
        }

        /* Adjust Modals */
        .modal {
          width: 95%;
          max-height: 85vh;
          margin: 20px auto;
        }

        .modal-grid {
          grid-template-columns: 1fr;
        }

        .modal-footer {
          flex-direction: column !important;
          align-items: stretch !important;
          gap: 10px !important;
        }

        .modal-footer > div {
          display: flex;
          flex-direction: column;
          gap: 10px;
          width: 100%;
        }

        .modal-footer button {
          width: 100% !important;
          justify-content: center;
          margin: 0 !important;
        }

        .full-width {
          grid-column: span 1;
        }
      }

      /* --- EXCEL DROPDOWN FILTERS --- */
      .excel-filter-menu {
        position: absolute;
        background: var(--white);
        border: 1px solid var(--border-color);
        border-radius: 8px;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
        width: 230px;
        padding: 10px;
        z-index: 99999;
        display: none;
        flex-direction: column;
        gap: 8px;
      }
      .excel-filter-btn {
        background: none;
        border: none;
        padding: 6px 10px;
        text-align: left;
        font-size: 13px;
        color: var(--text-main);
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 8px;
        border-radius: 4px;
        width: 100%;
      }
      .excel-filter-btn:hover {
        background: var(--bg-gray);
        color: var(--primary);
      }
      .excel-search-box {
        padding: 6px 8px;
        border: 1px solid var(--border-color);
        border-radius: 4px;
        font-size: 12px;
        width: 100%;
        outline: none;
      }
      .excel-search-box:focus {
        border-color: var(--primary);
      }
      .excel-checklist-container {
        max-height: 160px;
        overflow-y: auto;
        border: 1px solid var(--bg-gray);
        border-radius: 4px;
        padding: 5px;
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .excel-chk-label {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 12px;
        cursor: pointer;
        padding: 2px 4px;
      }
      .excel-chk-label:hover {
        background: rgba(0, 0, 0, 0.02);
      }
      .excel-chk-label input {
        width: auto;
        margin: 0;
      }
      .excel-menu-footer {
        display: flex;
        justify-content: flex-end;
        gap: 6px;
        border-top: 1px solid var(--bg-gray);
        padding-top: 8px;
        margin-top: 4px;
      }
      .excel-btn-action {
        padding: 4px 10px;
        font-size: 11px;
        font-weight: bold;
        border: none;
        border-radius: 4px;
        cursor: pointer;
      }

      /* --- BARRA DE ROLAGEM SLIM (ESTILO MAC OS) --- */
      ::-webkit-scrollbar {
        width: 6px;
        height: 6px;
      }
      ::-webkit-scrollbar-track {
        background: transparent;
      }
      ::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.15);
        border-radius: 10px;
      }
      ::-webkit-scrollbar-thumb:hover {
        background: rgba(0, 0, 0, 0.3);
      }
      /* Remove setinhas nativas */
      ::-webkit-scrollbar-button {
        display: none;
      }

      /* --- SPINNER GLOBAL --- */
      #globalSpinnerOverlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.7);
        z-index: 9999999;
        display: none;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        color: white;
      }
      .global-spinner {
        border: 4px solid rgba(255, 255, 255, 0.2);
        border-left-color: var(--primary);
        border-radius: 50%;
        width: 60px;
        height: 60px;
        animation: spin 1s linear infinite;
        margin-bottom: 20px;
      }

      /* --- OVERLAY DE CARREGAMENTO DIÁRIO --- */
      #loadingOverlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: var(--dark-blue);
        z-index: 999999;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        color: white;
        transition: opacity 0.5s ease;
      }
      .loader-spinner {
        border: 4px solid rgba(255, 255, 255, 0.1);
        border-left-color: var(--primary);
        border-radius: 50%;
        width: 50px;
        height: 50px;
        animation: spin 1s linear infinite;
        margin-bottom: 20px;
      }
      @keyframes spin {
        0% {
          transform: rotate(0deg);
        }
        100% {
          transform: rotate(360deg);
        }
      }

      /* Container fixo no canto superior direito */
      #toast-container {
        position: fixed;
        top: 20px;
        right: 20px;
        z-index: 999999999;
        display: flex;
        flex-direction: column;
        gap: 10px;
      }

      /* O design da caixinha de aviso */
      .toast-notificacao {
        min-width: 280px;
        padding: 16px 20px;
        border-radius: 8px;
        color: #ffffff;
        font-family: inherit;
        font-size: 15px;
        font-weight: 500;
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
        transform: translateX(120%); /* Começa fora da tela */
        opacity: 0;
        transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); /* Animação elástica */
      }

      /* Classe ativada pelo JavaScript para fazer o aviso entrar na tela */
      .toast-notificacao.mostrar {
        transform: translateX(0);
        opacity: 1;
      }

      /* Cores dinâmicas baseadas no tipo de aviso */
      .toast-sucesso {
        background-color: #10b981; /* Verde elegante */
        border-left: 6px solid #059669;
      }
      .toast-erro {
        background-color: #ef4444; /* Vermelho alerta */
        border-left: 6px solid #b91c1c;
      }
      .toast-aviso {
        background-color: #f59e0b; /* Amarelo atenção */
        border-left: 6px solid #d97706;
      }
