        /* ══════════════════════════════════════════
           GRID SCREEN (Akashi Grid)
           ══════════════════════════════════════════ */
        .grid-main { flex: 1; display: flex; overflow: hidden; }

        /* Table (Akashi Pattern) */
        .table-area { flex: 1; display: flex; flex-direction: column; overflow: hidden; background: var(--branco); border-radius: 8px; }
        .table-scroll { flex: 1; overflow: auto; position: relative; }
        .data-table { width: 100%; border-collapse: separate; border-spacing: 0; }
        .data-table thead { position: sticky; top: 0; z-index: 10; }
        .data-table thead th {
            background: #FFFFFF; font-size: 12px; font-weight: 600;
            color: #90A4AE; padding: 0 16px; height: 44px; text-align: left;
            white-space: nowrap; text-transform: uppercase; letter-spacing: 0.5px;
            border-bottom: 1px solid #EEEEEE;
        }
        .data-table tbody tr { height: 44px; border-bottom: 1px solid #E0E6EB; background: #FFFFFF; }
        .data-table tbody tr:nth-child(even) { background: #F8FAFB; }
        .data-table tbody tr:hover { background: #EEF2F5; }
        .data-table tbody td {
            font-size: 14px; font-weight: 400; color: #243A44;
            padding: 0 16px; height: 44px; white-space: nowrap;
            overflow: hidden; text-overflow: ellipsis;
            user-select: none;
        }
        .data-table tbody td .null-val { opacity: 0.2; }
        .summary-row {
            background: var(--primary-0f); border-top: 2px solid var(--primary-33);
            padding: 10px 16px; font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; color: var(--primary);
        }
        .info-row {
            display: flex; justify-content: space-between; padding: 12px 16px;
            font-family: 'Inter', sans-serif; font-size: 12px; color: var(--text-sub);
        }

        /* Dora+ Floating Chat (from chat.scss pattern) */
        .dora-float {
            position: fixed; right: 20px; bottom: 20px; z-index: 999;
            width: 56px; height: 56px; border-radius: 50%;
            background: #4695E1; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            box-shadow: 0 4px 12px rgba(70,149,225,0.4);
            border: none; transition: all 0.3s;
        }
        .dora-float:hover { transform: scale(1.08); box-shadow: 0 6px 16px rgba(70,149,225,0.5); }
        .dora-float.hidden { display: none; }
        .dora-mini-avatar {
            font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 700;
            color: white; user-select: none;
        }
        .dora-panel {
            width: 340px; background: #FFFFFF;
            display: flex; flex-direction: column;
            border-radius: 8px; box-shadow: 0 8px 24px rgba(36,58,68,0.16);
            position: fixed; right: 20px; z-index: 9999;
            top: 50%; transform: translateY(-50%);
            height: calc(100vh - 144px); max-height: 700px;
            border: 1px solid #E6EAEC;
        }
        .dora-hdr {
            background: #1565C0;
            padding: 12px 16px; border-radius: 8px 8px 0 0;
            display: flex; align-items: center; justify-content: space-between; color: white;
            cursor: grab; user-select: none;
        }
        .dora-hdr:active { cursor: grabbing; }
        .dora-hdr-title { font-size: 14px; font-weight: 600; letter-spacing: 0.5px; }
        .dora-hdr-close {
            width: 28px; height: 28px; border-radius: 4px; background: none; border: none;
            color: rgba(255,255,255,0.8); cursor: pointer; display: flex; align-items: center; justify-content: center;
        }
        .dora-hdr-close:hover { background: rgba(255,255,255,0.2); }
        .dora-hdr-close .material-symbols-rounded { font-size: 16px; }
        .dora-body {
            flex: 1; padding: 0 5px 20px; overflow-y: auto;
            display: flex; flex-direction: column; gap: 12px;
        }
        .dora-bubble {
            background: #FFFFFF; border-radius: 8px; border-top-left-radius: 0;
            padding: 12px; font-size: 14px; color: #243A44; line-height: 1.5;
            white-space: pre-line; word-wrap: break-word; max-width: 95%; margin: 12px 0;
            border: 1px solid #EEEEEE; text-wrap: balance;
        }
        .dora-user-msg {
            align-self: flex-end; background: #d3e3fd; border-radius: 15px; border-top-right-radius: 0;
            padding: 10px; font-size: 12px; color: var(--texto-escuro); max-width: 75%; margin: 12px 0;
        }
        .dora-actions { display: flex; flex-direction: column; gap: 8px; padding: 0 5px; }
        .dora-actions-row { display: flex; gap: 8px; }
        .dora-act {
            flex: 1; padding: 8px 12px; border: 1px solid #E6EAEC; border-radius: 4px;
            font-size: 14px; font-weight: 600; color: #243A44;
            text-align: center; cursor: pointer; background: #FFFFFF;
            box-shadow: none; transition: all 0.15s;
        }
        .dora-act:hover { background: #F5F5F5; border-color: #BDBDBD; }
        .dora-footer {
            padding: 12px 10px 10px 0; display: flex; align-items: center; gap: 0;
        }
        .dora-input {
            flex: 1; height: 44px; border: 1px solid #E6EAEC; border-radius: 4px;
            padding: 12px 16px; font-size: 14px; font-weight: 400; outline: none;
            background: #FFFFFF; margin: 0 8px; transition: border-color 0.2s;
        }
        .dora-input::placeholder { color: #BDBDBD; }
        .dora-input:focus { border-color: #4695E1; }
        .dora-send-icon {
            width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
            background: #4695E1; border: none; border-radius: 4px; cursor: pointer;
            transition: all 0.2s; flex-shrink: 0;
        }
        .dora-send-icon:hover { background: #3A85D0; }
        .dora-send-icon i, .dora-send-icon svg { width: 18px; height: 18px; color: white; stroke: white; }
        .dora-footer-row { display: flex; align-items: center; width: 100%; }

        /* Sort indicators */
        .th-sort { display: flex; flex-direction: column; gap: 1px; margin-left: 4px; flex-shrink: 0; cursor: pointer; }
        .th-sort .material-symbols-rounded { font-size: 14px; line-height: 1; color: var(--cinza-1); }
        .th-sort .material-symbols-rounded.active { color: var(--amarelo); }

        /* Draggable & resizable columns */
        .data-table thead th { cursor: pointer; user-select: none; }
        .data-table thead th.dragging { opacity: 0.4; }
        .data-table thead th.drag-over { border-left: 3px solid var(--azul-1); }
        .col-resize-handle {
            position: absolute; right: 0; top: 0; bottom: 0; width: 4px;
            cursor: col-resize; background: transparent; z-index: 11;
        }
        .col-resize-handle:hover, .col-resize-handle.active { background: var(--azul-1); }

        /* Column filter in header */
        .th-wrap { display: flex; align-items: center; gap: 4px; width: 100%; }
        .th-label { flex: 1; overflow: hidden; text-overflow: ellipsis; }
        .th-filter-btn {
            width: 20px; height: 20px; display: flex; align-items: center; justify-content: center;
            border: none; background: none; cursor: pointer; border-radius: 4px; opacity: 0.4; flex-shrink: 0;
        }
        .th-filter-btn:hover { opacity: 1; background: rgba(36,58,68,0.05); }
        .th-filter-btn.active { opacity: 1; color: var(--amarelo); }
        .th-filter-btn .material-symbols-rounded { font-size: 16px; }

        /* SQL highlight classes - dark */
        .hk { color: #cba6f7; font-weight: 600; font-style: normal; }
        .hs { color: #a6e3a1; font-style: normal; }
        .hn { color: #fab387; text-decoration: none; }
        .hc { color: #585b70; }
        /* SQL highlight classes - light */
        .hkl { color: #1565C0; font-weight: 600; font-style: normal; }
        .hsl { color: #2E7D32; font-style: normal; }
        .hnl { color: #E65100; text-decoration: none; }
        .hcl { color: #9E9E9E; }

        /* Column filter dropdown (fixed to body) */
        .col-filter-dd {
            display: none; position: fixed; z-index: 9999;
            background: #FFFFFF; border: 1px solid #E6EAEC; border-radius: 8px;
            box-shadow: 0 4px 12px rgba(36,58,68,0.12); padding: 16px; min-width: 230px;
        }
        .col-filter-dd.open { display: block; }
        .col-filter-dd select, .col-filter-dd input {
            width: 100%; height: 36px; border: 1px solid var(--cinza-2); border-radius: 4px;
            padding: 0 10px; font-size: 12px; font-family: inherit; margin-bottom: 8px; outline: none;
            background: var(--branco); color: var(--texto-escuro); -webkit-appearance: none; appearance: none;
        }
        .col-filter-dd select {
            background: var(--branco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2381959e' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
            padding-right: 28px; cursor: pointer;
        }
        .col-filter-dd input:focus, .col-filter-dd select:focus { border-color: var(--azul-1); box-shadow: 0 0 0 3px rgba(70,149,225,0.1); }
        .col-filter-dd .filter-actions { display: flex; gap: 6px; }
        .col-filter-dd .filter-actions button {
            flex: 1; height: 32px; border-radius: 4px; font-size: 12px; font-weight: 600;
            font-family: inherit; cursor: pointer; border: 1px solid transparent; transition: all 0.15s;
        }
        .col-filter-dd .filter-apply { background: #25D580; color: #FFFFFF; border-color: #25D580; }
        .col-filter-dd .filter-apply:hover { background: #1FC070; }
        .col-filter-dd .filter-clear { background: #FFFFFF; color: #243A44; border-color: #E6EAEC; }
        .col-filter-dd .filter-clear:hover { background: #F5F5F5; }

        /* Column picker dropdown */
        .col-picker {
            display: none; position: absolute; top: 100%; right: 0; z-index: 100; margin-top: 4px;
            background: #FFFFFF; border: 1px solid #E6EAEC; border-radius: 8px;
            box-shadow: 0 4px 12px rgba(36,58,68,0.12); padding: 8px; min-width: 240px; max-height: 380px; overflow-y: auto;
        }
        .col-picker.open { display: block; }
        .col-picker-item {
            display: flex; align-items: center; gap: 8px; padding: 5px 8px; border-radius: 4px; cursor: pointer;
        }
        .col-picker-item:hover { background: var(--background); }
        .col-picker-item input[type=checkbox] { width: 16px; height: 16px; accent-color: #4695E1; cursor: pointer; }
        .col-picker-item label { font-size: 14px; color: #243A44; cursor: pointer; flex: 1; }

        /* Back button */
        .back-btn {
            display: flex; align-items: center; gap: 4px;
            background: none; border: none; color: var(--text-sub); font-size: 14px;
            font-family: inherit; cursor: pointer; padding: 8px 12px;
        }
        .back-btn:hover { color: var(--text); }

        /* Loading */
        .loading-dots { display: flex; gap: 4px; padding: 8px 0; }
        .loading-dots span { width: 6px; height: 6px; border-radius: 50%; background: #ccc; animation: bounce 1.4s infinite; }
        .loading-dots span:nth-child(2) { animation-delay: 0.2s; }
        .loading-dots span:nth-child(3) { animation-delay: 0.4s; }
        @keyframes bounce { 0%,80%,100% { transform: translateY(0); } 40% { transform: translateY(-6px); } }
        .loading-status { font-size: 12px; color: var(--text-sub); margin-top: 6px; animation: fadeStep 2s infinite; }
        @keyframes fadeStep { 0%,100% { opacity: 0.5; } 50% { opacity: 1; } }
        @keyframes pulse-opacity { 0% { opacity: 0.4; } 50% { opacity: 1; } 100% { opacity: 0.4; } }
        @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

        /* ── Akashi Toolbar ── */
        /* Akashi Toolbar (container pattern from listagem.scss) */
        .ak-toolbar {
            display: flex; align-items: center; gap: 8px;
            padding: 0; margin: 0 0 12px 0;
        }
        .grid-back-btn {
            display: flex; align-items: center; gap: 2px; background: none; border: none;
            cursor: pointer; padding: 6px 10px; border-radius: 4px; transition: background 0.15s;
        }
        .grid-back-btn:hover { background: var(--background); }
        .grid-back-btn .material-symbols-rounded { color: var(--texto-claro); }
        .ak-field { display: flex; flex-direction: column; gap: 4px; width: 500px; margin-right: 10px; }
        .ak-field label { font-size: 12px; font-weight: 600; color: var(--texto-claro); }
        .ak-select {
            width: 100%; height: 44px; border: 1px solid #E6EAEC; border-radius: 4px;
            padding: 0 16px; font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 400; color: #243A44;
            outline: none; background: #FFFFFF; cursor: pointer; transition: border-color 0.15s;
            -webkit-appearance: none; appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23607D8B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
            background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px;
        }
        .ak-select:focus { border-color: #4695E1; box-shadow: 0 0 0 3px rgba(70,149,225,0.1); }
        /* Akashi Button (sr-button pattern) — Sysmo Cloud style */
        .ak-btn {
            height: 40px; display: flex; align-items: center; justify-content: center; gap: 6px;
            padding: 0 16px; border-radius: 4px; font-family: 'Inter', sans-serif; font-size: 14px;
            font-weight: 600; cursor: pointer; white-space: nowrap; flex-shrink: 0;
            box-shadow: none; transition: all 0.15s; border: 1px solid transparent;
            line-height: 1;
        }
        .ak-btn:hover { box-shadow: 0 1px 3px rgba(36,58,68,0.1); }
        .ak-btn.primary { background: #25D580; color: #FFFFFF; border: none; }
        .ak-btn.primary i, .ak-btn.primary svg, .ak-btn.primary .material-symbols-rounded { color: #FFFFFF !important; }
        .ak-btn.primary:hover { background: #1FC070; border: none; }
        .ak-btn.primary:active { background: #1AAF65; border: none; }
        .ak-btn.secondary { background: #FFFFFF; color: #243A44; border: 1px solid #E6EAEC; }
        .ak-btn.secondary i, .ak-btn.secondary svg, .ak-btn.secondary .material-symbols-rounded { color: #81959E !important; }
        .ak-btn.secondary:hover { background: #F5F5F5; border-color: #BDBDBD; }
        .ak-btn.secondary:active { background: #EEEEEE; }
        .ak-btn.danger { background: #E95050; color: #FFFFFF; border-color: #E95050; }
        .ak-btn.danger:hover { background: #D13715; border-color: #D13715; }
        .ak-btn.danger:active { background: #C13010; border-color: #C13010; }
        .ak-btn:disabled { background: #E6EAEC !important; border-color: #E6EAEC !important; color: #BDBDBD !important; cursor: not-allowed; box-shadow: none; }
        .folder-delete-option:hover { border-color: #4695E1 !important; background: rgba(70,149,225,0.04); box-shadow: 0 1px 3px rgba(36,58,68,0.08); }
        .rc-folder-card.deleted { opacity: 0.5; filter: grayscale(0.7); cursor: pointer; }
        .rc-folder-card.deleted:hover { opacity: 0.85; filter: grayscale(0.3); border-color: #4695E1; }
        .rc-folder-card.trash-selected { opacity: 1 !important; filter: grayscale(0) !important; border-color: #4695E1 !important; background: rgba(70,149,225,0.06) !important; box-shadow: 0 0 0 2px rgba(70,149,225,0.25) !important; }
        .rc-item-card.deleted { opacity: 0.5; filter: grayscale(0.7); cursor: pointer; }
        .rc-item-card.deleted:hover { opacity: 0.9; filter: grayscale(0); border-color: #4695E1; }
        .rc-item-card.trash-selected { opacity: 1 !important; filter: grayscale(0) !important; border-color: #4695E1 !important; background: rgba(70,149,225,0.06) !important; box-shadow: 0 0 0 2px rgba(70,149,225,0.25) !important; }
        .edit-folder-color { width: 32px; height: 32px; border-radius: 50%; cursor: pointer; border: 3px solid transparent; transition: all 0.15s; }
        .edit-folder-color:hover { transform: scale(1.15); }
        .edit-folder-color.selected { border-color: #243A44; transform: scale(1.15); }
        .edit-folder-icon { width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; cursor: pointer; border: 2px solid transparent; transition: all 0.15s; background: #F5F7F9; }
        .edit-folder-icon:hover { background: #E8ECF0; }
        .edit-folder-icon.selected { border-color: #4695E1; background: rgba(70,149,225,0.08); }

        /* (export dropdown removed - using Dora+ panel instead) */

        /* Akashi Empty State */
        .ak-empty {
            display: flex; align-items: center; justify-content: center;
            height: calc(100vh - 250px); font-size: 14px; font-weight: 500; color: #81959E;
        }

        /* ── Akashi Modal (from _modal.scss - blur backdrop) ── */
        .modal-overlay {
            display: none; position: fixed; inset: 0; z-index: 1000;
            background: rgba(36,58,68,0.25); backdrop-filter: blur(2px);
            align-items: center; justify-content: center;
        }
        .modal-overlay.active { display: flex; }

        /* Loading overlay */
        .loading-overlay {
            display: none; position: fixed; inset: 0; z-index: 1100;
            background: rgba(255,255,255,0.8); backdrop-filter: blur(3px);
            align-items: center; justify-content: center; flex-direction: column; gap: 16px;
        }
        .loading-overlay.active { display: flex; }
        .loading-spinner {
            width: 40px; height: 40px; border: 3px solid #E6EAEC;
            border-top-color: #4695E1; border-radius: 50%;
            animation: spin 0.8s linear infinite;
        }
        @keyframes spin { to { transform: rotate(360deg); } }
        .loading-text { font-family: 'Inter', sans-serif; font-size: 14px; color: #243A44; font-weight: 500; }
        .ak-modal {
            background: #FFFFFF; border-radius: 8px; width: 500px; max-width: 90vw;
            box-shadow: 0 8px 24px rgba(36,58,68,0.16);
        }
        .ak-modal-header {
            padding: 24px 24px 0; display: flex; align-items: center;
            font-family: 'Inter', sans-serif; font-size: 20px; font-weight: 700; color: #243A44;
            border-top-left-radius: 8px; border-top-right-radius: 8px;
        }
        .ak-modal-body { padding: 24px; display: flex; flex-direction: column; gap: 20px; }
        .ak-form-group { display: flex; flex-direction: column; gap: 4px; }
        .ak-form-group.required label::after { content: ' *'; color: var(--vermelho); }
        .ak-form-group.required .ak-input {
            border-left: 3px solid #FF9800;
            border-radius: 0 4px 4px 0;
        }
        .ak-form-group label { font-size: 12px; font-weight: 600; color: #81959E; }
        .ak-input {
            width: 100%; height: 44px; border: 1px solid #E6EAEC; border-radius: 4px;
            padding: 12px 16px; font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 400; color: #243A44;
            outline: none; background: #FFFFFF; transition: border-color 0.15s;
            -webkit-appearance: none; appearance: none;
        }
        select.ak-input { background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23607D8B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; padding-right: 32px; cursor: pointer; }
        .ak-input:focus { border-color: #4695E1; box-shadow: 0 0 0 3px rgba(70,149,225,0.1); }
        .ak-input::placeholder { color: #BDBDBD; }
        .ak-input:disabled { color: #243A44; -webkit-text-fill-color: #243A44; opacity: 1; background: #F8FAFB; cursor: default; }
        .ak-fieldset {
            border: none; border-top: 1px solid var(--cinza-2); padding: 0; margin: 4px 0;
        }
        .ak-fieldset legend {
            font-size: 12px; font-weight: 600; color: var(--texto-claro); padding-right: 8px;
        }
        .ak-modal-footer {
            padding: 16px 24px 24px; display: flex; gap: 8px; justify-content: flex-end;
        }

        /* Export Modal */
        .export-modal {
            background: #FFFFFF; border-radius: 8px; width: 480px; max-width: 90vw;
            box-shadow: 0 8px 24px rgba(36,58,68,0.16); padding: 24px;
        }
        .export-modal-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; }
        .export-modal-title { font-size: 20px; font-weight: 700; color: #243A44; }
        .export-modal-sub { font-size: 14px; color: #81959E; margin-top: 4px; }
        .export-modal-close { background: none; border: none; cursor: pointer; color: var(--texto-claro); padding: 4px; border-radius: 4px; }
        .export-modal-close:hover { background: var(--background); color: var(--texto-escuro); }
        .export-formats { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
        .export-format-card {
            display: flex; flex-direction: row; align-items: center; gap: 12px; padding: 14px 16px;
            background: #FFFFFF; border: 1px solid #E6EAEC; border-radius: 8px;
            cursor: pointer; transition: all 0.15s;
        }
        .export-format-card:hover { border-color: #4695E1; background: rgba(70,149,225,0.04); box-shadow: 0 1px 3px rgba(36,58,68,0.08); }
        .export-format-card.selected { border-color: #4695E1; background: rgba(70,149,225,0.06); box-shadow: 0 0 0 1px #4695E1; }
        .export-format-icon {
            width: 36px; height: 36px; border-radius: 999px; flex-shrink: 0;
            display: flex; align-items: center; justify-content: center;
        }
        .export-format-icon .material-symbols-rounded { font-size: 18px; }
        .export-format-info { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; flex: 1; min-width: 0; }
        .export-format-name { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500; color: #243A44; line-height: 100%; }
        .export-format-desc { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500; color: #81959E; line-height: 100%; }
        .export-config { margin-bottom: 16px; }
        .export-config-title { font-size: 14px; font-weight: 600; color: #243A44; margin-bottom: 8px; }
        .export-check {
            display: flex; align-items: center; gap: 8px; padding: 4px 0; cursor: pointer; font-size: 14px; color: #243A44;
        }
        .export-check input[type=checkbox] { width: 16px; height: 16px; accent-color: #4695E1; cursor: pointer; border-radius: 4px; }
        .export-footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; }

        /* Add filter menu - replaces modal body content */
        .add-filter-menu {
            display: none; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 10;
            background: var(--branco); border-radius: 8px;
            padding: 0; overflow: hidden;
        }
        .add-filter-menu.open { display: flex; flex-direction: column; }
        .add-filter-menu-header {
            padding: 12px 14px; font-size: 14px; font-weight: 600; color: var(--texto-escuro);
            border-bottom: 1px solid var(--cinza-2);
        }
        .add-filter-menu-list { overflow-y: auto; padding: 6px; flex: 1; }
        .add-filter-item {
            padding: 7px 12px; border-radius: 4px; cursor: pointer;
            font-size: 12px; color: var(--texto-escuro); transition: background 0.1s;
            display: flex; align-items: center; gap: 10px;
        }
        .add-filter-item:hover { background: var(--background); }
        .add-filter-item .material-symbols-rounded { font-size: 16px; color: var(--azul-1); }
        /* Extra filter row */
        .extra-filter {
            display: flex; align-items: flex-end; gap: 8px; padding: 10px 0;
            border-top: 1px solid #EEEEEE; animation: fadeIn 0.2s;
        }
        @keyframes fadeIn { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
        .extra-filter .ak-form-group { flex: 1; margin: 0; }
        .extra-filter-remove {
            width: 36px; height: 40px; border-radius: 8px; border: none; background: none;
            cursor: pointer; display: flex; align-items: center; justify-content: center;
            color: var(--texto-claro); flex-shrink: 0;
        }
        .extra-filter-remove:hover { background: rgba(233,80,80,0.08); color: var(--vermelho); }
        .extra-filter-dropdown {
            position: fixed; z-index: 100002;
            background: #FFFFFF; border: 1px solid #E6EAEC; border-radius: 8px;
            box-shadow: 0 4px 12px rgba(36,58,68,0.12); max-height: 220px; overflow-y: auto;
            width: 300px;
        }
        .efd-item {
            padding: 7px 12px; font-size: 12px; cursor: pointer; transition: background 0.1s;
        }
        .efd-item:hover { background: var(--background); }
        .efd-item.selected { background: rgba(70,149,225,0.08); font-weight: 600; }

        /* Schema panel */
        .schema-cat-header {
            display: flex; align-items: center; gap: 8px; padding: 8px 10px;
            cursor: pointer; background: #f8f9fa; border-bottom: 1px solid #EEEEEE;
            position: sticky; top: 0; z-index: 1;
        }
        .schema-cat-header:hover { background: #F5F5F5; }
        .schema-cat-header .chevron.rotated { transform: rotate(-90deg); }
        .schema-item { border-bottom: 1px solid #F8F9FA; position: relative; }
        .schema-item:hover { background: #FAFBFC; }
        /* Multi-select tags */
        .ms-tag {
            display: inline-flex; align-items: center; gap: 4px;
            padding: 4px 12px; background: rgba(70,149,225,0.08); border: 1px solid rgba(70,149,225,0.2);
            border-radius: 9999px; font-size: 12px; color: #4695E1; font-weight: 600;
        }
        .ms-tag-x {
            cursor: pointer; font-size: 14px; line-height: 1; opacity: 0.6;
        }
        .ms-tag-x:hover { opacity: 1; }
        .ms-dd-item { display: flex; align-items: center; gap: 8px; }
        .ms-dd-item input { width: 15px; height: 15px; accent-color: var(--azul-1); cursor: pointer; flex-shrink: 0; }

        /* Background processing indicator */
        /* History items */
        .history-item {
            display: flex; align-items: center; gap: 12px;
            padding: 10px 16px; background: #FFFFFF; border: 1px solid #E6EAEC;
            border-radius: 8px; cursor: pointer; transition: all 0.15s;
        }
        .history-item:hover { background: #F5F5F5; border-color: #4695E1; }
        .history-dot {
            width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
        }
        .history-dot.success { background: var(--verde); }
        .history-dot.error { background: var(--vermelho); }
        .history-dot.running { background: var(--amarelo); animation: pulse-opacity 1s infinite; }
        .history-info { flex: 1; min-width: 0; }
        .history-title { font-size: 12px; font-weight: 600; color: var(--texto-escuro); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .history-meta { font-size: 12px; color: var(--texto-claro); }

        .bg-task {
            position: fixed; right: 24px; z-index: 9998;
            width: 300px; min-height: 56px;
            background: var(--toast-info); border-radius: 4px; padding: 16px 12px;
            box-shadow: 0px 2px 20px rgba(36,58,68,0.05);
            display: flex; align-items: center; gap: 8px;
            cursor: pointer; transform: translateX(120%); transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
        }
        .bg-task.show { transform: translateX(0); }
        .bg-task-spinner {
            width: 24px; height: 24px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.3);
            border-top-color: #FFFFFF; animation: spin 1s linear infinite; flex-shrink: 0;
        }
        .bg-task-info { flex: 1; }
        .bg-task-title { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500; color: #FFFFFF; line-height: 17px; }
        .bg-task-status { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500; color: #FFFFFF; line-height: 17px; animation: pulse-opacity 1.5s infinite; }
        .bg-task-done { background: var(--toast-sucesso); }
        .bg-task-done .bg-task-spinner {
            border: none; animation: none; background: none;
            width: auto; height: auto;
        }
        .bg-task-done .bg-task-spinner::after {
            content: 'check_circle'; font-family: 'Material Symbols Rounded'; font-size: 24px; color: #FFFFFF;
        }
        .bg-task.bg-task-error { background: var(--toast-erro); }
        .bg-task.bg-task-error .bg-task-spinner {
            border: none; animation: none; background: none;
            width: auto; height: auto;
        }
        .bg-task.bg-task-error .bg-task-spinner::after {
            content: 'error'; font-family: 'Material Symbols Rounded'; font-size: 24px; color: #FFFFFF;
        }
        .bg-task-close {
            width: 24px; height: 24px; border-radius: 50%; border: none; background: none;
            cursor: pointer; display: flex; align-items: center; justify-content: center;
            color: #FFFFFF; font-size: 16px;
        }
        .bg-task-close:hover { background: rgba(255,255,255,0.15); }

        /* Schedule modal */
        .sched-day {
            display: flex; align-items: center; gap: 6px; padding: 8px 14px;
            border: 1px solid #E6EAEC; border-radius: 4px; cursor: pointer;
            font-size: 14px; font-weight: 500; color: #243A44; transition: all 0.15s;
            user-select: none;
        }
        .sched-day:has(input:checked) { border-color: #4695E1; background: rgba(70,149,225,0.08); }
        .sched-day:hover { border-color: #4695E1; }
        .sched-day input { display: none; }
        .sched-channel.active { border-color: var(--azul-1) !important; background: rgba(70,149,225,0.06) !important; color: var(--azul-1) !important; }
        .sched-edit-ch.active { border-color: var(--azul-1) !important; background: rgba(70,149,225,0.06) !important; color: var(--azul-1) !important; }

        /* Onboarding Tour */
        .tour-overlay {
            display: none; position: fixed; inset: 0; z-index: 99999;
            background: rgba(36,58,68,0.25); backdrop-filter: blur(2px);
            transition: opacity 0.3s;
            pointer-events: auto;
        }
        .tour-overlay.active { display: block; }
        .tour-spotlight {
            position: absolute; border-radius: 8px;
            background: transparent;
            box-shadow: 0 0 0 9999px rgba(36,58,68,0.25);
            transition: all 0.4s ease; pointer-events: none;
            display: none;
        }
        .tour-highlight {
            position: relative; z-index: 100001 !important;
            pointer-events: none;
        }
        /* Apply hover-style to highlighted mode-card */
        .mode-card.tour-highlight {
            border-color: #4695E1 !important;
            background: rgba(70,149,225,0.02) !important;
            box-shadow: 0 1px 3px rgba(36,58,68,0.08) !important;
        }
        /* Apply hover-style to highlighted right-card */
        .right-card.tour-highlight {
            border-color: #4695E1 !important;
            box-shadow: 0 2px 8px rgba(36,58,68,0.12) !important;
        }
        /* Block all interactions during tour */
        .left-card.tour-active .mode-card { pointer-events: none; }
        .left-card.tour-active .tour-inline-tooltip { pointer-events: auto; }
        .left-card.tour-active .tour-help-btn { pointer-events: none; display: none; }
        body.tour-running .right-card { pointer-events: none; }
        body.tour-running .home-greeting,
        body.tour-running .home-subtitle { pointer-events: none; }
        .tour-step-indicator {
            display: flex; gap: 5px; margin-bottom: 12px;
        }
        .tour-step-dot {
            width: 8px; height: 8px; border-radius: 50%; background: var(--cinza-2);
        }
        .tour-step-dot.active { background: var(--azul-1); }
        .tour-title { font-size: 16px; font-weight: 700; color: #243A44; margin-bottom: 8px; }
        .tour-text { font-size: 14px; color: #81959E; line-height: 1.5; margin-bottom: 16px; text-wrap: balance; min-height: 42px; }
        .tour-actions { display: flex; justify-content: space-between; align-items: center; }
        .tour-skip { font-size: 12px; color: var(--texto-claro); cursor: pointer; border: none; background: none; }
        .tour-skip:hover { color: var(--texto-escuro); }
        .tour-btns { display: flex; gap: 8px; }
        .tour-btn {
            padding: 8px 16px; border-radius: 4px; font-size: 14px; font-weight: 600;
            cursor: pointer; border: none; font-family: inherit;
        }
        .tour-btn.prev { background: #FFFFFF; color: #243A44; border: 1px solid #E6EAEC; }
        .tour-btn.next { background: #4695E1; color: #FFFFFF; }
        .tour-help-btn {
            width: 32px; height: 32px; border-radius: 50%;
            background: var(--branco); border: 1px solid var(--cinza-2);
            display: flex; align-items: center; justify-content: center;
            cursor: pointer; box-shadow: 0 2px 8px rgba(36,58,68,0.1);
            font-size: 14px; font-weight: 700; color: var(--azul-1);
            margin-top: auto; align-self: flex-start;
        }
        .tour-help-btn:hover { background: var(--background); }
        .tour-inline-tooltip {
            border-radius: 8px;
            padding: 20px 24px;
            display: none; margin-top: auto; align-self: stretch;
        }
        .tour-inline-tooltip.active { display: block; }
        .left-card.tour-active {
            z-index: 100002 !important; position: relative;
        }

        /* Toast notification */
        .toast {
            position: fixed; right: 24px; z-index: 10000;
            width: 300px; min-height: 56px;
            display: flex; align-items: center; padding: 16px 12px; gap: 8px;
            border-radius: 4px;
            box-shadow: 0px 2px 20px rgba(36,58,68,0.05);
            transform: translateX(120%); transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
        }
        .toast.show { transform: translateX(0); }
        .toast .material-symbols-rounded { font-size: 24px; color: #FFFFFF; flex-shrink: 0; }
        .toast-text { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500; color: #FFFFFF; line-height: 17px; flex: 1; }

        /* Scrollbar */
        ::-webkit-scrollbar { width: 6px; height: 6px; }
        ::-webkit-scrollbar-button { display: none; }
        ::-webkit-scrollbar-track, ::-webkit-scrollbar-track:hover { background: #EEEEEE; }
        ::-webkit-scrollbar-thumb, ::-webkit-scrollbar-thumb:hover { background: #BDBDBD; border-radius: 9999px; }