@import url('./modules/base.css');

        body.light-mode .sidebar { box-shadow: 1px 0 20px rgba(148, 163, 184, 0.15); border-right-color: #e2e8f0; }
        body.light-mode .card { box-shadow: 0 4px 6px -1px rgba(148, 163, 184, 0.1), 0 2px 4px -1px rgba(148, 163, 184, 0.06); border-color: #e2e8f0; }
        body.light-mode .trans-item { background: #ffffff; box-shadow: 0 1px 4px rgba(148, 163, 184, 0.08); border-color: #e2e8f0; }
        body.light-mode .trans-item:hover { background: #f8fafc; box-shadow: 0 10px 15px -3px rgba(148, 163, 184, 0.15); transform: none; }
        body.light-mode .form-input, body.light-mode .form-select { background: #ffffff; border-color: #cbd5e1; color: #1e293b; box-shadow: 0 1px 2px rgba(148, 163, 184, 0.1); }
        body.light-mode .form-input:focus, body.light-mode .form-select:focus { background: #ffffff; border-color: var(--neon-blue); box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15); }
        body.light-mode .modal-box { background: #ffffff; box-shadow: 0 16px 32px rgba(148, 163, 184, 0.15), 0 4px 8px rgba(148, 163, 184, 0.1); border-color: #e2e8f0; }
        body.light-mode .chat-bubble { background: #f1f5f9; color: #0f172a; border-color: #e2e8f0; }
        body.light-mode .chat-msg.ai .chat-bubble { background: #f1f5f9; }
        body.light-mode .chat-msg.user .chat-bubble { background: #eff6ff; border-color: #bfdbfe; }
        body.light-mode #star-canvas { opacity: 0.15; filter: invert(1); }
        body.light-mode .custom-options { background: #ffffff; box-shadow: 0 10px 15px -3px rgba(148, 163, 184, 0.15); border-color: #e2e8f0; }
        body.light-mode .custom-option:hover { background: #f1f5f9; }
        body.light-mode .custom-search { background: #ffffff; }
        body.light-mode .custom-search input { background: #f8fafc; border-color: #e2e8f0; color: #0f172a; }
        body.light-mode .config-col { background: #ffffff; box-shadow: 0 4px 6px -1px rgba(148, 163, 184, 0.1); }
        body.light-mode .cat-manager-item { background: #f8fafc; border-color: #e2e8f0; }
        body.light-mode .cat-manager-item:hover { background: #f1f5f9; border-color: #cbd5e1; }
        body.light-mode .btn-menu-sec { background: #f8fafc; border-color: #e2e8f0; color: #64748b; }
        body.light-mode .btn-menu-sec:hover { background: #f1f5f9; color: #1e293b; border-color: #cbd5e1; }
        body.light-mode .search-input { background: #ffffff; border-color: #e2e8f0; color: #1e293b; box-shadow: 0 4px 15px rgba(148, 163, 184, 0.15); }
        body.light-mode .feed-summary { background: #ffffff; border-color: #e2e8f0; box-shadow: 0 2px 6px rgba(148, 163, 184, 0.1); }
        body.light-mode .report-kpi { background: #f8fafc; border-color: #e2e8f0; }
        body.light-mode .rep-group-header:hover { background: #f1f5f9; }
        body.light-mode .rep-item-row { border-bottom-color: #f1f5f9; }
        body.light-mode .action-btn { background: #f1f5f9; border-color: #e2e8f0; color: #64748b; }
        body.light-mode .action-btn:hover { background: #e2e8f0; color: #0f172a; }
        body.light-mode .pg-header { background: #f8fafc; }
        body.light-mode .pg-header:hover { background: #f1f5f9; }
        body.light-mode .pg-content { background: #f1f5f9; border-top-color: #e2e8f0; }
        body.light-mode #parcelModalOverlay .parcel-modal-box,
        body.light-mode #parcelEditOverlay .parcel-edit-box,
        body.light-mode #createParcelModalOverlay .create-parcel-box {
            background: #ffffff !important;
            border: 1px solid #e2e8f0 !important;
            color: #0f172a !important;
            box-shadow: 0 25px 60px -12px rgba(148, 163, 184, 0.35) !important;
        }

        body.light-mode .parcel-main-title,
        body.light-mode .parcel-edit-title,
        body.light-mode .parcel-kpi-value,
        body.light-mode .pg-title,
        body.light-mode .pg-amount-row,
        body.light-mode .parcel-chron-desc,
        body.light-mode .parcel-chron-val {
            color: #0f172a !important;
        }

        body.light-mode .parcel-kpi-card {
            background: #f8fafc !important;
            border: 1px solid #e2e8f0 !important;
        }
        body.light-mode .parcel-kpi-card:hover {
            border-color: #cbd5e1 !important;
            background: #f1f5f9 !important;
        }

        body.light-mode .parcel-kpi-title,
        body.light-mode .parcel-section-label,
        body.light-mode .pg-obs,
        body.light-mode .pg-amount-count,
        body.light-mode .pg-progress-text,
        body.light-mode .parcel-chron-idx,
        body.light-mode .parcel-chron-sub,
        body.light-mode .pg-field-label,
        body.light-mode .pg-label,
        body.light-mode .parcel-edit-subtitle {
            color: #64748b !important;
        }

        body.light-mode .parcel-search-input,
        body.light-mode .pg-input,
        body.light-mode .pg-field-input,
        body.light-mode .pg-status-switch-container,
        body.light-mode .pg-editor-form .custom-select-trigger {
            background: #ffffff !important;
            border: 1px solid #cbd5e1 !important;
            color: #0f172a !important;
        }
        body.light-mode .parcel-search-input::placeholder,
        body.light-mode .pg-input::placeholder {
            color: #94a3b8 !important;
        }

        body.light-mode .parcel-filter-group {
            background: #f1f5f9 !important;
            border: 1px solid #e2e8f0 !important;
        }

        body.light-mode .parcel-filter-btn {
            color: #64748b !important;
        }
        body.light-mode .parcel-filter-btn:hover {
            color: #0f172a !important;
        }
        body.light-mode .parcel-filter-btn.active {
            background: #ecfdf5 !important;
            color: #047857 !important;
            border: 1px solid #6ee7b7 !important;
            box-shadow: 0 1px 3px rgba(16, 185, 129, 0.25) !important;
        }

        body.light-mode .parcel-group-item {
            background: #ffffff !important;
            border: 1px solid #e2e8f0 !important;
            box-shadow: 0 1px 3px rgba(148, 163, 184, 0.08) !important;
        }
        body.light-mode .parcel-group-item:hover {
            background: #f8fafc !important;
            border-color: #cbd5e1 !important;
            box-shadow: 0 4px 12px rgba(148, 163, 184, 0.15) !important;
        }

        body.light-mode .pg-header {
            background: #ffffff !important;
        }
        body.light-mode .pg-header:hover {
            background: #f8fafc !important;
        }
        body.light-mode .pg-content {
            background: #f8fafc !important;
            border-top: 1px solid #e2e8f0 !important;
        }
        body.light-mode .pg-item {
            border-bottom-color: #e2e8f0 !important;
        }
        body.light-mode .parcel-chron-row {
            border-bottom: 1px solid #e2e8f0 !important;
        }

        body.light-mode .pg-pill-btn {
            color: #64748b !important;
            background: #f1f5f9 !important;
            border: 1px solid #e2e8f0 !important;
        }
        body.light-mode .pg-pill-btn.active-pending {
            background: rgba(245, 158, 11, 0.15) !important;
            color: #d97706 !important;
            border-color: rgba(245, 158, 11, 0.3) !important;
        }
        body.light-mode .pg-pill-btn.active-paid {
            background: rgba(16, 185, 129, 0.15) !important;
            color: #059669 !important;
            border-color: rgba(16, 185, 129, 0.3) !important;
        }

        body.light-mode .btn-pg-cancel {
            background: #f1f5f9 !important;
            color: #64748b !important;
            border: 1px solid #cbd5e1 !important;
        }
        body.light-mode .btn-pg-cancel:hover {
            background: #e2e8f0 !important;
            color: #0f172a !important;
        }

        body.light-mode .btn-close-modal {
            background: #f1f5f9 !important;
            color: #64748b !important;
            border: 1px solid #e2e8f0 !important;
        }
        body.light-mode .btn-close-modal:hover {
            background: #e2e8f0 !important;
            color: #0f172a !important;
        }

        body.light-mode .create-parcel-name-card {
            background: #f8fafc !important;
            border: 1px solid #e2e8f0 !important;
        }
        body.light-mode .create-parcel-toolbar {
            background: #f8fafc !important;
            border: 1px solid #e2e8f0 !important;
        }
        body.light-mode .cp-select-all-label {
            color: #0f172a !important;
        }
        body.light-mode #createParcelTransList {
            background: #ffffff !important;
            border: 1px solid #e2e8f0 !important;
        }
        body.light-mode .cpt-row {
            background: #ffffff !important;
            border-color: #e2e8f0 !important;
        }
        body.light-mode .cpt-row:not(.selected):hover {
            background: #f1f5f9 !important;
        }
        body.light-mode .cpt-row.selected {
            background: #ecfdf5 !important;
            border-color: #6ee7b7 !important;
        }
        body.light-mode .cpt-row.selected:hover {
            background: #d1fae5 !important;
            border-color: #34d399 !important;
        }
        body.light-mode .cpt-title {
            color: #0f172a !important;
        }
        body.light-mode .cpt-val {
            color: #0f172a !important;
        }
        body.light-mode .cpt-cat-badge {
            background: #e2e8f0 !important;
            color: #475569 !important;
        }
        body.light-mode #createParcelSummaryBox {
            background: #ffffff !important;
            border-color: #bfdbfe !important;
        }
        body.light-mode #createParcelSummaryBox span,
        body.light-mode #createParcelSummaryBox strong#createParcelCount {
            color: #0f172a !important;
        }

        body.light-mode .pg-cat-pill { background: #e2e8f0; color: #334155; border-color: #cbd5e1; }
        body.light-mode .toggle-switch .slider { background-color: #cbd5e1; }
        body.light-mode .toggle-switch .slider:before { background-color: #fff; }
        body.light-mode input:checked + .slider { background-color: rgba(0, 200, 83, 0.2); }
        body.light-mode input:checked + .slider:before { background-color: var(--neon-green); }

        body.light-mode {
            background-image: radial-gradient(circle at 50% 0%, rgba(59, 130, 246, 0.08), transparent 70%);
        }

        body.light-mode ::-webkit-scrollbar-thumb { background: #cbd5e1; }
        body.light-mode ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
        body:not(.light-mode) .sidebar {
            background: #020202 !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            box-shadow: 2px 0 20px rgba(0, 0, 0, 0.9);
            border-right: 1px solid rgba(255, 255, 255, 0.04) !important;
        }
        body:not(.light-mode) .card {
            background: #070707 !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.04) inset;
            border: 1px solid rgba(255, 255, 255, 0.06) !important;
        }
        body:not(.light-mode) .trans-item {
            background: rgba(8, 8, 10, 0.88) !important;
            backdrop-filter: blur(10px) !important;
            -webkit-backdrop-filter: blur(10px) !important;
            border: 1px solid rgba(255, 255, 255, 0.065) !important;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
            margin-bottom: 8px !important;
            transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
        }
        body:not(.light-mode) .trans-item:hover {
            background: rgba(18, 18, 20, 0.96) !important;
            border-color: rgba(255, 255, 255, 0.14) !important;
            box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
            transform: none !important;
        }
        body.light-mode .trans-title,
        body.light-mode .trans-amount,
        body.light-mode .pay-badge,
        body.light-mode .meta-date,
        body.light-mode .fs-val,
        body.light-mode .kpi-value {
            text-shadow: none !important;
        }

        body.light-mode .pay-badge {
            border-right-color: #cbd5e1;
            color: #64748b;
        }

        body.light-mode .fs-divider {
            background: #e2e8f0;
        }

        body.light-mode .filter-group, body.light-mode .filters-wrapper { background: #f1f5f9; border-color: #e2e8f0; }
        body.light-mode .f-btn { color: #64748b; }
        body.light-mode .f-btn:hover { background: #e2e8f0; color: #1e293b; }
        body.light-mode .f-btn.active.all { background: #ffffff; color: #1e293b; box-shadow: 0 2px 4px rgba(148, 163, 184, 0.1); }

        body.light-mode .modal-overlay,
        body.light-mode #customConfirmOverlay {
            background: rgba(15, 23, 42, 0.40) !important;
        }

        body.light-mode .custom-select-trigger {
            background: #ffffff;
            border-color: #cbd5e1;
            color: #1e293b;
            box-shadow: 0 1px 2px rgba(148, 163, 184, 0.1);
        }
        body.light-mode .custom-select.open .custom-select-trigger {
            background: #ffffff;
            border-color: var(--neon-blue);
            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
        }
        body.light-mode .custom-select-trigger:after {
            color: #64748b;
        }

        body.light-mode .type-toggle-group {
            background: #f1f5f9;
            border-color: #e2e8f0;
        }

        body.light-mode .config-col h4,
        body.light-mode .input-add-group,
        body.light-mode .chat-box-area,
        body.light-mode .pg-content,
        body.light-mode .report-controls,
        body.light-mode .advisor-controls {
            background: #f8fafc !important;
            border-color: #e2e8f0 !important;
        }

        body.light-mode .input-add-group input {
            color: #1e293b;
        }

        body.light-mode .pg-header {
            background: #f8fafc;
        }
        body.light-mode .pg-header:hover {
            background: #f1f5f9;
        }
        body.light-mode button[onclick^="close"] {
            background: #f8fafc !important;
            border-color: #e2e8f0 !important;
            color: #64748b !important;
        }
        body.light-mode button[onclick^="close"]:hover {
            background: #f1f5f9 !important;
            color: #1e293b !important;
        }

        body.light-mode .confirm-box {
            background: #ffffff;
            box-shadow: 0 20px 25px -5px rgba(148, 163, 184, 0.15);
        }
        body.light-mode .c-btn.cancel {
            background: #f8fafc;
            border-color: #e2e8f0;
            color: #64748b;
        }
        body.light-mode .c-btn.cancel:hover {
            background: #f1f5f9;
            color: #1e293b;
        }

        #toast-container {
            position: fixed; top: 20px; left: 50%; transform: translateX(-50%);
            z-index: 100000; display: flex; flex-direction: column; gap: 10px;
            pointer-events: none; width: max-content; max-width: 90%;
        }
        .toast {
            padding: 10px 24px; border-radius: 30px; font-weight: 700; font-size: 12px;
            display: flex; align-items: center; gap: 12px;
            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
            backdrop-filter: blur(14px) saturate(150%);
            -webkit-backdrop-filter: blur(14px) saturate(150%);
            letter-spacing: 0.5px; text-transform: uppercase;
            opacity: 0; transform: translateY(-20px);
            transition: all 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
        }
        .toast.show { opacity: 1; transform: translateY(0); }

        .toast.danger {
            background: rgba(25, 8, 12, 0.72); border: 1px solid rgba(255, 71, 87, 0.38); color: var(--neon-red);
        }
        .toast.warning {
            background: rgba(28, 22, 5, 0.74); border: 1px solid rgba(255, 196, 0, 0.4); color: var(--neon-yellow);
        }
        .toast.success {
            background: rgba(4, 24, 14, 0.74); border: 1px solid rgba(0, 230, 118, 0.4); color: var(--neon-green);
        }

        .toast i { font-size: 14px; }

        body.light-mode .toast { box-shadow: 0 10px 30px rgba(0,0,0,0.15); }
        body.light-mode .toast.danger { background: rgba(255, 71, 87, 0.1); border-color: rgba(255, 71, 87, 0.4); }
        body.light-mode .toast.warning { background: rgba(245, 158, 11, 0.1); border-color: rgba(245, 158, 11, 0.4); color: #b45309; }
        body.light-mode .toast.warning i { color: #b45309; }
        body.light-mode .toast.success { background: rgba(16, 185, 129, 0.1); border-color: rgba(16, 185, 129, 0.4); color: #047857; }
        body.light-mode .toast.success i { color: #047857; }

        ::-webkit-scrollbar { width: 4px; height: 4px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 10px; }
        ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.25); }

        #loadingIndicator {
            position: fixed; top: 20px; left: 50%; transform: translateX(-50%);
            background: rgba(0, 230, 118, 0.15); border: 1px solid rgba(0, 230, 118, 0.3);
            color: var(--neon-green); padding: 10px 24px; border-radius: 30px; font-weight: 700; font-size: 12px;
            display: none; align-items: center; gap: 12px; z-index: 99999;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
            letter-spacing: 0.5px; text-transform: uppercase;
        }
        .spinner { width: 14px; height: 14px; border: 2px solid var(--neon-green); border-top-color: transparent; border-radius: 50%; animation: spin 0.8s linear infinite; }
        @keyframes spin { to { transform: rotate(360deg); } }

        .logo-text-col { display: flex; flex-direction: column; justify-content: center; line-height: 0.85; }
        .logo-nexa { font-size: 20px; font-weight: 900; letter-spacing: 6px; color: var(--text-main); margin-right: -6px; }
        .logo-sys { font-size: 9px; font-weight: 800; letter-spacing: 3px; color: var(--neon-green); align-self: flex-end; margin-right: -3px; text-shadow: 0 0 5px rgba(0, 230, 118, 0.5); }

        @keyframes rocket-launch {
            0% { transform: rotate(0deg) translateY(0); }
            25% { transform: rotate(-10deg) translateY(-2px); }
            50% { transform: rotate(5deg) translateY(0); }
            75% { transform: rotate(-5deg) translateY(-1px); }
            100% { transform: rotate(0deg) translateY(0); }
        }

        .mobile-header { display: none !important; position: fixed; top: 0; left: 0; width: 100%; height: 60px; background: var(--sidebar-bg); z-index: 50; border-bottom: 1px solid var(--card-border); align-items: center; padding: 0 20px; justify-content: space-between; }
        .mobile-brand { font-weight: 900; font-size: 18px; color: var(--text-main); letter-spacing: 0.5px; display: flex; align-items: center; gap: 10px; }
        .mobile-brand:hover i { animation: rocket-launch 0.5s ease-in-out; filter: drop-shadow(0 0 15px var(--neon-green)); }
        .menu-btn { background: none; border: none; color: var(--text-main); font-size: 20px; cursor: pointer; }
        .mobile-bottom-actions { display: none; }

        .sidebar {
            width: 80px;
            height: 100%;
            background: var(--sidebar-bg);
            border-right: 1px solid var(--card-border);
            padding: 20px 8px 10px;
            display: flex;
            flex-direction: column;
            align-items: center;
            z-index: 92;
            flex-shrink: 0;
            position: relative;
            box-shadow: 5px 0 20px rgba(0,0,0,0.3);
            box-sizing: border-box;
            overflow-x: hidden;
        }
        #star-canvas { position: absolute; top: 0; left: 0; width: 100%; height: 380px; z-index: 0; pointer-events: none; opacity: 0.75; mask-image: linear-gradient(to bottom, black 55%, transparent 100%); -webkit-mask-image: linear-gradient(to bottom, black 55%, transparent 100%); }
        .sidebar > *:not(#star-canvas):not(.month-list):not(.month-nav-container) { position: relative; z-index: 2; width: 56px; max-width: 100%; box-sizing: border-box; }

        .brand {
            font-size: 24px;
            font-weight: 900;
            color: var(--text-main);
            margin-bottom: 20px;
            letter-spacing: 0.5px;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 56px;
            height: 38px;
        }
        .brand i {
            color: var(--neon-green);
            font-size: 34px;
            filter: drop-shadow(0 0 7px rgba(0, 230, 118, 0.28));
            margin: 0 !important;
            transition: filter 0.25s ease;
        }
        .brand:hover i {
            animation: rocket-launch 0.5s ease-in-out;
            filter: drop-shadow(0 0 11px rgba(0, 230, 118, 0.55));
        }
        .brand .logo-text-col { display: none; }
        .brand .logo-nexa { font-size: 26px; }
        .brand .logo-sys { font-size: 11px; }

        /* Rail Action Buttons */
        .new-btn-wrapper {
            position: relative;
            width: 56px;
            margin: 0 auto 8px;
        }
        .btn-new {
            background: var(--neon-green);
            color: #000;
            border: none;
            width: 56px;
            height: 52px;
            min-height: 52px;
            padding: 0 !important;
            margin: 0 !important;
            border-radius: 12px;
            font-size: 0 !important;
            letter-spacing: 0 !important;
            cursor: pointer;
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0 !important;
            box-shadow: 0 4px 15px rgba(0, 230, 118, 0.25);
            box-sizing: border-box;
        }
        .btn-new i {
            font-size: 20px;
            margin: 0 !important;
            line-height: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 20px;
            height: 20px;
            transform: none !important;
        }
        .btn-new:hover {
            transform: translateY(-2px) scale(1.04);
            box-shadow: 0 8px 25px rgba(0, 230, 118, 0.45);
            background: #00ff88;
        }

        .menu-title { display: none; }

        .tools-grid {
            display: flex;
            flex-direction: column;
            gap: 8px;
            width: 56px;
            margin: 0 auto 8px;
            padding: 0;
        }
        .tools-grid .btn-menu-sec {
            width: 56px;
            height: 52px;
            min-height: 52px;
            padding: 0 !important;
            margin: 0 !important;
            border-radius: 12px;
            font-size: 0 !important;
            letter-spacing: 0 !important;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0 !important;
            background: rgba(255,255,255,0.03);
            border: 1px solid var(--card-border);
            color: var(--text-sec);
            cursor: pointer;
            box-sizing: border-box;
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .tools-grid .btn-menu-sec i {
            font-size: 18px;
            margin: 0 !important;
            line-height: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 18px;
            height: 18px;
        }
        .tools-grid .btn-menu-sec:hover {
            border-color: rgba(255,255,255,0.18);
            color: var(--text-main);
            background: rgba(255,255,255,0.07);
            transform: translateY(-1px);
        }
        .tools-grid .btn-menu-sec.active,
        .btn-tools-trigger.active {
            border-color: var(--neon-green);
            color: var(--neon-green);
            background: rgba(0, 230, 118, 0.12);
            box-shadow: 0 0 14px rgba(0, 230, 118, 0.25);
        }

        /* NEXA AI Button */
        .ai-btn-wrapper {
            position: relative;
            width: 56px;
            margin: 0 auto 6px;
        }
        .btn-ai {
            --ai-icon-color: #ffffff;
            position: relative;
            isolation: isolate;
            border: 1px solid transparent !important;
            background: rgba(255,255,255,0.03) !important;
            color: var(--text-main);
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            overflow: hidden;
            width: 56px;
            height: 52px;
            min-height: 52px;
            padding: 0 !important;
            margin: 0 !important;
            border-radius: 12px;
            font-size: 0 !important;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-sizing: border-box;
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .btn-ai::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            padding: 1px;
            background: conic-gradient(from var(--ai-rainbow-angle, 205deg) at 50% 50%, #00E5FF 0deg, #2979FF 42deg, #8B5CF6 86deg, #D500F9 132deg, #FF4757 185deg, #FFC400 235deg, #00E676 300deg, #00E5FF 360deg);
            animation: aiRainbowBorder 3.8s linear infinite;
            -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            -webkit-mask-composite: xor;
            mask-composite: exclude;
            pointer-events: none;
            z-index: 0;
        }
        @keyframes aiRainbowBorder {
            to { --ai-rainbow-angle: 565deg; }
        }
        .btn-ai i,
        .btn-ai .sparkles-icon {
            color: var(--ai-icon-color);
            text-shadow: 0 0 10px rgba(213,0,249,0.38);
            position: relative;
            z-index: 1;
            margin: 0 !important;
        }
        .sparkles-icon {
            width: 18px;
            height: 18px;
            display: inline-block;
            flex-shrink: 0;
            background: currentColor;
            -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'/%3E%3Cpath d='M20 3v4'/%3E%3Cpath d='M22 5h-4'/%3E%3Cpath d='M4 17v2'/%3E%3Cpath d='M5 18H3'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z'/%3E%3Cpath d='M20 3v4'/%3E%3Cpath d='M22 5h-4'/%3E%3Cpath d='M4 17v2'/%3E%3Cpath d='M5 18H3'/%3E%3C/svg%3E") center / contain no-repeat;
        }
        .btn-ai:hover {
            color: #fff;
            background: rgba(255,255,255,0.06) !important;
            box-shadow: 0 0 18px rgba(213,0,249,0.18), 0 4px 12px rgba(0,0,0,0.22) !important;
            transform: translateY(-1px);
        }
        body.light-mode .btn-ai {
            --ai-icon-color: #334155;
            background: #f8fafc !important;
            color: #334155;
            box-shadow: 0 1px 4px rgba(148,163,184,0.10);
        }
        body.light-mode .btn-ai:hover {
            background: #f1f5f9 !important;
            color: #0f172a;
            box-shadow: 0 0 16px rgba(99,102,241,0.12), 0 4px 12px rgba(148,163,184,0.16) !important;
        }
        body.light-mode .btn-ai .sparkles-icon {
            text-shadow: none;
        }

        /* Sidebar Navigation Rail Tooltips */
        .sidebar [data-tooltip] {
            position: relative;
        }
        .sidebar [data-tooltip]::after {
            content: attr(data-tooltip);
            position: absolute;
            left: calc(100% + 14px);
            top: 50%;
            transform: translateY(-50%) translateX(-6px) scale(0.95);
            background: rgba(10, 14, 23, 0.96);
            color: #f8fafc;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.3px;
            padding: 6px 12px;
            border-radius: 8px;
            white-space: nowrap;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.18s cubic-bezier(0.16, 1, 0.3, 1),
                        transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5), 0 0 1px rgba(255, 255, 255, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.12);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            z-index: 150;
        }
        @media (min-width: 901px) {
            .sidebar [data-tooltip]:hover::after {
                opacity: 1;
                transform: translateY(-50%) translateX(0) scale(1);
            }
        }
        body.light-mode .sidebar [data-tooltip]::after {
            background: rgba(255, 255, 255, 0.98);
            color: #0f172a;
            border-color: rgba(226, 232, 240, 0.9);
            box-shadow: 0 10px 25px rgba(15, 23, 42, 0.15), 0 2px 6px rgba(15, 23, 42, 0.08);
        }

        /* Month Navigation & List Compact */
        .month-nav-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 64px;
            flex: 1;
            min-height: 0;
            gap: 2px;
            margin-top: 2px;
            box-sizing: border-box;
            position: relative;
            z-index: 2;
        }

        .btn-year-nav {
            width: 46px;
            height: 18px;
            min-height: 18px;
            border-radius: 6px;
            background: transparent;
            border: 1px solid transparent;
            color: var(--text-sec);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
            box-sizing: border-box;
            flex-shrink: 0;
            padding: 0;
            opacity: 0.6;
        }
        .btn-year-nav i {
            font-size: 11px;
            line-height: 1;
            transition: transform 0.2s ease, color 0.2s ease, filter 0.2s ease;
        }
        .btn-year-nav:hover {
            opacity: 1;
            background: rgba(0, 230, 118, 0.08);
            border-color: rgba(0, 230, 118, 0.25);
            color: var(--neon-green);
        }
        .btn-year-nav:hover i {
            color: var(--neon-green);
            filter: drop-shadow(0 0 6px rgba(0, 230, 118, 0.6));
        }
        .btn-year-nav.btn-year-next:hover i {
            transform: translateY(-2px);
        }
        .btn-year-nav.btn-year-prev:hover i {
            transform: translateY(2px);
        }

        body.light-mode .btn-year-nav {
            color: #64748b;
        }
        body.light-mode .btn-year-nav:hover {
            background: rgba(16, 185, 129, 0.1);
            border-color: rgba(16, 185, 129, 0.3);
            color: #059669;
        }

        .btn-year-nav.disabled,
        .btn-year-nav:disabled {
            opacity: 0.15 !important;
            cursor: not-allowed !important;
            pointer-events: none !important;
            background: transparent !important;
            border-color: transparent !important;
            box-shadow: none !important;
            transform: none !important;
        }

        .month-list {
            list-style: none;
            overflow-y: auto;
            overflow-x: hidden;
            flex: 1;
            padding: 2px 4px;
            margin: 0;
            width: 64px;
            box-sizing: border-box;
        }
        .month-list::-webkit-scrollbar {
            width: 2px;
        }
        .month-list::-webkit-scrollbar-track {
            background: transparent;
        }
        .month-list::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.08);
            border-radius: 4px;
        }
        .month-list:hover::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.2);
        }
        body.light-mode .month-list::-webkit-scrollbar-thumb {
            background: rgba(0, 0, 0, 0.08);
        }
        body.light-mode .month-list:hover::-webkit-scrollbar-thumb {
            background: rgba(0, 0, 0, 0.2);
        }
        .month-item {
            width: 56px;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 10px 0;
            border-radius: 10px;
            margin: 0 auto 6px;
            cursor: pointer;
            border: 1px solid transparent;
            transition: all 0.2s ease;
            box-sizing: border-box;
            color: var(--text-sec);
            flex-shrink: 0;
        }
        .month-item .expanded-text { display: none; }
        .month-item .compact-text {
            display: flex;
            flex-direction: column;
            align-items: center;
            line-height: 1.2;
        }
        .month-item .c-mon {
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.5px;
            color: var(--text-sec);
            transition: color 0.2s ease;
        }
        .month-item .c-yr {
            font-size: 9px;
            opacity: 0.6;
            font-weight: 600;
            color: var(--text-sec);
            transition: color 0.2s ease;
        }
        .month-item:hover {
            color: var(--text-main);
            background: rgba(255,255,255,0.04);
            border-color: rgba(255,255,255,0.05);
        }
        .month-item:hover .c-mon,
        .month-item:hover .c-yr {
            color: var(--text-main);
        }
        .month-item.current:not(.active) {
            color: var(--text-main);
            background: rgba(148,163,184,0.09);
            border-color: rgba(148,163,184,0.28);
            box-shadow: inset 3px 0 0 rgba(148,163,184,0.75), 0 0 14px rgba(148,163,184,0.07);
            font-weight: 800;
        }
        .month-item.current:not(.active) .c-mon,
        .month-item.current:not(.active) .c-yr {
            color: var(--text-main);
            opacity: 1;
        }
        .month-item.active {
            color: var(--neon-green);
            background: rgba(0, 230, 118, 0.08);
            font-weight: 700;
            border-color: rgba(0, 230, 118, 0.15);
            box-shadow: inset 4px 0 0 var(--neon-green);
        }
        .month-item.active .c-mon,
        .month-item.active .c-yr {
            color: var(--neon-green);
            opacity: 1;
        }

        /* Quick Menu (+) */
        .quick-menu {
            position: absolute; left: 70px; top: 0;
            background: var(--card-bg);
            border: 1px solid var(--card-border); border-radius: 12px;
            padding: 6px; display: flex; flex-direction: column; gap: 6px;
            opacity: 0; visibility: hidden; transform: translateX(-10px) scale(0.9);
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 10px 30px rgba(0,0,0,0.5); z-index: 100;
            pointer-events: none;
        }
        .quick-menu.active { opacity: 1; visibility: visible; transform: translateX(0) scale(1); pointer-events: all; }

        .qm-btn {
            width: 36px; height: 36px; border-radius: 8px; border: none;
            cursor: pointer; display: flex; align-items: center; justify-content: center;
            font-size: 14px; transition: 0.2s; color: #fff;
        }
        .qm-btn.receita { background: rgba(0, 230, 118, 0.15); color: var(--neon-green); }
        .qm-btn.receita:hover { background: var(--neon-green); color: #000; box-shadow: 0 0 10px rgba(0, 230, 118, 0.4); }
        .qm-btn.despesa { background: rgba(255, 71, 87, 0.15); color: var(--neon-red); }
        .qm-btn.despesa:hover { background: var(--neon-red); color: #fff; box-shadow: 0 0 10px rgba(255, 71, 87, 0.4); }

        .compact-text { display: none; }
        .c-mon { font-size: 10px; font-weight: 800; letter-spacing: 0.5px; }
        .c-yr { font-size: 9px; opacity: 0.6; font-weight: 600; }

        /* Central de Ferramentas Flyout Drawer */
        .tools-flyout-backdrop {
            position: fixed;
            top: 0;
            bottom: 0;
            left: 80px;
            right: 0;
            background: rgba(0, 0, 0, 0.45);
            backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
            z-index: 85;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.24s ease, visibility 0.24s ease;
            pointer-events: none;
        }
        @media (max-width: 900px) {
            .tools-flyout-backdrop {
                left: 0;
            }
        }
        .tools-flyout-backdrop.active {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

        .tools-flyout {
            position: fixed;
            top: 150px;
            left: 88px;
            width: 310px;
            background: #08080a;
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85), 0 0 1px rgba(255, 255, 255, 0.15);
            z-index: 95;
            display: flex;
            flex-direction: column;
            opacity: 0;
            visibility: hidden;
            transform: translateX(-14px) scale(0.97);
            transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1),
                        transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
                        visibility 0.22s;
            pointer-events: none;
            overflow: hidden;
            padding: 8px;
        }
        .tools-flyout.active {
            opacity: 1;
            visibility: visible;
            transform: translateX(0) scale(1);
            pointer-events: auto;
        }

        .tools-flyout-body {
            padding: 0;
            display: flex;
            flex-direction: column;
        }
        .tools-flyout-list {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }
        .tools-flyout-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 9px 12px;
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.04);
            color: var(--text-main);
            cursor: pointer;
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
            width: 100%;
            text-align: left;
            box-sizing: border-box;
        }
        .tools-flyout-item:hover {
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(255, 255, 255, 0.1);
            transform: translateX(3px);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
        }
        .tools-item-icon {
            width: 36px;
            height: 36px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            flex-shrink: 0;
            transition: transform 0.2s ease;
        }
        .tools-flyout-item:hover .tools-item-icon {
            transform: scale(1.08);
        }
        .icon-cadastros { background: rgba(0, 229, 255, 0.12); color: #00E5FF; border: 1px solid rgba(0, 229, 255, 0.25); }
        .icon-clone { background: rgba(139, 92, 246, 0.12); color: #A78BFA; border: 1px solid rgba(139, 92, 246, 0.25); }
        .icon-transfer { background: rgba(255, 215, 64, 0.12); color: #FFD700; border: 1px solid rgba(255, 215, 64, 0.25); }
        .icon-export { background: rgba(0, 230, 118, 0.12); color: var(--neon-green); border: 1px solid rgba(0, 230, 118, 0.25); }
        .icon-presentation { background: rgba(213, 0, 249, 0.12); color: #E040FB; border: 1px solid rgba(213, 0, 249, 0.25); }

        .tools-item-info {
            display: flex;
            flex-direction: column;
            gap: 2px;
            flex: 1;
            min-width: 0;
        }
        .tools-item-name {
            font-size: 13px;
            font-weight: 700;
            color: var(--text-main);
            line-height: 1.2;
        }
        .tools-item-desc {
            font-size: 10.5px;
            color: var(--text-sec);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            line-height: 1.3;
        }
        .tools-item-arrow {
            color: var(--text-muted);
            font-size: 11px;
            transition: transform 0.2s ease, color 0.2s ease;
        }
        .tools-flyout-item:hover .tools-item-arrow {
            transform: translateX(2px);
            color: var(--neon-green);
        }

        /* Light Mode Flyout Overrides */
        body.light-mode .tools-flyout {
            background: #ffffff;
            border-color: rgba(226, 232, 240, 0.95);
            box-shadow: 0 20px 45px rgba(15, 23, 42, 0.12), 0 4px 12px rgba(15, 23, 42, 0.05);
        }
        body.light-mode .tools-flyout-backdrop {
            background: rgba(15, 23, 42, 0.25);
        }
        body.light-mode .tools-flyout-item {
            background: rgba(248, 250, 252, 0.8);
            border-color: #f1f5f9;
        }
        body.light-mode .tools-flyout-item:hover {
            background: #f1f5f9;
            border-color: #e2e8f0;
        }

        @media (max-width: 900px) {
            .tools-flyout {
                top: auto;
                bottom: 80px;
                left: 16px;
                right: 16px;
                width: auto;
                border-radius: 18px;
            }
        }

        @media (min-width: 901px) {
            .sidebar ~ .main-content .kpi-row {
                grid-template-columns: repeat(6, 1fr);
            }
        }

        @media (max-width: 900px) {
            .sidebar-toggle-btn { display: none; }
        }

        .month-item:hover { color: var(--text-main); background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.05); }
        .month-item.current:not(.active) {
            color: var(--text-main);
            background: rgba(148,163,184,0.09);
            border-color: rgba(148,163,184,0.28);
            box-shadow: inset 3px 0 0 rgba(148,163,184,0.75), 0 0 14px rgba(148,163,184,0.07);
            font-weight: 800;
        }
        .month-item.current:not(.active) .c-mon,
        .month-item.current:not(.active) .c-yr {
            color: var(--text-main);
        }
        .month-item.active { color: var(--neon-green); background: rgba(0, 230, 118, 0.08); font-weight: 700; border-color: rgba(0, 230, 118, 0.15); box-shadow: inset 4px 0 0 var(--neon-green); }

        .main-content { flex: 1; padding: 15px 0 20px 14px; height: 100vh; overflow: hidden; display: flex; gap: 14px; }
        .left-column { flex: 3.23; display: flex; flex-direction: column; gap: 16px; height: 100%; min-height: 0; min-width: 0; overflow: visible; }
        .right-column { flex: 1.33; height: 100%; display: flex; flex-direction: column; overflow: hidden; min-width: 320px; position: relative; }
        .header-area { flex-shrink: 0; margin-bottom: 0px; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 42px; }
        .header-custom-title {
            display: inline-flex;
            align-items: baseline;
            gap: 8px;
            margin: 0;
            line-height: 1.2;
            white-space: nowrap;
            padding-left: 7px;
            transform: translateY(2.5px);
            user-select: none;
            font-family: 'Inter', sans-serif;
            font-size: 18px;
        }

        .header-custom-title .title-eyebrow {
            display: inline-block;
            font-size: 18px;
            font-weight: 800;
            color: #64748b;
            letter-spacing: 0.5px;
            text-transform: uppercase;
            line-height: 1.2;
        }

        .header-custom-title .title-sep {
            display: inline-block;
            font-size: 18px;
            color: #475569;
            font-weight: 400;
            line-height: 1.2;
        }

        .header-custom-title .title-period-wrap {
            display: inline-flex;
            align-items: baseline;
            gap: 6px;
            line-height: 1.2;
        }

        .header-custom-title .title-month {
            display: inline-block;
            font-size: 18px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: 0.5px;
            text-transform: uppercase;
            line-height: 1.2;
        }

        .header-custom-title .title-year {
            display: inline-block;
            font-size: 18px;
            font-weight: 500;
            color: #64748b;
            letter-spacing: 0;
            line-height: 1.2;
        }

        body.light-mode .header-custom-title .title-eyebrow {
            color: #64748b;
        }
        body.light-mode .header-custom-title .title-sep {
            color: #94a3b8;
        }
        body.light-mode .header-custom-title .title-month {
            color: #0f172a;
        }
        body.light-mode .header-custom-title .title-year {
            color: #94a3b8;
        }

        .header-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; position: relative; }
        h2 { font-size: 26px; font-weight: 800; letter-spacing: -0.5px; margin: 0; color: var(--text-main); }

        .eye-btn { background: rgba(255,255,255,0.03); border: 1px solid var(--card-border); color: var(--text-sec); border-radius: 10px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s ease; transform-origin: center; box-shadow: 0 2px 8px rgba(0,0,0,0.1); order: 3; }
        .eye-btn:hover { color: var(--text-main); background: rgba(255,255,255,0.08); transform: scale(1.04); border-color: rgba(255,255,255,0.15); }
        .user-sync-btn {
            background: rgba(41,121,255,0.08); border: 1px solid rgba(41,121,255,0.18); color: var(--neon-blue);
            border-radius: 10px; width: 40px; height: 40px; display: none; align-items: center; justify-content: center;
            cursor: pointer; transition: all 0.2s ease; transform-origin: center; box-shadow: 0 2px 8px rgba(0,0,0,0.1); order: 2;
        }
        .user-sync-btn.active { display: inline-flex; }
        .user-sync-btn:hover { color: var(--text-main); background: rgba(41,121,255,0.14); transform: scale(1.04); border-color: rgba(41,121,255,0.32); }
        .user-sync-btn.pending { color: var(--neon-yellow); border-color: rgba(255,215,64,0.3); background: rgba(255,215,64,0.12); }
        .user-sync-btn.syncing { color: var(--neon-green); border-color: rgba(0,230,118,0.4); background: rgba(0,230,118,0.15); box-shadow: 0 0 12px rgba(0,230,118,0.25); }
        .user-sync-btn.error { color: var(--neon-red); border-color: rgba(255,71,87,0.3); background: rgba(255,71,87,0.12); }
        .user-sync-btn.pending i, .user-sync-btn.syncing i { animation: syncSpin 0.8s linear infinite; }
        @keyframes syncSpin {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }
        .user-chip {
            height: 42px; display: none; align-items: center; gap: 10px; padding: 5px 6px 5px 12px;
            border: 1px solid var(--card-border); border-radius: 8px; background: rgba(255,255,255,0.03);
            color: var(--text-main); box-shadow: 0 2px 8px rgba(0,0,0,0.1); max-width: min(310px, 42vw); order: 20; margin-left: 12px;
        }
        .user-chip.active { display: flex; }
        .user-chip-info { min-width: 0; text-align: right; line-height: 1.1; cursor: pointer; }
        .user-chip-name { display: block; font-size: 12px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 170px; }
        .user-chip-role { display: block; font-size: 9px; font-weight: 800; color: var(--neon-green); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 2px; }
        .user-avatar-btn {
            width: 32px; height: 32px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.12);
            background: linear-gradient(135deg, rgba(0,230,118,0.24), rgba(41,121,255,0.18)); color: var(--neon-green);
            display: flex; align-items: center; justify-content: center; cursor: pointer; overflow: hidden; flex-shrink: 0;
        }
        .user-avatar-btn img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .user-avatar-btn:hover { border-color: var(--neon-green); box-shadow: 0 0 14px rgba(0,230,118,0.18); }
        .due-alert-wrap { position: relative; display: flex; align-items: center; flex-shrink: 0; order: 1; }
        .due-alert-btn {
            width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--card-border);
            background: rgba(255,255,255,0.03); color: var(--text-muted); display: none; align-items: center; justify-content: center;
            cursor: pointer; transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease; transform-origin: center; flex-shrink: 0; position: relative; font-size: 14px;
            overflow: hidden; isolation: isolate; box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }
        .due-alert-btn::before {
            content: ''; position: absolute; inset: 0; border-radius: inherit; z-index: -1;
            background: transparent;
        }
        .due-alert-btn::after {
            display: none;
        }
        .due-alert-btn.active { display: flex; }
        .due-alert-btn.active:hover { transform: scale(1.04); background: rgba(255,255,255,0.08); }
        .due-alert-btn.overdue { color: var(--neon-red); border-color: rgba(255,71,87,0.38); background: rgba(255,71,87,0.08); box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
        .due-alert-btn.near { color: var(--neon-yellow); border-color: rgba(255,196,0,0.38); background: rgba(255,196,0,0.07); box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
        .due-alert-glyph {
            position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center;
            width: 16px; height: 18px; color: currentColor; font-size: 17px; line-height: 1;
            font-weight: 950; font-family: Arial, Helvetica, sans-serif; transform-origin: center;
        }
        .due-alert-btn.overdue .due-alert-glyph { animation: dueIconPulseRed 0.95s ease-in-out infinite; }
        .due-alert-btn.near .due-alert-glyph { animation: dueIconPulseOrange 1.25s ease-in-out infinite; }
        .due-alert-count {
            display: none !important;
        }
        .due-alert-panel {
            position: absolute; top: calc(100% + 10px); right: 0; width: min(440px, 86vw); max-height: min(430px, 70vh);
            overflow: auto; padding: 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.1);
            background:
                linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025)),
                rgba(7,7,7,0.62);
            box-shadow: 0 22px 52px rgba(0,0,0,0.58), inset 0 1px 0 rgba(255,255,255,0.10);
            backdrop-filter: blur(18px) saturate(150%);
            -webkit-backdrop-filter: blur(18px) saturate(150%);
            z-index: 70;
            opacity: 0; visibility: hidden; transform: translateY(-6px); transition: 0.18s ease;
        }
        .due-alert-panel.active { opacity: 1; visibility: visible; transform: translateY(0); }
        .due-alert-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 4px 10px; border-bottom: 1px solid rgba(255,255,255,0.06); margin-bottom: 10px; }
        .due-alert-title { font-size: 11px; font-weight: 900; color: var(--text-main); text-transform: uppercase; letter-spacing: 0.6px; }
        .due-alert-summary { display: flex; align-items: center; gap: 6px; min-width: 0; flex-wrap: wrap; }
        .due-alert-pill { font-size: 10px; font-weight: 900; border-radius: 999px; padding: 4px 7px; border: 1px solid rgba(255,255,255,0.08); white-space: nowrap; }
        .due-alert-pill.overdue { color: var(--neon-red); background: rgba(255,71,87,0.12); border-color: rgba(255,71,87,0.28); }
        .due-alert-pill.near { color: var(--neon-yellow); background: rgba(255,196,0,0.12); border-color: rgba(255,196,0,0.28); }
        .due-alert-close { border: 0; background: transparent; color: var(--text-sec); cursor: pointer; padding: 4px; }
        .due-alert-list { display: grid; gap: 8px; }
        .due-alert-empty { padding: 16px 8px; color: var(--text-sec); font-size: 12px; font-weight: 700; text-align: center; }
        .due-alert-row {
            width: 100%; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; align-items: center; border-radius: 10px;
            padding: 11px 12px; border: 1px solid rgba(255,255,255,0.06); background: rgba(255,255,255,0.035); cursor: pointer; text-align: left;
        }
        .due-alert-row:hover { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.12); }
        .due-alert-row.overdue { border-color: rgba(255,71,87,0.28); background: linear-gradient(90deg, rgba(255,71,87,0.14), rgba(255,255,255,0.03)); }
        .due-alert-row.near { border-color: rgba(255,196,0,0.28); background: linear-gradient(90deg, rgba(255,196,0,0.13), rgba(255,255,255,0.03)); }
        .due-alert-icon { width: 22px; height: 22px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; }
        .due-alert-row.overdue .due-alert-icon { color: var(--neon-red); background: rgba(255,71,87,0.14); }
        .due-alert-row.near .due-alert-icon { color: var(--neon-yellow); background: rgba(255,196,0,0.15); }
        .due-alert-main { min-width: 0; display: grid; gap: 4px; }
        .due-alert-desc-line { display: flex; align-items: center; gap: 8px; min-width: 0; }
        .due-alert-desc { color: var(--text-main); font-size: 12px; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; max-width: 100%; }
        .due-alert-status { color: var(--text-sec); font-size: 10px; font-weight: 850; white-space: nowrap; flex-shrink: 0; }
        .due-alert-row.overdue .due-alert-status { color: #ff9aa3; }
        .due-alert-row.near .due-alert-status { color: #ffd95b; }
        .due-alert-meta { color: var(--text-sec); font-size: 10px; font-weight: 750; display: flex; align-items: center; gap: 7px; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .due-alert-meta span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
        .due-alert-value { color: var(--neon-red); font-size: 12px; font-weight: 950; white-space: nowrap; align-self: center; }
        @keyframes dueIconPulseRed {
            0%, 100% { text-shadow: 0 0 0 rgba(255,71,87,0); opacity: 0.72; }
            50% { text-shadow: 0 0 8px rgba(255,71,87,0.55); opacity: 1; }
        }
        @keyframes dueIconPulseOrange {
            0%, 100% { text-shadow: 0 0 0 rgba(255,196,0,0); opacity: 0.74; }
            50% { text-shadow: 0 0 7px rgba(255,196,0,0.48); opacity: 1; }
        }
        .user-logout-btn {
            width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--card-border);
            background: rgba(255,255,255,0.03); color: var(--text-sec); display: flex; align-items: center; justify-content: center;
            cursor: pointer; transition: all 0.2s ease; flex-shrink: 0;
        }
        .user-logout-btn:hover { color: var(--neon-red); border-color: rgba(255,71,87,0.35); background: rgba(255,71,87,0.14); }
        body.light-mode .user-chip { background:#fff; border-color:#e2e8f0; }
        body.light-mode .user-chip-role { color: var(--neon-green); }
        body.light-mode .user-avatar-btn { border-color:#e2e8f0; }
        body.light-mode .user-logout-btn { background: #f8fafc; border-color: #e2e8f0; color: #64748b; }
        body.light-mode .user-logout-btn:hover { color: #ef4444; border-color: rgba(239,68,68,0.35); background: rgba(239,68,68,0.1); }
        body.light-mode .user-sync-btn { background:#eff6ff; border-color:#bfdbfe; color:#2563eb; }
        body.light-mode .due-alert-panel {
            background:
                linear-gradient(135deg, rgba(255,255,255,0.82), rgba(248,250,252,0.62)),
                rgba(255,255,255,0.68);
            border-color: rgba(226,232,240,0.8);
            box-shadow: 0 18px 38px rgba(15,23,42,0.18), inset 0 1px 0 rgba(255,255,255,0.85);
        }
        body.light-mode .due-alert-row { background:#f8fafc; border-color:#e2e8f0; }
        body.light-mode .due-alert-row.overdue { background: linear-gradient(90deg, rgba(239,68,68,0.14), #ffffff); }
        body.light-mode .due-alert-row.near { background: linear-gradient(90deg, rgba(245,158,11,0.16), #ffffff); }


        .kpi-value, .trans-amount, .fs-val, .l-val { transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); display: inline-block; white-space: nowrap; font-variant-numeric: tabular-nums; }
        .value-hidden-state, .private-text-hidden-state { font: inherit; letter-spacing: inherit; font-weight: inherit; }

        .kpi-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; flex-shrink: 0; }
        .card { background: var(--card-bg); border: 1px solid var(--card-border); border-top: 1px solid var(--card-highlight); border-radius: 16px; padding: 12px 9px; position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.2); }
        .kpi-label { font-size: 11px; color: var(--text-sec); font-weight: 700; text-transform: uppercase; margin-bottom: 6px; white-space: nowrap; letter-spacing: 0.5px; }
        .kpi-value { font-weight: 800; letter-spacing: -0.4px; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; width: 100%; white-space: nowrap; }

        .charts-wrapper {
            display: flex; flex-direction: column; gap: 16px; flex: 1; min-height: 0; margin-top: 5px;
            overflow-y: auto; overflow-x: hidden; padding-right: 0; margin-right: 0;
            overscroll-behavior: contain; scroll-behavior: smooth;
            scrollbar-width: none;
            -ms-overflow-style: none;
        }
        .charts-wrapper::-webkit-scrollbar {
            width: 0px !important;
            height: 0px !important;
            display: none !important;
        }
        .charts-initial-viewport { flex: 0 0 100%; min-height: 100%; display: flex; flex-direction: column; gap: 16px; }
        .charts-row-top { display: flex; gap: 16px; flex: 1.2; min-height: 0; }
        .charts-row-bottom { display: flex; gap: 16px; flex: 1; min-height: 0; }
        .chart-card { flex: 1; display: flex; flex-direction: column; justify-content: flex-start; padding: 18px 22px 20px 22px; min-width: 0; position: relative; }
        .chart-card.wide { flex: 1.4; }
        .chart-card.narrow { flex: 0.35; min-width: 110px; }
        .chart-box { flex: 1; position: relative; width: 100%; height: 100%; min-height: 0; overflow: hidden; margin-top: 0; }
        .chart-card .kpi-label {
            color: #bfdbfe; font-weight: 800; letter-spacing: 0.5px; line-height: 1; margin: 0 0 8px 0;
        }
        body.light-mode .chart-card .kpi-label { color: #1d4ed8; }

        .annual-flow-card {
            position: relative;
            overflow: hidden;
        }
        .annual-flow-card::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.025) 50%, transparent 100%);
            transform: translateX(-100%);
            animation: annualCardShimmer 8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
            pointer-events: none;
            z-index: 1;
        }
        @keyframes annualCardShimmer {
            0% { transform: translateX(-100%); opacity: 0; }
            20% { opacity: 1; }
            45% { transform: translateX(100%); opacity: 0; }
            100% { transform: translateX(100%); opacity: 0; }
        }
        .annual-flow-header {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-bottom: 16px;
            width: 100%;
            flex-shrink: 0;
            position: relative;
            z-index: 2;
        }
        .annual-flow-micro-label {
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.6px;
            color: #bfdbfe;
            line-height: 1;
        }
        .annual-flow-main-row {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 16px;
            width: 100%;
        }
        .annual-flow-headline {
            display: inline-flex;
            align-items: baseline;
            gap: 10px;
            white-space: nowrap;
        }
        .annual-flow-accum-val {
            font-size: clamp(28px, 2.4vw, 34px);
            font-weight: 900;
            font-variant-numeric: tabular-nums;
            line-height: 1;
            letter-spacing: -0.8px;
            color: #f8fafc;
        }
        .annual-flow-accum-sub {
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.6px;
            color: var(--text-sec);
            white-space: nowrap;
            line-height: 1;
        }
        .annual-flow-compare-row {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: -4px;
        }
        .annual-flow-legend {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            justify-content: flex-end;
            gap: 6px;
            flex-shrink: 0;
            white-space: nowrap;
            padding-bottom: 2px;
            min-width: 140px;
        }
        .annual-flow-legend .afl-item {
            display: grid;
            grid-template-columns: 4px 64px 1fr;
            align-items: center;
            gap: 8px;
            width: 100%;
            cursor: pointer;
            user-select: none;
            transition: opacity 0.15s;
            padding: 0;
            line-height: 1;
        }
        .annual-flow-legend .afl-item:hover {
            opacity: 0.85;
        }
        .annual-flow-legend .afl-item.is-disabled {
            opacity: 0.35;
            text-decoration: line-through;
        }
        .annual-flow-legend .afl-bar-pill {
            width: 3.5px;
            height: 12px;
            border-radius: 999px;
            display: inline-block;
            margin: 0;
        }
        .annual-flow-legend .afl-bar-pill.rec {
            background: #00E676;
            box-shadow: 0 0 6px rgba(0, 230, 118, 0.45);
            animation: beaconRecPulse 3.2s ease-in-out infinite;
        }
        @keyframes beaconRecPulse {
            0%, 100% {
                box-shadow: 0 0 4px rgba(0, 230, 118, 0.35);
                opacity: 0.85;
            }
            50% {
                box-shadow: 0 0 10px rgba(0, 230, 118, 0.85);
                opacity: 1;
            }
        }
        .annual-flow-legend .afl-bar-pill.desp {
            background: #FF4757;
            box-shadow: 0 0 6px rgba(255, 71, 87, 0.45);
            animation: beaconDespPulse 3.2s ease-in-out infinite 1.6s;
        }
        @keyframes beaconDespPulse {
            0%, 100% {
                box-shadow: 0 0 4px rgba(255, 71, 87, 0.35);
                opacity: 0.85;
            }
            50% {
                box-shadow: 0 0 10px rgba(255, 71, 87, 0.85);
                opacity: 1;
            }
        }
        .annual-flow-legend .afl-label {
            color: #94a3b8;
            font-weight: 500;
            font-size: 12.5px;
            line-height: 1;
            text-align: left;
        }
        .annual-flow-legend .afl-val {
            color: #f8fafc;
            font-weight: 800;
            font-variant-numeric: tabular-nums;
            font-size: 13px;
            line-height: 1;
            text-align: right;
        }
        body.light-mode .annual-flow-micro-label {
            color: #1d4ed8;
        }
        body.light-mode .annual-flow-accum-val {
            color: #1e293b;
        }
        body.light-mode .annual-flow-accum-sub {
            color: #64748b;
        }
        body.light-mode .annual-flow-legend .afl-label {
            color: #64748b;
        }
        body.light-mode .annual-flow-legend .afl-val {
            color: #0f172a;
        }

        @media (max-width: 768px) {
            .annual-flow-header {
                gap: 8px;
                margin-bottom: 12px;
            }
            .annual-flow-main-row {
                display: flex;
                flex-direction: row;
                justify-content: space-between;
                align-items: flex-end;
                gap: 12px;
            }
            .annual-flow-headline {
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                gap: 2px;
            }
            .annual-flow-accum-val {
                font-size: 24px;
            }
            .annual-flow-accum-sub {
                font-size: 10.5px;
                letter-spacing: 0.6px;
            }
            .annual-flow-legend {
                display: flex;
                flex-direction: column;
                align-items: flex-end;
                justify-content: flex-end;
                gap: 4px;
                padding-bottom: 2px;
            }
            .annual-flow-legend .afl-item {
                padding: 0;
                gap: 5px;
            }
            .annual-flow-legend .afl-bar-pill {
                width: 3.5px;
                height: 12px;
            }
            .annual-flow-legend .afl-label {
                font-size: 12px;
            }
            .annual-flow-legend .afl-val {
                font-size: 12.5px;
            }
        }

        .charts-extra-grid {
            flex: 0 0 auto; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
            gap: 16px; min-height: clamp(340px, 42vh, 420px); padding-bottom: 2px;
        }
        .spending-card { justify-content: flex-start; gap: 12px; min-height: 340px; }
        .spending-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-shrink: 0; }
        .spending-card-title { font-size: 11px; color: #bfdbfe; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
        body.light-mode .spending-card-title { color: #1d4ed8; }
        .spending-hero-line { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
        .spending-big-value { color: var(--text-main); font-size: clamp(25px, 2.3vw, 36px); line-height: 1; font-weight: 900; letter-spacing: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
        .spending-delta-label { color: var(--text-sec); font-size: 16px; font-weight: 500; white-space: nowrap; }
        .spending-compare-row { display: flex; align-items: center; gap: 10px; margin-top: 10px; min-width: 0; flex-wrap: wrap; }
        .spending-badge { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 8px; font-size: 12px; font-weight: 800; border: 1px solid rgba(255,71,87,0.24); background: rgba(255,71,87,0.16); color: var(--neon-red); font-variant-numeric: tabular-nums; }
        .spending-badge.is-good { border-color: rgba(0,230,118,0.24); background: rgba(0,230,118,0.14); color: var(--neon-green); }
        .spending-compare-copy { color: #cbd5e1; font-size: 13px; line-height: 1.25; white-space: nowrap; }
        body.light-mode .spending-compare-copy { color: #475569; }
        .spending-pace-chart-shell { position: relative; flex: 1; min-height: 215px; }
        .spending-pace-chart-shell canvas { position: relative; z-index: 1; }
        .spending-pace-tooltip {
            position: absolute; z-index: 8; opacity: 0; pointer-events: none; min-width: 175px;
            padding: 8px 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.08);
            background: rgba(10,10,12,0.96); color: #f8fafc; box-shadow: 0 12px 30px rgba(0,0,0,0.45);
            transform: translate(-50%, calc(-100% - 12px)); transition: opacity 0.12s ease;
        }
        .spending-pace-tooltip-title {
            font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px;
            color: #94a3b8; margin-bottom: 6px; line-height: 1.2;
        }
        .spending-pace-tooltip-row {
            display: flex; align-items: center; justify-content: space-between; gap: 14px;
            color: #cbd5e1; font-size: 11px; font-weight: 600; margin-bottom: 4px; line-height: 1.3;
        }
        .spending-pace-tooltip-row span { display: inline-flex; align-items: center; color: #94a3b8; }
        .spending-pace-tooltip-row strong {
            color: #f8fafc; font-size: 11px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums;
        }
        .spending-pace-tooltip-footer {
            margin: 6px -12px -8px; padding: 6px 12px; border-top: 1px solid rgba(255,255,255,0.06);
            border-radius: 0 0 8px 8px; background: rgba(255,71,87,0.08); color: var(--neon-red);
            font-size: 10.5px; font-weight: 700;
        }
        .spending-pace-tooltip-footer.is-good { background: rgba(0,230,118,0.08); color: var(--neon-green); }
        body.light-mode .spending-pace-tooltip { background: rgba(255,255,255,0.98); border-color: #e2e8f0; box-shadow: 0 12px 28px rgba(15,23,42,0.12); color: #0f172a; }
        body.light-mode .spending-pace-tooltip-title { color: #64748b; }
        body.light-mode .spending-pace-tooltip-row span { color: #64748b; }
        body.light-mode .spending-pace-tooltip-row strong { color: #0f172a; }
        body.light-mode .spending-pace-tooltip-footer { border-top-color: #e2e8f0; }
        .patrimony-tooltip {
            position: absolute;
            z-index: 20;
            transform: translate(-50%, calc(-100% - 12px));
        }
        .spending-pace-legend { display: flex; align-items: center; gap: 24px; flex-shrink: 0; color: #cbd5e1; font-size: 13px; }
        .spending-pace-legend span { display: inline-flex; align-items: center; gap: 8px; }
        .spending-pace-legend i { width: 18px; height: 1px; display: inline-block; background: var(--neon-red); }
        .spending-pace-legend i.previous { background: #737373; }
        body.light-mode .spending-pace-legend { color: #475569; }
        .spending-heat-card { min-width: 0; }
        .heatmap-grid-wrap { position: relative; flex: 1; min-height: 150px; display: flex; align-items: center; }
        .spending-heat-grid { position: relative; z-index: 1; width: 100%; display: grid; grid-template-rows: repeat(7, minmax(22px, 1fr)); gap: 4px; align-items: stretch; }
        .heat-weekday { display: flex; align-items: center; justify-content: center; color: #cbd5e1; font-size: 10px; font-weight: 800; }
        body.light-mode .heat-weekday { color: #64748b; }
        .heat-day {
            width: 100%; min-width: 0; border: 1px solid transparent; border-radius: 5px; color: #e5e7eb;
            background: rgba(255,255,255,0.065); font-size: 10px; font-weight: 800; cursor: default;
            outline: none; transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
            font-variant-numeric: tabular-nums;
        }
        .heat-day:hover, .heat-day:focus-visible { border-color: rgba(0,229,255,0.65); box-shadow: 0 0 0 2px rgba(0,229,255,0.14), 0 0 18px rgba(255,71,87,0.15); transform: translateY(-1px); }
        .heat-day.has-spending { cursor: pointer; }
        .heat-day.level-0 { color: #94a3b8; background: rgba(255,255,255,0.06); }
        .heat-day.level-1 { background: rgba(255,71,87,0.20); }
        .heat-day.level-2 { background: rgba(255,71,87,0.32); }
        .heat-day.level-3 { background: rgba(255,71,87,0.46); }
        .heat-day.level-4 { background: rgba(255,71,87,0.62); }
        .heat-day.level-5 { background: #ff4757; color: #fff; }
        body.light-mode .heat-day.level-0 { color: #64748b; background: #f1f5f9; }
        body.light-mode .heat-day.level-1 { color: #7f1d1d; background: #fee2e2; }
        body.light-mode .heat-day.level-2 { color: #7f1d1d; background: #fecaca; }
        body.light-mode .heat-day.level-3 { color: #fff; background: #fb7185; }
        body.light-mode .heat-day.level-4 { color: #fff; background: #ef4444; }
        body.light-mode .heat-day.level-5 { color: #fff; background: #dc2626; }
        .heat-empty { min-width: 0; }
        .spending-heat-tooltip {
            position: absolute; z-index: 40; opacity: 0; pointer-events: none; min-width: 150px;
            padding: 8px 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.08);
            background: rgba(10,10,12,0.96); box-shadow: 0 12px 30px rgba(0,0,0,0.45);
            color: #f8fafc; transition: opacity 0.1s ease;
        }
        .spending-heat-tooltip small { display: block; color: #94a3b8; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; line-height: 1.2; }
        .spending-heat-tooltip strong { display: block; font-size: 12.5px; font-weight: 800; color: #f8fafc; margin-bottom: 2px; font-variant-numeric: tabular-nums; line-height: 1.3; }
        .spending-heat-tooltip span { color: #94a3b8; font-size: 10.5px; font-weight: 600; }
        body.light-mode .spending-heat-tooltip { background: rgba(255,255,255,0.98); border-color: #e2e8f0; box-shadow: 0 12px 28px rgba(15,23,42,0.12); color: #0f172a; }
        body.light-mode .spending-heat-tooltip strong { color: #0f172a; }
        body.light-mode .spending-heat-tooltip small { color: #64748b; }
        body.light-mode .spending-heat-tooltip span { color: #64748b; }
        .heatmap-legend { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; color: #cbd5e1; font-size: 12px; flex-shrink: 0; }
        .heatmap-dots { display: flex; align-items: center; justify-content: center; gap: 5px; }
        .heatmap-dots span { width: 12px; height: 12px; border-radius: 4px; display: inline-block; }
        .heatmap-dots span:nth-child(1) { background: rgba(255,255,255,0.08); }
        .heatmap-dots span:nth-child(2) { background: rgba(255,71,87,0.22); }
        .heatmap-dots span:nth-child(3) { background: rgba(255,71,87,0.38); }
        .heatmap-dots span:nth-child(4) { background: rgba(255,71,87,0.58); }
        .heatmap-dots span:nth-child(5) { background: #ff4757; }
        .heatmap-divider { height: 1px; background: rgba(255,255,255,0.08); margin: 2px 0 4px; flex-shrink: 0; }
        body.light-mode .heatmap-divider { background: #e2e8f0; }
        .heatmap-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #cbd5e1; font-size: 12px; flex-shrink: 0; }
        .heatmap-footer strong { color: var(--neon-red); font-size: 13px; font-weight: 900; white-space: nowrap; font-variant-numeric: tabular-nums; }
        .heatmap-footer small { color: #cbd5e1; font-size: 11px; font-weight: 600; margin-left: 4px; }
        body.light-mode .heatmap-legend, body.light-mode .heatmap-footer, body.light-mode .heatmap-footer small { color: #475569; }
        #heatDayModalOverlay {
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        #heatDayModalOverlay .heat-day-modal {
            width: min(620px, calc(100vw - 36px));
            padding: 0;
            overflow: hidden;
            border-radius: 16px;
            background: #070707;
        }
        #heatDayModalOverlay .modal-header {
            padding: 22px 24px 16px;
            margin-bottom: 0;
            border-bottom: 1px solid var(--card-border);
            gap: 16px;
        }
        .heat-day-modal-subtitle {
            margin-top: 5px;
            color: var(--text-sec);
            font-size: 12px;
            font-weight: 700;
        }
        .heat-day-modal-body {
            padding: 20px 24px 24px;
            display: grid;
            gap: 16px;
        }
        .heat-day-summary {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
        }
        .heat-day-summary-item {
            min-width: 0;
            padding: 12px;
            border: 1px solid var(--card-border);
            border-radius: 8px;
            background: rgba(255,255,255,0.04);
        }
        .heat-day-summary-item span {
            display: block;
            color: var(--text-sec);
            font-size: 10px;
            font-weight: 900;
            text-transform: uppercase;
            margin-bottom: 6px;
        }
        .heat-day-summary-item strong {
            color: var(--text-main);
            font-size: 16px;
            font-weight: 950;
            white-space: nowrap;
            font-variant-numeric: tabular-nums;
        }
        .heat-day-expense-list {
            max-height: min(410px, 52vh);
            overflow-y: auto;
            display: grid;
            gap: 8px;
            padding-right: 4px;
        }
        .heat-day-expense-item {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: center;
            gap: 12px;
            padding: 12px;
            border: 1px solid rgba(255,255,255,0.07);
            border-left: 3px solid var(--item-color, var(--neon-red));
            border-radius: 8px;
            background: rgba(255,255,255,0.035);
        }
        .heat-day-expense-main { min-width: 0; display: grid; gap: 6px; }
        .heat-day-expense-desc {
            color: var(--text-main);
            font-size: 13px;
            font-weight: 900;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .heat-day-expense-meta {
            display: flex;
            align-items: center;
            gap: 7px;
            color: var(--text-sec);
            font-size: 10px;
            font-weight: 750;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .heat-day-expense-meta span {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .heat-day-expense-value {
            color: var(--neon-red);
            font-size: 14px;
            font-weight: 950;
            white-space: nowrap;
            font-variant-numeric: tabular-nums;
        }
        .heat-day-empty {
            padding: 26px 14px;
            text-align: center;
            color: var(--text-sec);
            font-size: 12px;
            font-weight: 800;
        }
        body.light-mode #heatDayModalOverlay .heat-day-modal,
        body.light-mode .heat-day-summary-item,
        body.light-mode .heat-day-expense-item {
            background: #ffffff;
            border-color: #e2e8f0;
        }

        @media (max-width: 700px) {
            #heatDayModalOverlay { align-items: flex-end; }
            #heatDayModalOverlay .heat-day-modal {
                width: calc(100% - 20px);
                max-width: 520px;
                border-radius: 22px 22px 0 0;
            }
            .heat-day-modal-body {
                padding: 18px 18px max(22px, env(safe-area-inset-bottom));
            }
            .heat-day-summary { grid-template-columns: 1fr; }
            .heat-day-expense-item { grid-template-columns: 1fr; }
            .heat-day-expense-value { justify-self: start; }
        }

        .category-chart-header,
        .pay-chart-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; width: 100%; flex-shrink: 0; position: relative; margin: 0 0 8px 0; }
        .category-chart-header .kpi-label,
        .pay-chart-header .kpi-label { margin: 0; line-height: 1; }
        .category-toggle-btn,
        .pay-toggle-btn {
            position: absolute;
            top: -6px;
            right: 0;
            width: 28px;
            height: 28px;
            padding: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            font-size: 11px;
            flex: 0 0 28px;
            z-index: 10;
        }
        .category-wrapper { display: flex; align-items: center; height: 100%; width: 100%; overflow: hidden; position: relative; padding: 0; }
        .donut-side { width: 55%; height: 100%; flex: none; position: relative; display: flex; align-items: center; justify-content: center; padding: 0; transition: width 0.5s; }
        .legend-side { width: 45%; height: 100%; overflow-y: auto; padding-left: 15px; display: flex; flex-direction: column; gap: 4px; justify-content: center; transition: all 0.5s; opacity: 1; }
        .legend-side::-webkit-scrollbar { width: 4px; }
        .legend-side::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.12); border-radius: 4px; }
        .category-wrapper.legend-hidden .donut-side { width: 100%; }
        .category-wrapper.legend-hidden .legend-side { width: 0; opacity: 0; padding: 0; pointer-events: none; }
        .category-wrapper.detail-mode .donut-side { width: 0; opacity: 0; padding: 0; pointer-events: none; overflow: hidden; }
        .category-wrapper.detail-mode .legend-side { width: 100%; opacity: 1; padding: 14px 4px 0 2px; pointer-events: auto; justify-content: flex-start; gap: 2px; }

        /* Layout Card Pagamentos - App Icon + Text Stack + Glowing Progress Bar */
        .pay-reference-wrapper {
            display: flex;
            flex-direction: column;
            width: calc(100% + 16px);
            height: 100%;
            min-height: 0;
            position: relative;
            margin: 8px -8px -6px -8px;
            padding: 0 8px;
            overflow: hidden;
            -webkit-mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 26px), transparent 100%);
            mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 26px), transparent 100%);
        }
        body.economy-mode .pay-reference-wrapper,
        body.gpu-lite-mode .pay-reference-wrapper {
            -webkit-mask-image: none;
            mask-image: none;
        }

        .pay-bank-list {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            gap: 2px;
            width: 100%;
            height: 100%;
            overflow-y: auto;
            overflow-x: hidden;
            padding: 4px 6px 0 6px;
            scrollbar-width: none;
            -ms-overflow-style: none;
        }
        .pay-bank-list::-webkit-scrollbar {
            display: none;
            width: 0;
            height: 0;
        }
        .pay-bank-row {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 3px 6px;
            border-radius: 10px;
            border: 1px solid transparent;
            cursor: pointer;
            transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
            user-select: none;
            flex-shrink: 0;
        }
        .pay-bank-row:hover {
            background: rgba(255, 255, 255, 0.05);
        }
        .pay-bank-row.active {
            /* Cores temáticas do banco são aplicadas dinamicamente inline */
            box-shadow: 0 0 14px rgba(255, 255, 255, 0.08);
        }
        .pay-bank-row.active:hover {
            filter: brightness(1.15);
        }
        .pay-bank-lead {
            display: flex;
            align-items: center;
            gap: 12px;
            width: 165px;
            flex-shrink: 0;
            min-width: 0;
        }
        .pay-bank-logo-box {
            width: 46px;
            height: 46px;
            border-radius: 12px;
            overflow: hidden;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 3px 12px rgba(0, 0, 0, 0.45);
        }
        .pay-bank-logo-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .pay-bank-logo-fallback {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #ffffff;
            font-size: 20px;
            font-weight: 800;
        }
        .pay-bank-text {
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-width: 0;
            line-height: 1.2;
        }
        .pay-bank-name {
            font-size: 13px;
            font-weight: 600;
            color: #f1f5f9;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            letter-spacing: -0.1px;
        }
        body.light-mode .pay-bank-name {
            color: #1e293b;
            font-weight: 600;
        }
        .pay-bank-val {
            font-size: 11.5px;
            font-weight: 600;
            color: #94a3b8;
            white-space: nowrap;
            font-feature-settings: 'tnum';
            margin-top: 1.5px;
            letter-spacing: -0.2px;
        }
        body.light-mode .pay-bank-val {
            color: #64748b;
            font-weight: 500;
        }
        body.light-mode .pay-bank-logo-box {
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
        }
        .pay-bank-track {
            flex: 1;
            height: 24px;
            background: rgba(255, 255, 255, 0.055);
            border-radius: 6px;
            position: relative;
            display: flex;
            align-items: center;
        }
        body.light-mode .pay-bank-track {
            border: none !important;
        }
        @keyframes payParticlesDrift {
            0% {
                background-position: 0px 0, 0px 0, 0px 0, 0px 0;
            }
            100% {
                background-position: 110px 0, 75px 0, 145px 0, 80px 0;
            }
        }
        @keyframes payBeamFlow {
            0% {
                transform: translateX(-100%);
                opacity: 0;
            }
            20% {
                opacity: 0.6;
            }
            80% {
                opacity: 0.6;
            }
            100% {
                transform: translateX(320%);
                opacity: 0;
            }
        }
        .pay-bank-fill {
            height: 100%;
            border-radius: 5px;
            min-width: 0;
            transition: width 0.75s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease;
            position: relative;
            z-index: 1;
            overflow: hidden;
            will-change: width;
        }
        .pay-bank-particles {
            position: absolute;
            inset: 0;
            overflow: hidden;
            border-radius: inherit;
            pointer-events: none;
            z-index: 2;
            background-image:
                radial-gradient(circle at 15% 35%, rgba(255, 255, 255, 0.95) 1.2px, transparent 1.6px),
                radial-gradient(circle at 55% 65%, rgba(255, 255, 255, 0.85) 1px, transparent 1.4px),
                radial-gradient(circle at 85% 30%, rgba(255, 255, 255, 0.9) 1.3px, transparent 1.7px),
                radial-gradient(circle at 35% 80%, rgba(255, 255, 255, 0.75) 0.9px, transparent 1.3px);
            background-size: 55px 24px, 75px 24px, 95px 24px, 40px 24px;
            background-repeat: repeat-x;
            animation: payParticlesDrift 3.5s linear infinite;
            mix-blend-mode: overlay;
            opacity: 0.85;
        }
        .pay-bank-particles::after {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            width: 40%;
            background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.35) 50%, transparent 100%);
            animation: payBeamFlow 3.8s ease-in-out infinite;
            will-change: transform;
            pointer-events: none;
        }
        body.light-mode .pay-bank-particles {
            mix-blend-mode: soft-light;
            opacity: 0.5;
        }
        body.light-mode .pay-bank-fill {
            box-shadow: none !important;
            filter: none !important;
        }
        body.economy-mode .pay-bank-fill,
        body.gpu-lite-mode .pay-bank-fill,
        body.economy-mode .pay-bank-particles,
        body.gpu-lite-mode .pay-bank-particles {
            animation: none !important;
            transition: none !important;
        }
        .pay-bank-row:hover .pay-bank-fill {
            filter: brightness(1.15);
        }
        .pay-chart-view {
            width: 100%;
            height: 100%;
            min-height: 0;
            position: relative;
        }
        .pay-empty-state {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 8px;
            height: 100%;
            color: var(--text-muted, #64748b);
            font-size: 12px;
            font-weight: 600;
            padding: 24px 0;
        }
        .pay-empty-state i {
            font-size: 24px;
            opacity: 0.4;
        }

        .toggle-btn { position: absolute; bottom: 15px; right: 15px; width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, 0.05); border: 1px solid var(--card-border); color: var(--text-sec); cursor: pointer; z-index: 10; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
        .toggle-btn:hover { background: var(--card-highlight); color: var(--text-main); transform: scale(1.05); }

        .category-detail-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(90px, auto) 54px; align-items: center; gap: 10px; padding: 2px 8px 8px; color: #8fb4ff; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 1px solid rgba(255,255,255,0.08); margin-bottom: 2px; flex-shrink: 0; }
        .category-detail-head span:nth-child(2),
        .category-detail-head span:nth-child(3) { text-align: right; }
        .legend-item { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 6px; font-size: 12px; color: #cbd5e1; flex-shrink: 0; border-bottom: 1px solid rgba(255,255,255,0.035); transition: 0.15s ease; cursor: pointer; user-select: none; }
        .category-detail-list .legend-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(90px, auto) 54px; align-items: center; gap: 10px; min-height: 32px; padding: 6px 8px; border: none; border-bottom: 1px solid rgba(255,255,255,0.035); border-radius: 6px; background: transparent; cursor: pointer; user-select: none; }
        .category-detail-list { overflow-x: hidden; }
        .legend-item:hover { background: rgba(255,255,255,0.06); color: var(--text-main); transform: translateX(2px); }
        .category-detail-list .legend-item:hover { background: rgba(255,255,255,0.06); transform: none; }
        .legend-item.active,
        .category-detail-list .legend-item.active { background: rgba(47, 111, 237, 0.18); border-bottom-color: transparent; }
        .legend-item.active .l-name,
        .category-detail-list .legend-item.active .l-name { color: #93c5fd; font-weight: 800; }
        .legend-item.active .l-val,
        .category-detail-list .legend-item.active .l-val { color: #60a5fa; }
        .legend-item:focus-visible,
        .category-detail-list .legend-item:focus-visible { outline: 1px solid rgba(0, 229, 255, 0.5); outline-offset: 1px; }
        .category-detail-list .legend-item:last-child { border-bottom: none; }
        .l-name { font-weight: 700; display: flex; align-items: center; gap: 8px; white-space: nowrap; overflow: visible; text-overflow: ellipsis; max-width: 135px; min-width: 0; color: #dbeafe; font-size: 12px; }
        .category-detail-list .l-name { max-width: none; min-width: 0; color: #e2e8f0; font-size: 12px; overflow: visible; }
        .category-detail-list .l-name span { overflow: hidden; text-overflow: ellipsis; }
        .l-dot { width: 8px; height: 8px; border-radius: 999px; flex-shrink: 0; box-shadow: 0 0 5px currentColor; margin: 0 2px; }
        .l-val-group { display: flex; align-items: center; gap: 8px; }
        .category-detail-list .l-val-group { display: contents; }
        .l-percent { font-size: 11px; color: #cbd5e1; font-weight: 700; }
        .category-detail-list .l-percent,
        .category-detail-list .l-val { text-align: right; }
        .category-detail-list .l-val { grid-column: 2; grid-row: 1; font-size: 12.5px; font-weight: 800; color: var(--text-main); }
        .category-detail-list .l-percent { grid-column: 3; grid-row: 1; justify-self: end; min-width: 48px; padding: 2px 6px; border-radius: 6px; background: rgba(47, 111, 237, 0.12); color: #93c5fd; font-weight: 700; font-size: 11px; text-align: center; }
        .l-val { font-weight: 900; font-size: 12px; color: var(--text-main); }
        .empty-detail-state { text-align:center; color:var(--text-muted); font-size:12px; font-weight:600; padding-top:30px; }
        body.light-mode .legend-side::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.12); }
        body.light-mode .legend-item { color: #475569; border-bottom-color: #f1f5f9; }
        body.light-mode .legend-item:hover { background: #f8fafc; }
        body.light-mode .category-detail-head { border-bottom-color: #e2e8f0; color: #2563eb; }
        body.light-mode .category-detail-list .legend-item { background: transparent; border-bottom-color: #f1f5f9; }
        body.light-mode .category-detail-list .legend-item:hover { background: #f8fafc; }
        body.light-mode .legend-item.active,
        body.light-mode .category-detail-list .legend-item.active { background: #eff6ff; }
        body.light-mode .legend-item.active .l-name,
        body.light-mode .category-detail-list .legend-item.active .l-name { color: #1d4ed8; }
        body.light-mode .legend-item.active .l-val,
        body.light-mode .category-detail-list .legend-item.active .l-val { color: #1d4ed8; }
        body.light-mode .category-detail-list .l-percent { background: #dbeafe; color: #1d4ed8; }
        body.light-mode .category-detail-list .l-name { color: #334155; }
        body.light-mode .category-detail-list .l-val { color: #0f172a; }

        .chart-card.narrow {
            position: relative; overflow: hidden; padding: 0 !important;
            background: var(--card-bg);
        }
        /* Teto de Gastos: mantem o fundo estavel atras do liquido */
        body:not(.light-mode) .chart-card.narrow,
        body:not(.light-mode) .chart-card.narrow:hover { background: #080808 !important; }

        .ceiling-wrapper {
            display: flex; flex-direction: column; align-items: center; justify-content: space-between;
            flex: 1; width: 100%; cursor: pointer;
            padding: 0 20px 20px 20px; position: relative; z-index: 5; /* Texto acima do líquido */
        }

        .ceiling-header-info { display: flex; flex-direction: column; align-items: center; gap: 2px; margin-bottom: 12px; }
        .c-pct { font-size: clamp(24px, 2.2vw, 32px); font-weight: 900; letter-spacing: 0; line-height: 1; text-shadow: 0 2px 10px rgba(0,0,0,0.8); transition: color 0.3s; z-index: 5; font-variant-numeric: tabular-nums; }
        .c-status-icon { font-size: 12px; opacity: 0.9; margin-bottom: 12px; text-shadow: 0 2px 5px rgba(0,0,0,0.8); }

        .ceiling-track {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            background: transparent; z-index: 0;
            overflow: hidden;
        }

        .ceiling-fill {
            position: absolute; bottom: 0; left: 0; width: 100%; height: 0%;
            transition: height 1s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s;
            background: transparent;
            z-index: 1;
            opacity: var(--ceiling-liquid-opacity, 0.52);
            overflow: visible;
            will-change: height;
            transform: translateZ(0);
        }

        .ceiling-fill::before,
        .ceiling-fill::after {
            content: '';
            position: absolute;
            pointer-events: none;
        }

        .ceiling-fill::before {
            inset: 10px -6% 0 -6%;
            z-index: 0;
            opacity: 1;
            background:
                linear-gradient(
                    to top,
                    var(--ceiling-fill-bottom) 0%,
                    var(--ceiling-fill-mid) calc(100% - 44px),
                    var(--ceiling-fill-top) calc(100% - 28px),
                    var(--ceiling-fill-top) 100%
                );
            background-size: 100% 100%;
            background-position: 0 0;
            animation: none;
        }

        .ceiling-fill::after {
            content: none;
        }

        .surface-boil {
            position: absolute;
            left: -8px; right: -8px; top: -18px; height: 34px;
            pointer-events: none;
            z-index: 3;
            opacity: 1;
            overflow: hidden;
        }
        .surface-wave {
            position: absolute;
            top: 0; left: 0;
            width: 200%; height: 100%;
            transform: translate3d(0, 0, 0);
            will-change: transform;
        }
        .surface-wave.back {
            opacity: var(--surface-ripple-alpha, 0.34);
            animation: surfaceWaveSlide var(--surface-speed-slow, 5s) linear infinite reverse;
        }
        .surface-wave.back path {
            fill: none;
            stroke: color-mix(in srgb, var(--ceiling-fill-top) 72%, white);
            stroke-width: 1.25;
            stroke-linecap: round;
            vector-effect: non-scaling-stroke;
        }
        .surface-wave.front {
            opacity: 1;
            filter: var(--surface-wave-filter, drop-shadow(0 1px 6px color-mix(in srgb, var(--wave-color) 18%, transparent)));
            animation: surfaceWaveSlide var(--surface-speed, 3s) linear infinite;
        }
        .surface-wave.front path {
            fill: var(--ceiling-fill-top);
        }
        .surface-boil span {
            position: absolute;
            left: var(--surface-x, 50%);
            bottom: var(--surface-y, 5px);
            width: var(--surface-size, 4px);
            height: var(--surface-size, 4px);
            border-radius: 50%;
            background: color-mix(in srgb, var(--wave-color) 46%, white);
            border: 1px solid color-mix(in srgb, var(--wave-color) 54%, white);
            box-shadow: 0 0 8px color-mix(in srgb, var(--wave-color) 38%, transparent);
            opacity: 0;
            transform: translateX(-50%) scale(0.55);
            animation: surfaceBubblePop var(--surface-pop-speed, 2.4s) ease-out infinite;
            animation-delay: var(--surface-delay, 0s);
        }
        .surface-boil span:nth-child(3) { --surface-x: 10%; --surface-y: 8px; --surface-size: 3px; --surface-delay: -0.2s; }
        .surface-boil span:nth-child(4) { --surface-x: 21%; --surface-y: 9px; --surface-size: 4px; --surface-delay: -1.1s; }
        .surface-boil span:nth-child(5) { --surface-x: 32%; --surface-y: 7px; --surface-size: 2px; --surface-delay: -0.7s; }
        .surface-boil span:nth-child(6) { --surface-x: 46%; --surface-y: 10px; --surface-size: 3px; --surface-delay: -1.6s; }
        .surface-boil span:nth-child(7) { --surface-x: 59%; --surface-y: 8px; --surface-size: 4px; --surface-delay: -0.5s; }
        .surface-boil span:nth-child(8) { --surface-x: 72%; --surface-y: 9px; --surface-size: 3px; --surface-delay: -1.3s; }
        .surface-boil span:nth-child(9) { --surface-x: 84%; --surface-y: 7px; --surface-size: 2px; --surface-delay: -2s; }
        .surface-boil span:nth-child(10) { --surface-x: 93%; --surface-y: 10px; --surface-size: 3px; --surface-delay: -0.9s; }

        .particles {
            position: absolute;
            inset: 10px 0 0 0;
            pointer-events: none; overflow: hidden;
            z-index: 2;
            opacity: var(--ceiling-bubbles-opacity, 1);
        }
        .particles span {
            position: absolute; bottom: -10px;
            left: var(--bubble-x, 50%);
            width: var(--bubble-size, 4px); height: var(--bubble-size, 4px);
            background: color-mix(in srgb, var(--wave-color) 58%, white);
            border: 1px solid color-mix(in srgb, var(--wave-color) 65%, white);
            border-radius: 50%;
            opacity: 0;
            animation: ceilingBoilUp var(--bubble-speed, 3s) infinite ease-out;
            animation-delay: var(--bubble-delay, 0s);
            box-shadow: 0 0 7px color-mix(in srgb, var(--wave-color) 70%, transparent);
        }
        .particles span:nth-child(1) { --bubble-x: 8%; --bubble-size: 3px; --bubble-speed: 2.7s; --bubble-delay: -0.2s; --bubble-drift: 5px; }
        .particles span:nth-child(2) { --bubble-x: 18%; --bubble-size: 2px; --bubble-speed: 3.4s; --bubble-delay: -1.5s; --bubble-drift: -4px; }
        .particles span:nth-child(3) { --bubble-x: 28%; --bubble-size: 5px; --bubble-speed: 3s; --bubble-delay: -0.9s; --bubble-drift: 7px; }
        .particles span:nth-child(4) { --bubble-x: 39%; --bubble-size: 3px; --bubble-speed: 2.5s; --bubble-delay: -2.1s; --bubble-drift: -6px; }
        .particles span:nth-child(5) { --bubble-x: 50%; --bubble-size: 4px; --bubble-speed: 3.3s; --bubble-delay: -0.5s; --bubble-drift: 4px; }
        .particles span:nth-child(6) { --bubble-x: 61%; --bubble-size: 2px; --bubble-speed: 2.9s; --bubble-delay: -1.8s; --bubble-drift: -5px; }
        .particles span:nth-child(7) { --bubble-x: 72%; --bubble-size: 5px; --bubble-speed: 3.6s; --bubble-delay: -2.6s; --bubble-drift: 6px; }
        .particles span:nth-child(8) { --bubble-x: 83%; --bubble-size: 3px; --bubble-speed: 2.6s; --bubble-delay: -1.1s; --bubble-drift: -3px; }
        .particles span:nth-child(9) { --bubble-x: 92%; --bubble-size: 2px; --bubble-speed: 3.1s; --bubble-delay: -2.3s; --bubble-drift: 5px; }
        .particles span:nth-child(10) { --bubble-x: 14%; --bubble-size: 2px; --bubble-speed: 2.4s; --bubble-delay: -2.8s; --bubble-drift: 3px; }
        .particles span:nth-child(11) { --bubble-x: 46%; --bubble-size: 3px; --bubble-speed: 3.8s; --bubble-delay: -3.1s; --bubble-drift: -7px; }
        .particles span:nth-child(12) { --bubble-x: 68%; --bubble-size: 2px; --bubble-speed: 2.8s; --bubble-delay: -0.7s; --bubble-drift: 4px; }
        .particles span:nth-child(13) { --bubble-x: 87%; --bubble-size: 4px; --bubble-speed: 3.5s; --bubble-delay: -1.9s; --bubble-drift: -6px; }

        .ceiling-fill.safe .particles { --wave-color: var(--neon-green); }
        .ceiling-fill.warn .particles { --wave-color: var(--neon-yellow); }
        .ceiling-fill.danger .particles {
            --wave-color: var(--neon-red);
            --bubble-alpha: 0.9;
        }

        .ceiling-fill.safe {
            --ceiling-fill-bottom: rgb(0, 55, 28);
            --ceiling-fill-mid: rgb(0, 132, 68);
            --ceiling-fill-top: rgb(0, 230, 118);
            --ceiling-liquid-opacity: 0.66;
            box-shadow: 0 0 30px rgba(0, 230, 118, 0.2);
            --wave-color: var(--neon-green);
        }
        .ceiling-fill.warn {
            --ceiling-fill-bottom: rgb(70, 54, 0);
            --ceiling-fill-mid: rgb(150, 116, 0);
            --ceiling-fill-top: rgb(255, 196, 0);
            --ceiling-liquid-opacity: 0.66;
            box-shadow: 0 0 30px rgba(255, 196, 0, 0.2);
            --wave-color: var(--neon-yellow);
        }
        .ceiling-fill.danger {
            --ceiling-fill-bottom: rgb(75, 20, 28);
            --ceiling-fill-mid: rgb(150, 40, 54);
            --ceiling-fill-top: rgb(255, 71, 87);
            --ceiling-liquid-opacity: 0.66;
            box-shadow: 0 0 40px rgba(255, 71, 87, 0.3);
            --wave-color: var(--neon-red);
        }

        .ceiling-footer { text-align: center; display: flex; flex-direction: column; gap: 2px; margin-top: auto; width: 100%; z-index: 5; }
        .c-current { font-size: 15px; font-weight: 900; color: var(--text-main); letter-spacing: 0; text-shadow: 0 2px 8px rgba(0,0,0,0.8); font-variant-numeric: tabular-nums; }
        .c-max { font-size: 11px; color: #cbd5e1; font-weight: 700; text-transform: uppercase; letter-spacing: 0; opacity: 0.95; text-shadow: 0 1px 4px rgba(0,0,0,0.8); }

        body.light-mode .c-pct, body.light-mode .c-current { color: #1e293b; text-shadow: 0 0 15px rgba(255,255,255,0.8); }
        body.light-mode .c-status-icon, body.light-mode .c-max { color: #475569; text-shadow: 0 0 10px rgba(255,255,255,0.8); }
        body.light-mode .ceiling-fill {
            opacity: 0.58;
            --surface-wave-filter: none;
        } /* Mais suave no light mode */
        body.light-mode .ceiling-fill.safe {
            --ceiling-fill-bottom: color-mix(in srgb, var(--neon-green) 18%, white);
            --ceiling-fill-mid: color-mix(in srgb, var(--neon-green) 30%, white);
            --ceiling-fill-top: color-mix(in srgb, var(--neon-green) 42%, white);
            box-shadow: 0 0 18px color-mix(in srgb, var(--neon-green) 16%, transparent);
        }
        body.light-mode .ceiling-fill.warn {
            --ceiling-fill-bottom: color-mix(in srgb, var(--neon-yellow) 18%, white);
            --ceiling-fill-mid: color-mix(in srgb, var(--neon-yellow) 30%, white);
            --ceiling-fill-top: color-mix(in srgb, var(--neon-yellow) 44%, white);
            box-shadow: 0 0 18px color-mix(in srgb, var(--neon-yellow) 16%, transparent);
        }
        body.light-mode .ceiling-fill.danger {
            --ceiling-fill-bottom: color-mix(in srgb, var(--neon-red) 16%, white);
            --ceiling-fill-mid: color-mix(in srgb, var(--neon-red) 28%, white);
            --ceiling-fill-top: color-mix(in srgb, var(--neon-red) 42%, white);
            box-shadow: 0 0 20px color-mix(in srgb, var(--neon-red) 18%, transparent);
        }

        #ceilingModalOverlay .modal-box {
            width: min(760px, 94vw);
            max-height: 86vh;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        #ceilingModalOverlay .modal-header { flex-shrink: 0; margin-bottom: 14px; }
        .ceiling-detail-summary {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
            margin-bottom: 14px;
            flex-shrink: 0;
        }
        .ceiling-detail-card {
            border: 1px solid var(--card-border);
            border-radius: 8px;
            background: rgba(255,255,255,0.035);
            padding: 12px;
            min-width: 0;
        }
        .ceiling-detail-card span {
            display: block;
            color: var(--text-muted);
            font-size: 10px;
            font-weight: 900;
            text-transform: uppercase;
            margin-bottom: 6px;
        }
        .ceiling-detail-card strong {
            display: block;
            color: var(--text-main);
            font-size: 16px;
            font-weight: 900;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .ceiling-detail-progress {
            height: 9px;
            border-radius: 999px;
            background: rgba(255,255,255,0.06);
            border: 1px solid var(--card-border);
            overflow: hidden;
            margin-bottom: 14px;
            flex-shrink: 0;
        }
        .ceiling-detail-progress span {
            display: block;
            height: 100%;
            width: 0;
            border-radius: inherit;
            background: var(--neon-green);
            transition: width 0.25s ease;
        }
        .ceiling-detail-progress.warn span { background: var(--neon-yellow); }
        .ceiling-detail-progress.danger span { background: var(--neon-red); }
        .ceiling-detail-scroll {
            flex: 1;
            min-height: 0;
            overflow-y: auto;
            padding-right: 6px;
            margin-right: -6px;
        }
        .ceiling-section {
            border: 1px solid var(--card-border);
            border-radius: 8px;
            overflow: hidden;
            background: rgba(255,255,255,0.025);
            margin-bottom: 12px;
        }
        .ceiling-section-head {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            align-items: center;
            padding: 12px 14px;
            border-bottom: 1px solid var(--card-border);
            background: rgba(255,255,255,0.035);
        }
        .ceiling-section-title {
            color: var(--text-main);
            font-size: 12px;
            font-weight: 900;
            text-transform: uppercase;
        }
        .ceiling-section-total {
            color: var(--text-sec);
            font-size: 12px;
            font-weight: 800;
            white-space: nowrap;
        }
        .ceiling-detail-row {
            display: grid;
            grid-template-columns: minmax(0, 1.3fr) 92px 108px 150px;
            gap: 10px;
            align-items: center;
            padding: 12px 14px;
            border-bottom: 1px solid rgba(255,255,255,0.05);
            color: var(--text-sec);
            font-size: 12px;
        }
        .ceiling-detail-row:last-child { border-bottom: none; }
        .ceiling-detail-main { min-width: 0; }
        .ceiling-detail-desc {
            color: var(--text-main);
            font-weight: 800;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .ceiling-detail-meta {
            margin-top: 4px;
            color: var(--text-muted);
            font-size: 11px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .ceiling-detail-value {
            color: var(--text-main);
            font-weight: 900;
            text-align: right;
        }
        .ceiling-detail-date { color: var(--text-sec); text-align: center; }
        .ceiling-action-btn {
            border: 1px solid var(--card-border);
            border-radius: 8px;
            padding: 9px 10px;
            background: rgba(255,255,255,0.04);
            color: var(--text-sec);
            cursor: pointer;
            font-size: 11px;
            font-weight: 900;
            transition: 0.2s;
        }
        .ceiling-action-btn.ignore:hover {
            color: var(--neon-yellow);
            border-color: rgba(255,196,0,0.32);
            background: rgba(255,196,0,0.08);
        }
        .ceiling-action-btn.include:hover {
            color: var(--neon-green);
            border-color: rgba(0,230,118,0.32);
            background: rgba(0,230,118,0.08);
        }
        .ceiling-detail-empty {
            padding: 22px 14px;
            text-align: center;
            color: var(--text-muted);
            font-size: 12px;
            font-weight: 700;
        }
        body.light-mode .ceiling-detail-card,
        body.light-mode .ceiling-section {
            background: #f8fafc;
            border-color: #e2e8f0;
        }
        body.light-mode .ceiling-section-head {
            background: #ffffff;
            border-color: #e2e8f0;
        }
        @media (max-width: 700px) {
            .ceiling-detail-summary { grid-template-columns: 1fr; }
            .ceiling-detail-row { grid-template-columns: minmax(0, 1fr) 92px; }
            .ceiling-detail-date { text-align: left; }
            .ceiling-action-btn { grid-column: 1 / -1; }
        }

        .feed-container { background: transparent; height: 100%; display: flex; flex-direction: column; min-height: 0; }
        .feed-header { display: flex; flex-direction: column; gap: 16px; margin-bottom: 0; padding-right: 8px; flex-shrink: 0; }
        .feed-header-top { height: 42px; min-height: 42px; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; }
        .feed-header-title { font-size: 14px; font-weight: 800; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; margin: 0; line-height: 1.2; }
        body.light-mode .feed-header-title { color: #64748b; }

        .feed-controls-box {
            height: var(--kpi-row-height, 148px);
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 10px;
            padding: 0;
            flex-shrink: 0;
            box-sizing: border-box;
        }

        .search-box-container { display: flex; align-items: center; position: relative; margin-right: 10px; }
        .search-input { position: absolute; right: 25px; top: 50%; transform: translateY(-50%); width: 0; padding: 8px 14px; border: 1px solid transparent; background: var(--card-bg); color: var(--text-main); transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease; outline: none; font-size: 13px; border-radius: 10px; opacity: 0; pointer-events: none; z-index: 20; }
        .search-box-container.active .search-input { width: 200px; opacity: 1; pointer-events: all; box-shadow: 0 8px 25px rgba(0,0,0,0.5); border-color: var(--neon-green); z-index: 25; max-width: 65vw; }
        @media (max-width: 600px) { .search-box-container.active .search-input { width: 160px; } }
        .search-btn { background: none; border: none; color: var(--text-sec); cursor: pointer; font-size: 13px; transition: 0.2s; z-index: 21; padding: 9px 5px; }
        .search-btn:hover { color: var(--text-main); transform: scale(1.1); }
        .search-box-container.active .search-btn { color: var(--neon-green); }

        .feed-icon-btn { background: rgba(255,255,255,0.05); border: 1px solid var(--card-border); color: var(--text-sec); width: 32px; height: 32px; border-radius: 8px; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 13px; transition: all 0.2s; flex-shrink: 0; }
        .feed-icon-btn:hover { color: var(--text-main); background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); }
        .feed-icon-btn.active { color: var(--neon-blue); background: rgba(41,121,255,0.1); border-color: rgba(41,121,255,0.3); }
        body.light-mode .feed-icon-btn { background: #f1f5f9; border-color: #e2e8f0; color: #64748b; }
        body.light-mode .feed-icon-btn:hover { background: #e2e8f0; color: #1e293b; }

        body:not(.light-mode) .feed-controls-box .feed-search-input,
        body:not(.light-mode) .feed-controls-box .filter-group,
        body:not(.light-mode) .feed-controls-box .status-btn:not(.paid):not(.pending) {
            background: #0c0c0c;
            border-color: var(--card-border);
        }
        body:not(.light-mode) .feed-controls-box .feed-search-input:hover,
        body:not(.light-mode) .feed-controls-box .status-btn:not(.paid):not(.pending):hover {
            background: #111111;
        }
        body:not(.light-mode) .feed-controls-box .feed-search-input:focus {
            border-color: var(--neon-green);
        }
        .feed-search-row { display: flex; gap: 8px; align-items: center; }
        .feed-search-wrap { position: relative; flex: 1; min-width: 0; height: 38px; display: flex; align-items: center; }
        .feed-search-icon {
            position: absolute;
            left: 12px;
            top: 50%;
            transform: translateY(-50%);
            color: #64748b;
            font-size: 11.5px;
            pointer-events: none;
            transition: color 0.2s ease;
        }
        .feed-search-wrap:focus-within .feed-search-icon {
            color: var(--neon-green);
        }
        .feed-search-input {
            width: 100%;
            height: 38px;
            padding: 0 28px 0 32px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid var(--card-border);
            border-radius: 9px;
            color: var(--text-main);
            font-size: 11.5px;
            font-weight: 500;
            outline: none;
            caret-color: var(--neon-green);
            transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
            box-sizing: border-box;
        }
        .feed-search-input::selection {
            background: rgba(0, 230, 118, 0.25);
            color: #ffffff;
        }
        .feed-search-input:hover {
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(255, 255, 255, 0.15);
        }
        .feed-search-input:focus {
            border-color: rgba(0, 230, 118, 0.5);
            background: rgba(0, 230, 118, 0.03);
            box-shadow: 0 0 0 2px rgba(0, 230, 118, 0.15);
        }
        .feed-search-input::placeholder {
            color: var(--text-sec);
            opacity: 0.65;
            font-size: 11.5px;
            font-weight: 400;
        }
        .feed-search-clear {
            position: absolute;
            right: 8px;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: none;
            color: var(--text-muted);
            cursor: pointer;
            font-size: 10px;
            padding: 4px;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.15s ease, color 0.15s ease;
        }
        .feed-search-clear.visible { opacity: 1; pointer-events: all; }
        .feed-search-clear:hover {
            color: var(--text-main);
        }

        body.light-mode .feed-search-icon { color: #94a3b8; }
        body.light-mode .feed-search-wrap:focus-within .feed-search-icon { color: #059669; }
        body.light-mode .feed-search-input {
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            color: #1e293b;
            caret-color: #059669;
        }
        body.light-mode .feed-search-input::selection {
            background: rgba(5, 150, 105, 0.2);
            color: #1e293b;
        }
        body.light-mode .feed-search-input:hover {
            background: #ffffff;
            border-color: #cbd5e1;
        }
        body.light-mode .feed-search-input:focus {
            background: #ffffff;
            border-color: #059669;
            box-shadow: 0 0 0 2px rgba(5, 150, 105, 0.15);
        }
        body.light-mode .feed-search-input::placeholder { color: #94a3b8; opacity: 1; }
        body.light-mode .feed-search-clear {
            color: #94a3b8;
        }
        body.light-mode .feed-search-clear:hover {
            color: #1e293b;
        }

        .feed-conta-wrap { position: relative; flex: 0 1 auto; min-width: 115px; max-width: 175px; height: 38px; }
        .feed-conta-wrap .custom-select-wrapper { margin-bottom: 0 !important; height: 38px !important; }
        .feed-conta-wrap .custom-select-trigger {
            width: 100% !important;
            height: 38px !important;
            min-height: 38px !important;
            max-height: 38px !important;
            padding: 0 24px 0 4px !important;
            font-size: 11.5px !important;
            font-weight: 600 !important;
            background: #0c0c0c !important;
            border: 1px solid var(--card-border) !important;
            color: #f1f5f9 !important;
            display: flex !important;
            align-items: center !important;
            gap: 6px !important;
            border-radius: 9px !important;
            box-sizing: border-box !important;
            overflow: hidden !important;
            transition: all 0.2s ease !important;
            cursor: pointer !important;
        }
        .feed-conta-wrap .custom-select-trigger:hover {
            background: #111111 !important;
            border-color: rgba(255, 255, 255, 0.15) !important;
        }
        .feed-conta-wrap .account-logo-badge {
            width: 28px !important;
            height: 28px !important;
            border-radius: 6px !important;
            font-size: 10px !important;
            flex-shrink: 0 !important;
            box-shadow: none !important;
        }
        .feed-conta-wrap .account-logo-badge svg,
        .feed-conta-wrap .account-logo-badge .account-logo-img {
            border-radius: 6px !important;
        }
        .feed-conta-wrap .account-logo-badge .ios-tile-initials {
            font-size: 12px !important;
            font-weight: 800 !important;
        }
        .feed-conta-wrap .account-logo-badge i {
            font-size: 14px !important;
        }
        .feed-conta-logo-slot {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex-shrink: 0 !important;
            margin-right: 2px !important;
        }
        .feed-conta-wrap .cs-search-input {
            flex: 1 1 0% !important;
            min-width: 0 !important;
            width: 100% !important;
            height: 100% !important;
            background: transparent !important;
            border: none !important;
            outline: none !important;
            color: #cbd5e1 !important;
            font-size: 13px !important;
            font-weight: 500 !important;
            font-family: inherit !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
            overflow: hidden !important;
            padding: 0 !important;
            margin: 0 !important;
            box-shadow: none !important;
        }
        .feed-conta-wrap .cs-search-input[readonly] {
            cursor: pointer !important;
            user-select: none !important;
        }
        .feed-conta-wrap .custom-select.open .cs-search-input {
            cursor: text !important;
        }
        .feed-conta-wrap .custom-select-trigger:after {
            position: absolute !important;
            right: 8px !important;
            top: 50% !important;
            transform: translateY(-50%) !important;
            color: #94a3b8 !important;
            flex-shrink: 0 !important;
        }
        .feed-conta-wrap .custom-select.open .custom-select-trigger { border-color: var(--neon-green, #00E676) !important; background: #0c0c0c !important; box-shadow: none !important; }
        .feed-conta-wrap .custom-select.open .custom-select-trigger:after { color: var(--neon-green, #00E676) !important; }
        .feed-conta-wrap .custom-options {
            min-width: 170px;
            width: 100%;
            right: 0;
            left: auto;
            border-radius: 12px;
            border: 1px solid var(--card-border);
            background: #0c0c0c;
            box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            padding: 6px;
            max-height: 260px;
            overflow-y: auto;
            box-sizing: border-box;
        }
        .feed-conta-wrap .custom-option {
            display: flex;
            align-items: center;
            gap: 10px !important;
            padding: 8px 10px !important;
            font-size: 13px !important;
            font-weight: 500 !important;
            color: #cbd5e1;
            border: 1px solid transparent;
            border-radius: 8px;
            transition: all 0.18s ease;
            cursor: pointer;
        }
        .feed-conta-wrap .custom-option:hover {
            background: rgba(255, 255, 255, 0.06);
            color: #ffffff;
        }
        .feed-conta-wrap .custom-option.selected {
            color: #ffffff;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid transparent;
            font-weight: 700;
        }
        .feed-conta-wrap .custom-option.selected .feed-conta-opt-text {
            color: var(--neon-green, #00E676);
            font-weight: 600;
        }
        .feed-conta-opt-text {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        body.light-mode .feed-conta-wrap .custom-select-trigger { background: #f1f5f9 !important; border-color: #cbd5e1 !important; color: #1e293b !important; }
        body.light-mode .feed-conta-wrap .cs-search-input { color: #475569 !important; }
        body.light-mode .feed-conta-wrap .account-logo-badge { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important; }
        body.light-mode .feed-conta-wrap .custom-select-trigger:after { color: #64748b !important; }
        body.light-mode .feed-conta-wrap .custom-select.open .custom-select-trigger { border-color: #059669 !important; background: #f1f5f9 !important; }
        body.light-mode .feed-conta-wrap .custom-select.open .custom-select-trigger:after { color: #059669 !important; }
        body.light-mode .feed-conta-wrap .custom-options { background: #ffffff !important; border-color: #e2e8f0 !important; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12) !important; }
        body.light-mode .feed-conta-wrap .custom-option { color: #1e293b !important; }
        body.light-mode .feed-conta-wrap .custom-option:hover { background: #f1f5f9 !important; color: #0f172a !important; }
        body.light-mode .feed-conta-wrap .custom-option.selected { background: #f1f5f9 !important; border-color: transparent !important; color: #0f172a !important; }
        body.light-mode .feed-conta-wrap .custom-option.selected .feed-conta-opt-text { color: #059669 !important; font-weight: 800; }

        .select-mode-btn { background: rgba(255,255,255,0.05); border: 1px solid var(--card-border); color: var(--text-sec); width: 32px; height: 32px; border-radius: 8px; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 13px; transition: all 0.2s; flex-shrink: 0; }
        .select-mode-btn:hover { color: var(--neon-blue); background: rgba(41,121,255,0.1); border-color: rgba(41,121,255,0.3); }
        .select-mode-btn.active-sel { color: #fff !important; background: var(--neon-blue) !important; border-color: var(--neon-blue) !important; box-shadow: 0 0 12px rgba(41,121,255,0.4); }
        .batch-actions { display: none; position: absolute; bottom: 16px; left: 12px; right: 17px; z-index: 60; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--card-border); border-radius: 14px; background: rgba(15, 18, 20, 0.96); box-shadow: 0 8px 28px rgba(0,0,0,0.4); backdrop-filter: blur(16px); }
        .batch-actions.active { display: grid; grid-template-columns: 1fr auto auto; animation: batchReveal 220ms ease-out; }
        .batch-summary { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
        .batch-summary strong { font-size: 12px; color: var(--text-main); }
        .batch-summary span { font-size: 12px; color: var(--text-muted); font-variant-numeric: tabular-nums; }
        .batch-summary span:empty { display: none; }
        .batch-actions { padding: 14px; border-color: rgba(0,230,118,0.65); border-top: 3px solid var(--neon-green); background: linear-gradient(120deg, #103124, #0b1c15 75%); box-shadow: 0 -4px 28px rgba(0,230,118,0.18), 0 12px 32px rgba(0,0,0,0.65); }
        .batch-summary { grid-column: 1; gap: 2px; }
        .batch-actions { padding: 10px 12px; gap: 8px; }
        .batch-actions.has-selection .batch-mode-label { display: none; }
        .batch-actions:not(.has-selection) .batch-total-row { display: none; }
        .batch-summary .batch-mode-label { display: flex; gap: 7px; align-items: center; color: #6ef0ac; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.8px; }
        .batch-summary strong { font-size: 13px; line-height: 18px; }
        .batch-summary #batchSelectionTotal { color: #b5d6c5; line-height: 16px; }
        .batch-total-row { display: flex; align-items: center; gap: 0; min-height: 24px; }
        .batch-total-row .batch-clear { width: 18px; }
        .batch-clear { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 24px; height: 24px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #a4efc6; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
        .batch-clear:hover:not(:disabled) { color: var(--neon-green); }
        .batch-clear i { line-height: 16px; transform: translateY(1px); }
        .batch-clear:disabled { display: none; }
        @keyframes batchReveal { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        @media (prefers-reduced-motion: reduce) { .batch-actions.active { animation: none; } }
        body.light-mode .batch-summary .batch-mode-label { color: #047857; }
        body.light-mode .batch-summary #batchSelectionTotal { color: #475569; }
        body.light-mode .batch-clear { color: #047857; }
        .batch-actions .btn-batch { grid-column: 2; flex: none; display: flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 14px; text-transform: none; font-size: 12px; box-shadow: none; }
        .batch-actions .btn-batch:disabled { opacity: 0.35; cursor: default; }
        .batch-more { position: relative; flex: none; }
        .batch-more summary { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; list-style: none; cursor: pointer; border: 1px solid var(--card-border); border-radius: 8px; color: var(--text-main); }
        .batch-more summary::-webkit-details-marker { display: none; }
        .batch-more summary:hover, .batch-more[open] summary { background: rgba(128,128,128,0.15); }
        .batch-menu { position: absolute; bottom: calc(100% + 10px); right: 0; width: 185px; padding: 5px; border: 1px solid var(--card-border); border-radius: 10px; background: #15181b; box-shadow: 0 8px 24px rgba(0,0,0,0.3); }
        .batch-menu button { width: 100%; padding: 12px; text-align: left; border: none; border-radius: 6px; background: transparent; color: var(--text-main); cursor: pointer; font: inherit; font-size: 12px; }
        .batch-menu button:hover { background: rgba(128,128,128,0.15); }
        .batch-actions :focus-visible { outline: 2px solid var(--neon-green); outline-offset: 3px; }
        body.select-mode .feed-list { padding-bottom: 150px; }
        body.select-mode .back-to-top-btn { bottom: 145px; }
        body.light-mode .batch-actions { background: linear-gradient(120deg, #ecfdf5, #f8fffb 75%); border-color: #a7dfc4; border-top-color: #10b981; box-shadow: 0 8px 24px rgba(15,80,55,0.14), 0 2px 6px rgba(15,80,55,0.06); }
        body.light-mode .batch-summary strong { color: #163b2c; }
        body.light-mode .batch-actions .btn-batch-pay { background: #047857; color: #fff; }
        body.light-mode .batch-actions .btn-batch-pay:hover:not(:disabled) { background: #065f46; }
        body.light-mode .batch-actions .btn-batch-pay:disabled { background: #dceee4; color: #657c6d; opacity: 1; }
        body.light-mode .batch-more summary { background: rgba(255,255,255,0.75); border-color: #c5e3d3; color: #285640; }
        body.light-mode .batch-more summary:hover, body.light-mode .batch-more[open] summary { background: #dff5e9; }
        body.light-mode .batch-clear:hover:not(:disabled) { color: #064e3b; }
        body.light-mode .batch-actions :focus-visible { outline-color: #047857; }
        body.light-mode .batch-menu { background: #f8fffb; border-color: #c5e3d3; box-shadow: 0 6px 20px rgba(15,80,55,0.14); }
        body.light-mode .batch-menu button { color: #163b2c; }
        body.light-mode .batch-menu button:hover { background: #dff5e9; }
        @media (max-width: 900px) {
            .batch-actions { position: sticky; bottom: calc(16px + env(safe-area-inset-bottom)); left: auto; right: auto; margin: 0 8px 12px; }
        }
        .btn-batch { flex: 1; padding: 10px; border-radius: 8px; border: none; font-weight: 800; font-size: 11px; cursor: pointer; color: #000; text-transform: uppercase; }
        .btn-batch-pay { background: var(--neon-green); box-shadow: 0 0 15px rgba(0,230,118,0.3); }
        .btn-batch-del { background: var(--neon-red); color: #fff; box-shadow: 0 0 15px rgba(255,71,87,0.3); }

        .filter-row { display: flex; align-items: center; margin-top: 0; gap: 8px; flex-wrap: nowrap; position: relative; z-index: 20; height: 32px; }

        .filter-group { display: flex; align-items: center; background: rgba(255,255,255,0.035); border: 1px solid rgba(255,255,255,0.08); border-top: 1px solid rgba(255,255,255,0.14); border-radius: 8px; padding: 2px; gap: 2px; flex: 1; min-width: 0; height: 32px; box-sizing: border-box; overflow-x: auto; scrollbar-width: none; }

        .filter-group::-webkit-scrollbar { display: none; }

        .f-btn { flex: 1; height: 100%; display: flex; align-items: center; justify-content: center; background: transparent; border: none; color: var(--text-sec); font-size: 11px; font-weight: 600; padding: 0 6px; border-radius: 6px; cursor: pointer; transition: all 0.2s; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; box-sizing: border-box; }
        .f-btn:hover { color: var(--text-main); background: rgba(255,255,255,0.03); }
        .f-btn.active.all { background: rgba(255,255,255,0.1); color: var(--text-main); font-weight: 700; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
        .f-btn.active.rec { background: rgba(0, 230, 118, 0.15); color: var(--neon-green); }
        .f-btn.active.des { background: rgba(255, 71, 87, 0.15); color: var(--neon-red); }

        .status-dropdown { position: relative; flex: 0 0 auto; min-width: 105px; height: 32px; display: flex; align-items: center; }
        .status-btn { width: 100%; height: 100%; display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,0.035); border: 1px solid rgba(255,255,255,0.08); border-top: 1px solid rgba(255,255,255,0.14); color: var(--text-sec); padding: 0 10px; border-radius: 8px; font-size: 11px; font-weight: 600; cursor: pointer; transition: all 0.2s ease; box-sizing: border-box; }
        .status-btn:hover { background: rgba(255,255,255,0.06); color: var(--text-main); border-color: rgba(255,255,255,0.15); }
        .status-btn.paid { background: rgba(0, 230, 118, 0.12); border-color: rgba(0, 230, 118, 0.35); color: var(--neon-green); box-shadow: 0 0 10px rgba(0, 230, 118, 0.15); }
        .status-btn.paid:hover { background: rgba(0, 230, 118, 0.18); border-color: rgba(0, 230, 118, 0.5); color: var(--neon-green); }
        .status-btn.pending { background: rgba(255, 196, 0, 0.12); border-color: rgba(255, 196, 0, 0.35); color: var(--neon-yellow); box-shadow: 0 0 10px rgba(255, 196, 0, 0.15); }
        .status-btn.pending:hover { background: rgba(255, 196, 0, 0.18); border-color: rgba(255, 196, 0, 0.5); color: var(--neon-yellow); }

        body.light-mode .status-btn { background: #f1f5f9; border-color: #e2e8f0; color: #64748b; }
        body.light-mode .status-btn:hover { background: #e2e8f0; color: #1e293b; }
        body.light-mode .status-btn.paid { background: rgba(0, 230, 118, 0.14); border-color: rgba(0, 230, 118, 0.4); color: #059669; box-shadow: none; }
        body.light-mode .status-btn.paid:hover { background: rgba(0, 230, 118, 0.22); }
        body.light-mode .status-btn.pending { background: rgba(245, 158, 11, 0.14); border-color: rgba(245, 158, 11, 0.4); color: #d97706; box-shadow: none; }
        body.light-mode .status-btn.pending:hover { background: rgba(245, 158, 11, 0.22); }

        .filter-badge { display: none !important; }

        .status-menu { position: absolute; top: 100%; right: 0; background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 8px; padding: 4px; margin-top: 4px; display: flex; flex-direction: column; gap: 2px; min-width: 100%; z-index: 100; box-shadow: 0 4px 15px rgba(0,0,0,0.5); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); pointer-events: none; }
        .status-menu.active { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
        .status-opt { padding: 6px 10px; border-radius: 6px; font-size: 11px; cursor: pointer; color: var(--text-sec); transition: 0.2s; display: flex; align-items: center; gap: 6px; }
        .status-opt:hover { background: rgba(255,255,255,0.05); color: var(--text-main); }
        .status-opt.selected { background: rgba(41, 121, 255, 0.1); color: var(--neon-blue); font-weight: 700; }
        .status-opt[data-val="paid"].selected { background: rgba(0, 230, 118, 0.12); color: var(--neon-green); }
        .status-opt[data-val="pending"].selected { background: rgba(255, 196, 0, 0.12); color: var(--neon-yellow); }
        body.light-mode .status-menu { background: #ffffff; border-color: #e2e8f0; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12); }
        body.light-mode .status-opt { color: #64748b; }
        body.light-mode .status-opt:hover { background: #f1f5f9; color: #1e293b; }
        body.light-mode .status-opt.selected { background: rgba(41, 121, 255, 0.12); color: #2563eb; }
        body.light-mode .status-opt[data-val="paid"].selected { background: rgba(0, 230, 118, 0.14); color: #059669; }
        body.light-mode .status-opt[data-val="pending"].selected { background: rgba(245, 158, 11, 0.14); color: #d97706; }

        #activeFilters:not(:empty) { margin-bottom: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
        #activeFilters:empty { display: none; margin: 0; }
        .active-filter-tag { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; padding: 8px 10px; border: 1px solid rgba(0,230,118,0.28); border-radius: 8px; background: rgba(0,230,118,0.09); color: var(--neon-green); font-size: 12px; font-weight: 700; }
        .active-filter-tag > i { flex: none; }
        .active-filter-tag > span { min-width: 0; overflow-wrap: anywhere; }
        .active-filter-tag > button { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 16px; height: 24px; margin-left: -9px; padding: 0; border: none; border-radius: 50%; background: transparent; color: inherit; font-size: 10px; cursor: pointer; }
        .active-filter-tag > button:hover { text-shadow: 0 0 5px currentColor, 0 0 10px currentColor; }
        .active-filter-tag > span { line-height: 16px; }
        .active-filter-tag > button > i { line-height: 16px; transform: translateY(1px); }
        .active-filter-tag > button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
        body.light-mode .active-filter-tag { background: #ecfdf5; border-color: #a7dfc4; color: #047857; }

        .back-to-top-btn {
            position: absolute;
            bottom: 20px;
            right: 30px;
            width: 40px;
            height: 40px;
            background: #080808;
            color: var(--neon-green);
            border: 1px solid var(--card-border);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            cursor: pointer;
            box-shadow: 0 2px 8px rgba(0,0,0,0.3);
            z-index: 50;
            opacity: 0;
            visibility: hidden;
            transform: translateY(20px) scale(0.9);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .back-to-top-btn:hover { background: var(--neon-green); color: #000; border-color: var(--neon-green); box-shadow: 0 0 20px rgba(0, 230, 118, 0.4); transform: translateY(-3px) scale(1.1); }
        .back-to-top-btn.active { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }

        .feed-content-area {
            flex: 1;
            display: flex;
            flex-direction: column;
            min-height: 0;
            margin-top: 21px; /* Topo alinhado perfeitamente com .charts-wrapper */
            padding-right: 5px;
            overflow: hidden;
        }

        .feed-list {
            overflow-y: auto;
            flex: 1;
            padding-right: 0;
            overflow-x: hidden;
            padding-bottom: 80px;
            margin-top: 0;
        }

        .feed-summary {
            display: none;
            justify-content: space-between;
            align-items: center;
            padding: 12px 18px;
            background: rgba(8, 8, 10, 0.88);
            border: 1px solid var(--card-border);
            border-top: 1px solid var(--card-highlight, rgba(255, 255, 255, 0.12));
            border-radius: 13px;
            margin-bottom: 8px;
            margin-right: 0;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.03);
            flex-shrink: 0;
            box-sizing: border-box;
            width: 100%;
        }
        .fs-item { display: flex; flex-direction: column; gap: 3px; }
        .fs-label { color: var(--text-sec); font-size: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: 0.8px; }
        .fs-val { font-size: 17px; font-weight: 900; letter-spacing: -0.4px; }
        .fs-divider { width: 1px; height: 32px; background: rgba(255, 255, 255, 0.08); }

        body.light-mode .feed-summary {
            background: #ffffff;
            border-color: #e2e8f0;
            box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
        }
        body.light-mode .fs-label { color: #64748b; }
        body.light-mode .fs-divider { background: #e2e8f0; }

        .trans-item {
            position: relative;
            background: rgba(8, 8, 10, 0.88);
            border: 1px solid var(--card-border);
            border-radius: 13px;
            padding: 15px 16px;
            margin-bottom: 8px;
            display: flex;
            align-items: center;
            gap: 13px;
            overflow: visible;
            z-index: 1;
            box-shadow: 0 4px 14px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.03);
            transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
        }
        .trans-item.menu-open {
            z-index: 40 !important;
        }
        .trans-item:hover {
            transform: none;
            background: rgba(18, 18, 20, 0.96);
            border-color: rgba(255,255,255,0.14);
            box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.06);
        }

        .trans-account-avatar {
            width: 44px;
            height: 44px;
            min-width: 44px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .trans-account-avatar .account-logo-badge {
            width: 44px;
            height: 44px;
            border-radius: 8px !important;
            box-shadow: none;
            font-size: 22px;
        }
        .trans-account-avatar .account-logo-badge .ios-tile-initials { font-size: 16px; }
        .trans-avatar {
            width: 44px;
            height: 44px;
            min-width: 44px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 26px;
            position: relative;
            flex-shrink: 0;
            background: transparent;
            border: none;
            box-shadow: none;
            transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.22s ease;
        }
        .trans-avatar::before {
            content: '';
            position: absolute;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            background: var(--cat-color, #2979ff);
            opacity: 0.18;
            filter: blur(10px);
            transition: opacity 0.22s ease, transform 0.22s ease;
            z-index: 1;
        }
        .trans-avatar i {
            position: relative;
            line-height: 1;
            z-index: 2;
            filter: drop-shadow(0 2px 8px color-mix(in srgb, var(--cat-color, currentColor) 60%, transparent));
            transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.22s ease;
        }
        .trans-item:hover .trans-avatar {
            transform: scale(1.1);
        }
        .trans-item:hover .trans-avatar::before {
            opacity: 0.35;
            transform: scale(1.25);
        }
        .trans-item:hover .trans-avatar i {
            filter: drop-shadow(0 0 12px color-mix(in srgb, var(--cat-color, currentColor) 90%, transparent));
        }

        body.paused-mode * {
            animation-play-state: paused !important;
            transition: none !important;
        }

        /* Pausa inteligente das animações do fundo quando qualquer modal/overlay estiver aberto */
        body.has-active-modal .main-content *,
        body.has-active-modal .sidebar *,
        body:has(.modal-overlay.active) .main-content *,
        body:has(.modal-overlay.active) .sidebar *,
        body:has(.auth-overlay.active) .main-content *,
        body:has(.auth-overlay.active) .sidebar *,
        body:has(.sidebar-overlay.active) .main-content * {
            animation-play-state: paused !important;
        }

        /* Foco e esmaecimento do fundo conforme o modo (Normal = Blur Otimizado, GPU Lite = Stealth Fade) */
        .main-content,
        nav.sidebar {
            transition: opacity 0.22s cubic-bezier(0.4, 0, 0.2, 1), filter 0.22s cubic-bezier(0.4, 0, 0.2, 1);
        }

        /* 1. MODO NORMAL (Com Blur Otimizado e Foco Suave) */
        body:not(.gpu-lite-mode):has(.modal-overlay.active) .main-content,
        body:not(.gpu-lite-mode):has(.modal-overlay.active) nav.sidebar,
        body:not(.gpu-lite-mode):has(.auth-overlay.active) .main-content,
        body:not(.gpu-lite-mode):has(.auth-overlay.active) nav.sidebar,
        body.has-active-modal:not(.gpu-lite-mode) .main-content,
        body.has-active-modal:not(.gpu-lite-mode) nav.sidebar,
        body.has-active-sidebar:not(.gpu-lite-mode) .main-content,
        body:not(.gpu-lite-mode):has(.sidebar-overlay.active) .main-content {
            filter: blur(6px) brightness(0.88);
            pointer-events: none;
            user-select: none;
        }

        body.light-mode:not(.gpu-lite-mode):has(.modal-overlay.active) .main-content,
        body.light-mode:not(.gpu-lite-mode):has(.modal-overlay.active) nav.sidebar,
        body.light-mode:not(.gpu-lite-mode):has(.auth-overlay.active) .main-content,
        body.light-mode:not(.gpu-lite-mode):has(.auth-overlay.active) nav.sidebar,
        body.light-mode.has-active-modal:not(.gpu-lite-mode) .main-content,
        body.light-mode.has-active-modal:not(.gpu-lite-mode) nav.sidebar,
        body.light-mode.has-active-sidebar:not(.gpu-lite-mode) .main-content,
        body.light-mode:not(.gpu-lite-mode):has(.sidebar-overlay.active) .main-content {
            filter: blur(5px) brightness(0.98);
            pointer-events: none;
            user-select: none;
        }

        /* 2. MODO LEVE DE GPU (Stealth Monochrome Fade - Zero GPU) */
        body.gpu-lite-mode:has(.modal-overlay.active) .main-content,
        body.gpu-lite-mode:has(.modal-overlay.active) nav.sidebar,
        body.gpu-lite-mode:has(.auth-overlay.active) .main-content,
        body.gpu-lite-mode:has(.auth-overlay.active) nav.sidebar,
        body.gpu-lite-mode.has-active-modal .main-content,
        body.gpu-lite-mode.has-active-modal nav.sidebar,
        body.gpu-lite-mode.has-active-sidebar .main-content,
        body.gpu-lite-mode:has(.sidebar-overlay.active) .main-content {
            opacity: 0.12;
            filter: grayscale(1);
            pointer-events: none;
            user-select: none;
        }

        body.light-mode.gpu-lite-mode:has(.modal-overlay.active) .main-content,
        body.light-mode.gpu-lite-mode:has(.modal-overlay.active) nav.sidebar,
        body.light-mode.gpu-lite-mode:has(.auth-overlay.active) .main-content,
        body.light-mode.gpu-lite-mode:has(.auth-overlay.active) nav.sidebar,
        body.light-mode.gpu-lite-mode.has-active-modal .main-content,
        body.light-mode.gpu-lite-mode.has-active-modal nav.sidebar,
        body.light-mode.gpu-lite-mode.has-active-sidebar .main-content,
        body.light-mode.gpu-lite-mode:has(.sidebar-overlay.active) .main-content {
            opacity: 0.30;
            filter: none;
            pointer-events: none;
            user-select: none;
        }

        /* Garante que o menu lateral aberto no mobile nunca receba blur ou bloqueio de cliques */
        body:not(:has(.modal-overlay.active)):not(:has(.auth-overlay.active)) nav.sidebar.active,
        body:not(.has-active-modal) nav.sidebar.active {
            filter: none !important;
            pointer-events: auto !important;
            user-select: auto !important;
            opacity: 1 !important;
        }

        body.economy-mode * {
            animation: none !important;
            transition: none !important;
            backdrop-filter: none !important;
            box-shadow: none !important;
        }
        body.economy-mode .trans-item { opacity: 1 !important; }
        body.economy-mode #star-canvas { display: none; }

        body.economy-mode:not(.light-mode) .sidebar,
        body.economy-mode:not(.light-mode) .card,
        body.economy-mode:not(.light-mode) .modal-box,
        body.economy-mode:not(.light-mode) .mobile-header {
            background: #0a0a0a !important; border-color: #333 !important;
        }

        body.economy-mode .particles,
        body.economy-mode .chart-particles,
        body.economy-mode .donut-ring-svg,
        body.economy-mode .donut-scanner { display: none !important; }
        body.economy-mode .chart-pulse::after { display: none !important; animation: none !important; }
        body.economy-mode .ceiling-fill::before { animation: none !important; display: none !important; }

        body.gpu-lite-mode #star-canvas { display: none; }

        body.gpu-lite-mode .surface-wave,
        body.gpu-lite-mode .surface-boil span,
        body.gpu-lite-mode .particles span,
        body.gpu-lite-mode .chart-particles span,
        body.gpu-lite-mode .ring-spin,
        body.gpu-lite-mode .donut-scanner,
        body.gpu-lite-mode .chart-pulse::after,
        body.gpu-lite-mode .filter-badge,
        body.gpu-lite-mode .alert-icon,
        body.gpu-lite-mode .due-alert-btn .due-alert-glyph,
        body.gpu-lite-mode .btn-ai::before,
        body.gpu-lite-mode .mobile-float-btn.ai::before,
        body.gpu-lite-mode .auth-overlay::before,
        body.gpu-lite-mode .auth-overlay::after,
        body.gpu-lite-mode .auth-shell,
        body.gpu-lite-mode .auth-shell::before,
        body.gpu-lite-mode .auth-showcase::before,
        body.gpu-lite-mode .auth-showcase::after,
        body.gpu-lite-mode .auth-hero-art,
        body.gpu-lite-mode .auth-orbit,
        body.gpu-lite-mode .auth-orbit-dot,
        body.gpu-lite-mode .auth-float-card,
        body.gpu-lite-mode .auth-brand-icon,
        body.gpu-lite-mode .auth-preview-status::before,
        body.gpu-lite-mode .auth-bars span {
            animation: none !important;
        }

        body.gpu-lite-mode .surface-wave,
        body.gpu-lite-mode .ceiling-fill {
            will-change: auto;
            transform: none;
        }

        body.gpu-lite-mode .surface-boil span,
        body.gpu-lite-mode .particles span,
        body.gpu-lite-mode .chart-particles span {
            opacity: 0 !important;
        }

        body.gpu-lite-mode .ring-spin { opacity: 0.48; }
        body.gpu-lite-mode .auth-orbit,
        body.gpu-lite-mode .auth-float-card { transform: none !important; }

        .trans-item.late {
            border-color: rgba(255,71,87,0.58) !important;
            background:
                linear-gradient(90deg, rgba(255,71,87,0.22), rgba(255,71,87,0.06) 48%, rgba(8,8,8,0.98) 100%) !important;
            box-shadow: 0 0 0 1px rgba(255,71,87,0.15), 0 8px 26px rgba(255,71,87,0.12) !important;
        }
        .trans-item.near {
            border-color: rgba(255,196,0,0.52) !important;
            background:
                linear-gradient(90deg, rgba(255,196,0,0.18), rgba(255,196,0,0.05) 48%, rgba(8,8,8,0.98) 100%) !important;
            box-shadow: 0 0 0 1px rgba(255,196,0,0.12), 0 8px 24px rgba(255,196,0,0.09) !important;
        }
        .trans-item.late::after,
        .trans-item.near::after {
            content: '';
            position: absolute; inset: 0; pointer-events: none; z-index: 1;
            background: linear-gradient(90deg, currentColor 0, transparent 30%);
            opacity: 0.08;
        }
        .trans-item.late::after { color: var(--neon-red); }
        .trans-item.near::after { color: var(--neon-yellow); }
        body.light-mode .trans-item.late {
            background: linear-gradient(90deg, rgba(239,68,68,0.14), #ffffff 72%) !important;
            border-color: rgba(239,68,68,0.38) !important;
        }
        body.light-mode .trans-item.near {
            background: linear-gradient(90deg, rgba(245,158,11,0.16), #ffffff 72%) !important;
            border-color: rgba(245,158,11,0.38) !important;
        }
        .alert-icon { font-size: 12px; margin-right: 8px; animation: pulse 2s infinite; vertical-align: middle; }
        @keyframes pulse { 0% { opacity: 0.5; } 50% { opacity: 1; } 100% { opacity: 0.5; } }

        /* ── Seleção de lançamento ─────────────────────────────── */
        .trans-checkbox { display: none; }   /* elemento original oculto sempre */
        .select-mode .trans-item { cursor: pointer; }
        .trans-item, .trans-item * { -webkit-user-select: none; user-select: none; }

        /* Luz de seleção concentrada na base, preservando a leitura. */
        body:not(.light-mode) .trans-item.selected {
            background: radial-gradient(ellipse 65% 90% at 50% 115%, rgba(0,230,118,0.16), rgba(0,230,118,0.035) 55%, transparent 85%), #090c0b !important;
            border-color: rgba(105,175,140,0.20) !important;
            box-shadow: 0 3px 12px rgba(0,0,0,0.22) !important;
        }
        body.light-mode .trans-item.selected {
            background: radial-gradient(ellipse 65% 90% at 50% 115%, rgba(16,185,129,0.16), rgba(16,185,129,0.035) 55%, transparent 85%), #ffffff !important;
            border-color: #c1e5d3 !important;
            box-shadow: 0 1px 4px rgba(148,163,184,0.08) !important;
        }
        .trans-item.selected::after {
            content: ''; position: absolute; inset: auto 15% 0; height: 1px;
            pointer-events: none; z-index: 1; opacity: 1;
            background: linear-gradient(90deg, transparent, rgba(0,230,118,0.75), transparent);
            box-shadow: 0 -2px 10px rgba(0,230,118,0.12);
        }
        body.light-mode .trans-item.selected::after {
            background: linear-gradient(90deg, transparent, #10b981, transparent);
        }
        .trans-content { flex: 1; min-width: 0; position: relative; z-index: 2; display: flex; flex-direction: column; gap: 5px; }
        .trans-header { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
        .trans-title { font-weight: 700; font-size: 13.5px; color: var(--text-main); flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: -0.2px; line-height: 1.25; }
        .trans-desc { vertical-align: baseline; }
        .trans-item .trans-content {
            /* Compensa o espaço acima dos glifos do título em relação às tags. */
            transform: translateY(-1px);
        }
        .desc-sep {
            color: #64748b;
            font-weight: 400;
            opacity: 0.85;
            user-select: none;
        }
        body.light-mode .desc-sep {
            color: #94a3b8;
        }
        .trans-amount {
            font-weight: 800;
            font-size: 13.5px;
            font-variant-numeric: tabular-nums;
            letter-spacing: -0.3px;
            flex-shrink: 0;
            line-height: 1.25;
            text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
        }
        .trans-amount.receita::before {
            content: '+ ';
            font-weight: 700;
        }
        .trans-amount.despesa::before {
            content: '- ';
            font-weight: 700;
        }

        .trans-meta { font-size: 11px; color: var(--text-sec); display: flex; align-items: center; justify-content: space-between; gap: 6px; }
        .meta-info { display: flex; align-items: center; gap: 5px; overflow: hidden; flex: 1; min-width: 0; }
        .meta-date {
            flex-shrink: 0;
            font-weight: 600;
            color: #94a3b8;
            font-size: 11px;
            letter-spacing: -0.2px;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: rgba(255, 255, 255, 0.04);
            padding: 0 6px;
            border-radius: 6px;
            border: 1px solid rgba(255, 255, 255, 0.06);
            height: 22px;
            line-height: 20px;
            box-sizing: border-box;
        }
        .meta-date i {
            font-size: 9.5px;
            opacity: 0.75;
        }
        .cat-badge {
            font-size: 11px;
            font-weight: 600;
            text-transform: none;
            padding: 0 8px;
            height: 22px;
            border-radius: 6px;
            border: 1px solid rgba(255, 255, 255, 0.08);
            background: #101114;
            color: var(--category-color, #94a3b8);
            letter-spacing: 0;
            display: inline-flex;
            align-items: center;
            justify-content: flex-start;
            text-shadow: none;
            flex-shrink: 1;
            min-width: 0;
            max-width: 170px;
            overflow: hidden;
            box-sizing: border-box;
            line-height: 20px;
            filter: none;
        }
        .trans-item .meta-date,
        .trans-item .cat-badge,
        .trans-item .pay-badge {
            height: 28px;
            line-height: 1;
            align-items: center;
            padding-top: 2px;
            padding-bottom: 0;
        }
        .cat-badge-icon { flex-shrink: 0; font-size: 10px; margin-right: 5px; }
        .cat-text {
            display: block;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            text-align: left;
            width: 100%;
        }
        body.light-mode .cat-badge {
            font-weight: 600;
            filter: none;
            background: #f8fafc;
            border-color: #e2e8f0;
            color: var(--category-color, #94a3b8);
        }
        .pay-col {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            overflow: hidden;
            flex: 1;
            min-width: 0;
        }
        .meta-separator {
            color: rgba(255, 255, 255, 0.22);
            font-size: 7.5px;
            flex-shrink: 0;
            user-select: none;
        }
        body.light-mode .meta-separator {
            color: rgba(0, 0, 0, 0.25);
        }
        .pay-badge {
            font-size: 11px;
            font-weight: 500;
            color: #94a3b8;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.07);
            padding: 0 6px;
            border-radius: 6px;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            overflow: hidden;
            min-width: 0;
            max-width: 90px;
            flex-shrink: 0;
            height: 22px;
            line-height: 20px;
            box-sizing: border-box;
        }
        .pay-badge i {
            font-size: 9.5px;
            opacity: 0.85;
            flex-shrink: 0;
        }
        .pay-text {
            display: inline-block;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .action-group {
            display: flex;
            align-items: center;
            gap: 5px;
            flex-shrink: 0;
            padding-left: 2px;
            position: relative;
        }

        .action-btn {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            width: 28px;
            height: 28px;
            color: var(--text-sec);
            cursor: pointer;
            font-size: 11px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
            padding: 0;
        }
        .action-btn:hover {
            color: var(--text-main);
            border-color: rgba(255, 255, 255, 0.22);
            background: rgba(255, 255, 255, 0.12);
            transform: scale(1.06);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
        }

        .action-btn-more {
            font-size: 12px;
        }

        .action-btn-pay.paid {
            background: rgba(0, 230, 118, 0.15) !important;
            border-color: rgba(0, 230, 118, 0.45) !important;
            color: var(--neon-green, #00E676) !important;
            box-shadow: 0 0 10px rgba(0, 230, 118, 0.2);
        }
        .action-btn-pay.paid:hover {
            background: rgba(0, 230, 118, 0.25) !important;
            border-color: var(--neon-green, #00E676) !important;
            box-shadow: 0 0 14px rgba(0, 230, 118, 0.4);
            transform: scale(1.08);
        }
        .action-btn-pay.pending {
            background: rgba(255, 255, 255, 0.02);
            border-color: rgba(255, 255, 255, 0.07);
            color: rgba(255, 255, 255, 0.28);
        }
        .action-btn-pay.pending:hover {
            background: rgba(0, 230, 118, 0.12) !important;
            border-color: rgba(0, 230, 118, 0.4) !important;
            color: var(--neon-green, #00E676) !important;
            transform: scale(1.08);
        }
        .action-btn-pay i {
            font-size: 11px;
            transition: all 0.2s ease;
        }

        /* Light mode for action-btn-pay */
        body.light-mode .action-btn-pay.paid {
            background: #dcfce7 !important;
            border-color: #86efac !important;
            color: #16a34a !important;
            box-shadow: 0 1px 4px rgba(22, 163, 74, 0.2);
        }
        body.light-mode .action-btn-pay.paid:hover {
            background: #bbf7d0 !important;
            border-color: #4ade80 !important;
        }
        body.light-mode .action-btn-pay.pending {
            background: #f1f5f9 !important;
            border-color: #cbd5e1 !important;
            color: #94a3b8 !important;
        }
        body.light-mode .action-btn-pay.pending:hover {
            background: #dcfce7 !important;
            border-color: #86efac !important;
            color: #16a34a !important;
        }

        .trans-menu-wrap {
            position: relative;
            display: inline-flex;
        }

        .trans-action-menu {
            position: absolute;
            right: 0;
            top: calc(100% + 6px);
            z-index: 120;
            min-width: 140px;
            background: #08080a;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 6px;
            box-shadow: 0 16px 40px rgba(0, 0, 0, 0.9), 0 1px 0 rgba(255, 255, 255, 0.06) inset;
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            display: none;
            flex-direction: column;
            gap: 2px;
            transform-origin: top right;
            animation: transMenuPop 0.16s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .trans-action-menu.active {
            display: flex;
        }

        @keyframes transMenuPop {
            0% { opacity: 0; transform: scale(0.92) translateY(-6px); }
            100% { opacity: 1; transform: scale(1) translateY(0); }
        }

        .trans-menu-item {
            display: flex;
            align-items: center;
            gap: 10px;
            width: 100%;
            padding: 8px 12px;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 600;
            color: #d1d5db;
            background: transparent;
            border: none;
            cursor: pointer;
            transition: all 0.15s ease;
            text-align: left;
            user-select: none;
        }
        .trans-menu-item:hover {
            background: rgba(255, 255, 255, 0.06);
            color: #ffffff;
        }
        .trans-menu-item i {
            font-size: 12px;
            width: 14px;
            text-align: center;
            color: #9ca3af;
            flex-shrink: 0;
            transition: color 0.15s;
        }
        .trans-menu-item:hover i {
            color: #ffffff;
        }

        .trans-menu-divider {
            height: 1px;
            background: rgba(255, 255, 255, 0.06);
            margin: 4px 6px;
        }

        .trans-menu-item.del {
            color: #ff5252;
        }
        .trans-menu-item.del i {
            color: #ff5252;
        }
        .trans-menu-item.del:hover {
            background: rgba(255, 82, 82, 0.12);
            color: #ff7b7b;
        }
        .trans-menu-item.del:hover i {
            color: #ff7b7b;
        }

        /* Light Theme for Trans Action Menu */
        body.light-mode .trans-item {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
        }
        body.light-mode .trans-item:hover {
            background: #f8fafc;
            border-color: #cbd5e1;
            box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
        }
        body.light-mode .trans-avatar {
            background: transparent !important;
            border: none !important;
            box-shadow: none !important;
        }
        body.light-mode .trans-avatar::before {
            opacity: 0.12;
            filter: brightness(0.58) saturate(1.7) blur(8px);
        }
        body.light-mode .trans-avatar i,
        body.light-mode .trans-item:hover .trans-avatar i,
        body.light-mode .cat-badge .cat-text,
        body.light-mode .cat-badge .cat-badge-icon {
            filter: brightness(0.58) saturate(1.7);
        }
        body.light-mode .trans-item:hover .trans-avatar::before {
            opacity: 0.18;
            transform: scale(1.1);
        }
        body.light-mode .trans-item:hover .trans-avatar {
            background: transparent !important;
            border: none !important;
            box-shadow: none !important;
            transform: scale(1.1);
        }
        body.light-mode .meta-date {
            background: #f1f5f9;
            border-color: #e2e8f0;
            color: #64748b;
        }
        body.light-mode .pay-badge {
            background: #f8fafc;
            border-color: #e2e8f0;
            color: #475569;
        }
        body.light-mode .trans-action-menu {
            background: #ffffff;
            border-color: #e2e8f0;
            box-shadow: 0 16px 36px rgba(15, 23, 42, 0.16), 0 1px 3px rgba(0, 0, 0, 0.05);
        }
        body.light-mode .trans-menu-item {
            color: #334155;
        }
        body.light-mode .trans-menu-item:hover {
            background: #f1f5f9;
            color: #0f172a;
        }
        body.light-mode .trans-menu-item i {
            color: #64748b;
        }
        body.light-mode .trans-menu-item:hover i {
            color: #0f172a;
        }
        body.light-mode .trans-menu-divider {
            background: #f1f5f9;
        }
        body.light-mode .trans-menu-item.del {
            color: #ef4444;
        }
        body.light-mode .trans-menu-item.del i {
            color: #ef4444;
        }
        body.light-mode .trans-menu-item.del:hover {
            background: #fef2f2;
            color: #dc2626;
        }

        .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.40); z-index: 100; display: none; justify-content: center; align-items: center; opacity: 0; transition: opacity 0.22s ease; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
        body.gpu-lite-mode .modal-overlay { background: rgba(0,0,0,0.65); }
        .modal-overlay.active { display: flex; opacity: 1; }

        .modal-box {
            background: #070707; backdrop-filter: none; -webkit-backdrop-filter: none;
            width: 500px; max-width: 92%; padding: 30px;
            border-radius: 24px; border: 1px solid rgba(255,255,255,0.07);
            transform: scale(0.95) translateY(10px); transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
            box-shadow: 0 20px 50px rgba(0,0,0,0.8), 0 1px 0 rgba(255,255,255,0.05) inset; position: relative;
        }
        .modal-box::before { content: none; }
        .modal-overlay.active .modal-box { transform: scale(1) translateY(0); }

        #modalOverlay {
            align-items: center;
            justify-content: center;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        #modalOverlay .modal-box {
            width: min(600px, calc(100vw - 32px));
            max-width: 600px;
            height: auto;
            align-self: center;
            padding: 0;
            border-radius: 20px;
            overflow: visible !important;
            display: flex;
            flex-direction: row;
            transform: scale(0.96) translateY(18px);
            transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), max-width 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.28s ease, box-shadow 0.28s ease;
            box-shadow: 0 24px 80px rgba(0,0,0,0.72), 0 1px 0 rgba(255,255,255,0.06) inset;
            background: #070709;
            position: relative;
        }
        #modalOverlay .modal-main-panel {
            overflow: visible !important;
            border-radius: 20px;
        }
        #modalOverlay.is-parcel-active {
            overflow-y: auto;
            align-items: safe center;
        }
        #modalOverlay.is-parcel-active .modal-box {
            width: min(1020px, calc(100vw - 32px));
            max-width: 1020px;
            height: auto;
            max-height: none;
            align-self: auto;
        }
        #modalOverlay.is-parcel-active .modal-main-panel,
        #modalOverlay.is-notes-active .modal-main-panel {
            min-height: 0;
            overflow: visible !important;
            border-radius: 20px 0 0 20px;
        }
        #modalOverlay.is-parcel-active .modal-parcel-panel {
            /* O formulario define a altura; as parcelas rolam dentro dela. */
            contain: size;
            height: auto;
            align-self: stretch;
            border-radius: 0 20px 20px 0;
        }
        #modalOverlay.is-notes-active .modal-box {
            width: min(940px, calc(100vw - 32px));
            max-width: 940px;
            height: min(640px, calc(100vh - 48px));
            max-height: calc(100vh - 48px);
        }
        #modalOverlay.is-notes-active #transForm {
            flex: 1;
            min-height: 0;
            overflow: visible !important;
        }
        #modalOverlay.active .modal-box { transform: scale(1) translateY(0); }

        /* Toggles com cor do Tema (Vermelho Despesa / Verde Receita) */
        #modalOverlay.mode-despesa input:checked + .slider {
            background-color: rgba(255, 71, 87, 0.2) !important;
            border-color: rgba(255, 71, 87, 0.5) !important;
        }
        #modalOverlay.mode-despesa input:checked + .slider:before {
            background-color: #ff4757 !important;
            box-shadow: 0 0 10px rgba(255, 71, 87, 0.6) !important;
        }

        #modalOverlay.mode-receita input:checked + .slider {
            background-color: rgba(16, 185, 129, 0.2) !important;
            border-color: rgba(16, 185, 129, 0.5) !important;
        }
        #modalOverlay.mode-receita input:checked + .slider:before {
            background-color: #10b981 !important;
            box-shadow: 0 0 10px rgba(16, 185, 129, 0.6) !important;
        }

        /* Layout dos Toggles: Modo Despesa (Lado a Lado) vs Modo Receita (Uma por Linha) */
        #modalOverlay.mode-despesa .launch-toggles-row {
            display: flex;
            flex-direction: row;
            gap: 10px;
            margin-top: 8px;
        }
        #modalOverlay.mode-despesa .launch-toggles-row .toggle-row {
            flex: 1;
            margin: 0;
        }

        #modalOverlay.mode-receita .launch-toggles-row {
            display: flex;
            flex-direction: column;
            gap: 4px;
            margin-top: 8px;
        }
        #modalOverlay.mode-receita .launch-toggles-row .toggle-row {
            width: 100%;
            margin: 0;
        }

        /* Painel Principal (Esquerda) */
        .modal-main-panel {
            flex: 1;
            min-width: 320px;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }

        /* Painel Lateral de Parcelamento (Direita) */
        .modal-parcel-panel {
            width: 420px;
            min-width: 380px;
            height: 100%;
            max-height: 100%;
            min-height: 0;
            border-left: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 0 20px 20px 0;
            background: #0a0a0d;
            display: flex;
            flex-direction: column;
            padding: 16px 20px 20px;
            overflow: hidden;
            animation: fadeInRight 0.25s ease;
        }
        .modal-parcel-panel > :not(.parcel-list-container) {
            flex-shrink: 0;
        }
        .modal-notes-panel {
            width: 340px;
            min-width: 320px;
            height: 100%;
            max-height: 100%;
            border-left: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 0 20px 20px 0;
            background: #0a0a0d;
            display: flex;
            flex-direction: column;
            padding: 16px 18px 20px;
            overflow: hidden;
            animation: fadeInRight 0.25s ease;
        }
        @keyframes fadeInRight {
            from { opacity: 0; transform: translateX(12px); }
            to { opacity: 1; transform: translateX(0); }
        }

        .parcel-panel-header,
        .notes-panel-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding-bottom: 12px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            margin-bottom: 14px;
        }
        .parcel-panel-title,
        .notes-panel-title {
            font-size: 14px;
            font-weight: 700;
            color: #fff;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .notes-save-status {
            min-width: 58px;
            color: var(--text-sec);
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0;
            opacity: 0.78;
        }
        .notes-save-status.saving { color: var(--neon-yellow); }
        .notes-save-status.saved { color: #10b981; }
        .notes-save-status.error { color: #ff4757; }
        .notes-save-status.pending { color: var(--text-sec); }
        #modalOverlay.mode-despesa .parcel-panel-title i { color: #ff4757; }
        #modalOverlay.mode-receita .parcel-panel-title i { color: #10b981; }
        #modalOverlay.mode-despesa .notes-panel-title i { color: #ff4757; }
        #modalOverlay.mode-receita .notes-panel-title i { color: #10b981; }

        .launch-desc-field {
            position: relative;
            display: flex;
            width: 100%;
        }
        #modalOverlay .launch-desc-field .form-input {
            padding-right: 58px;
        }
        .btn-launch-notes,
        .btn-close-notes {
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.04);
            color: var(--text-sec);
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
        }
        .btn-launch-notes {
            position: absolute;
            right: 6px;
            top: 5px;
            width: 38px;
            height: 34px;
            border-radius: 10px;
            z-index: 2;
        }
        .btn-launch-notes:hover,
        .btn-launch-notes.active,
        .btn-launch-notes.has-notes {
            color: #10b981;
            border-color: rgba(16, 185, 129, 0.35);
            background: rgba(16, 185, 129, 0.12);
        }
        #modalOverlay.mode-despesa .btn-launch-notes:hover,
        #modalOverlay.mode-despesa .btn-launch-notes.active,
        #modalOverlay.mode-despesa .btn-launch-notes.has-notes {
            color: #ff4757;
            border-color: rgba(255, 71, 87, 0.35);
            background: rgba(255, 71, 87, 0.12);
        }
        .btn-close-notes {
            width: 30px;
            height: 30px;
            border-radius: 50%;
            font-size: 12px;
        }
        .btn-close-notes:hover {
            color: #fff;
            background: rgba(255, 255, 255, 0.1);
        }
        .notes-textarea {
            flex: 1;
            width: 100%;
            min-height: 220px;
            resize: none;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            background: #0d0d10;
            color: var(--text-main);
            padding: 14px;
            font-size: 14px;
            line-height: 1.45;
            outline: none;
            transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
        }
        .notes-textarea::placeholder {
            color: var(--text-sec);
        }
        #modalOverlay.mode-despesa .notes-textarea:focus {
            border-color: #ff4757;
            box-shadow: 0 0 0 3px rgba(255, 71, 87, 0.16);
            background: rgba(255, 71, 87, 0.04);
        }
        #modalOverlay.mode-receita .notes-textarea:focus {
            border-color: #10b981;
            box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.16);
            background: rgba(16, 185, 129, 0.04);
        }
        .notes-toolbar {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 10px;
        }
        .notes-toolbar button {
            width: 32px;
            height: 30px;
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.09);
            background: rgba(255, 255, 255, 0.04);
            color: var(--text-sec);
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            transition: all 0.18s ease;
        }
        .notes-toolbar button:hover {
            color: #fff;
            border-color: rgba(255, 255, 255, 0.18);
            background: rgba(255, 255, 255, 0.08);
        }
        #modalOverlay.mode-despesa .notes-toolbar button:hover {
            color: #ff4757;
            border-color: rgba(255, 71, 87, 0.32);
            background: rgba(255, 71, 87, 0.1);
        }
        #modalOverlay.mode-receita .notes-toolbar button:hover {
            color: #10b981;
            border-color: rgba(16, 185, 129, 0.32);
            background: rgba(16, 185, 129, 0.1);
        }
        .notes-editor {
            flex: 1;
            width: 100%;
            min-height: 0;
            overflow-y: auto;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            background: #0d0d10;
            color: var(--text-main);
            padding: 16px;
            font-size: 14px;
            line-height: 1.55;
            outline: none;
            scrollbar-width: thin;
            scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
            transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
        }
        .notes-editor:empty::before {
            content: attr(data-placeholder);
            color: var(--text-sec);
            pointer-events: none;
        }
        .notes-editor p,
        .notes-editor div {
            margin: 0 0 10px;
        }
        .notes-editor h3 {
            margin: 0 0 12px;
            color: #fff;
            font-size: 17px;
            line-height: 1.25;
            font-weight: 800;
        }
        .notes-editor ul,
        .notes-editor ol {
            margin: 0 0 12px;
            padding-left: 22px;
        }
        .notes-editor li {
            margin: 5px 0;
            padding-left: 2px;
        }
        .notes-editor strong,
        .notes-editor b {
            color: #fff;
            font-weight: 800;
        }
        #modalOverlay.mode-despesa .notes-editor:focus {
            border-color: #ff4757;
            box-shadow: 0 0 0 3px rgba(255, 71, 87, 0.16);
            background: rgba(255, 71, 87, 0.04);
        }
        #modalOverlay.mode-receita .notes-editor:focus {
            border-color: #10b981;
            box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.16);
            background: rgba(16, 185, 129, 0.04);
        }

        .parcel-panel-summary {
            font-size: 12px;
            font-weight: 700;
            color: var(--text-sec);
            background: rgba(255, 255, 255, 0.04);
            padding: 4px 10px;
            border-radius: 6px;
            border: 1px solid rgba(255, 255, 255, 0.06);
            transition: all 0.2s ease;
        }
        .parcel-panel-summary.mismatch {
            background: rgba(255, 71, 87, 0.15) !important;
            color: #ff4757 !important;
            border-color: rgba(255, 71, 87, 0.3) !important;
        }

        .parcel-mismatch-alert {
            background: rgba(255, 71, 87, 0.1);
            border: 1px solid rgba(255, 71, 87, 0.3);
            border-radius: 8px;
            padding: 8px 12px;
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            font-size: 11px;
            color: #ff6b81;
            gap: 8px;
            animation: fadeInRight 0.2s ease;
        }

        .btn-fix-diff {
            background: #ff4757;
            color: #fff;
            border: none;
            border-radius: 6px;
            padding: 4px 8px;
            font-size: 10px;
            font-weight: 700;
            cursor: pointer;
            white-space: nowrap;
            transition: background 0.15s ease;
        }
        .btn-fix-diff:hover {
            background: #ff6b81;
        }

        .btn-auto-balance {
            background: rgba(255, 255, 255, 0.05);
            color: #e2e8f0;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 999px;
            padding: 5px 12px;
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            transition: all 0.2s ease;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        }
        #modalOverlay.mode-despesa .btn-auto-balance:hover {
            background: rgba(255, 71, 87, 0.15) !important;
            color: #ff4757 !important;
            border-color: rgba(255, 71, 87, 0.35) !important;
            box-shadow: 0 0 12px rgba(255, 71, 87, 0.2) !important;
        }
        #modalOverlay.mode-receita .btn-auto-balance:hover {
            background: rgba(16, 185, 129, 0.15) !important;
            color: #10b981 !important;
            border-color: rgba(16, 185, 129, 0.35) !important;
            box-shadow: 0 0 12px rgba(16, 185, 129, 0.2) !important;
        }

        .parcel-panel-controls {
            display: flex;
            gap: 12px;
            margin-bottom: 14px;
        }
        .parcel-ctrl-group {
            flex: 1;
        }
        .parcel-ctrl-group .form-label {
            font-size: 11px;
            font-weight: 700;
            margin-bottom: 4px;
        }
        .parcel-ctrl-group .form-input {
            height: 40px !important;
            min-height: 40px !important;
            margin-bottom: 0 !important;
            font-size: 13px !important;
            background: #0d0d10 !important;
            border-radius: 10px !important;
        }

        .parcel-list-container {
            flex: 1;
            min-height: 0;
            overflow-y: auto;
            overscroll-behavior-y: contain;
            display: flex;
            flex-direction: column;
            gap: 8px;
            padding-right: 4px;
            scrollbar-width: thin;
            scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
        }

        .pp-card {
            flex-shrink: 0;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 10px;
            padding: 10px 12px;
            display: flex;
            align-items: center;
            gap: 12px;
            transition: border-color 0.15s ease, background 0.15s ease;
        }
        .pp-card:hover {
            background: rgba(255, 255, 255, 0.04);
            border-color: rgba(255, 255, 255, 0.12);
        }

        .pp-num {
            font-size: 11px;
            font-weight: 800;
            color: var(--text-sec);
            min-width: 42px;
            height: 28px;
            border-radius: 6px;
            background: rgba(255, 255, 255, 0.05);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        #modalOverlay.mode-despesa .pp-num { color: #ff4757; background: rgba(255, 71, 87, 0.08); }
        #modalOverlay.mode-receita .pp-num { color: #10b981; background: rgba(16, 185, 129, 0.08); }

        .pp-fields {
            flex: 1;
            display: flex;
            gap: 10px;
        }
        .pp-field {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 2px;
        }
        .pp-field label {
            font-size: 9px;
            font-weight: 700;
            text-transform: uppercase;
            color: var(--text-sec);
            letter-spacing: 0.5px;
        }
        .pp-input {
            width: 100%;
            height: 32px;
            background: #0d0d10;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 6px;
            padding: 0 8px;
            font-size: 12px;
            font-weight: 600;
            color: #fff;
            outline: none;
            transition: border-color 0.15s ease;
        }
        #modalOverlay.mode-despesa .pp-input:focus {
            border-color: #ff4757 !important;
            box-shadow: 0 0 0 2px rgba(255, 71, 87, 0.15) !important;
        }
        #modalOverlay.mode-receita .pp-input:focus {
            border-color: #10b981 !important;
            box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.15) !important;
        }
        #modalOverlay .modal-box::before {
            display: none;
        }
        #modalOverlay .modal-header {
            padding: 16px 24px 14px;
            margin-bottom: 0;
            border-bottom: 1px solid var(--card-border);
            flex-shrink: 0;
        }
        #modalOverlay .modal-title {
            font-size: 18px;
            font-weight: 700;
            line-height: 1;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        #modalOverlay .modal-title-icon {
            font-size: 18px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            line-height: 1;
            flex-shrink: 0;
            transition: color 0.2s ease;
        }
        #modalOverlay.mode-despesa .modal-title-icon { color: #ff4757 !important; }
        #modalOverlay.mode-receita .modal-title-icon { color: #10b981 !important; }

        #modalOverlay .btn-close-modal {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            font-size: 12px;
        }
        #modalOverlay #transForm {
            overflow: visible !important;
            padding: 16px 24px 22px;
            display: flex;
            flex-direction: column;
            border-radius: 0 0 20px 20px;
        }
        #modalOverlay .type-toggle-group {
            position: relative;
            z-index: 3;
            margin: 0 0 14px;
            padding: 4px;
            border-radius: 12px;
            background: #0d0d10;
            border: 1px solid rgba(255,255,255,0.08);
        }
        #modalOverlay .type-btn {
            border-radius: 9px;
            padding: 8px 12px;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.5px;
        }
        #modalOverlay .form-label {
            margin-bottom: 6px;
            letter-spacing: 0;
            font-size: 11px;
            font-weight: 700;
        }

        /* --- Botao IA Sugerir Dinamico --- */
        .btn-ai-suggest {
            background: none;
            border: none;
            cursor: pointer;
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            transition: all 0.2s ease;
            padding: 2px 6px;
            border-radius: 4px;
            color: #a855f7;
        }
        #modalOverlay.mode-despesa .btn-ai-suggest { color: #ff4757 !important; }
        #modalOverlay.mode-despesa .btn-ai-suggest:hover { background: rgba(255, 71, 87, 0.12) !important; color: #ff6b81 !important; }
        #modalOverlay.mode-receita .btn-ai-suggest { color: #10b981 !important; }
        #modalOverlay.mode-receita .btn-ai-suggest:hover { background: rgba(16, 185, 129, 0.12) !important; color: #34d399 !important; }

        /* Fundo limpo e solido dos campos */
        #modalOverlay .form-input,
        #modalOverlay .form-select {
            min-height: 44px;
            border-radius: 12px;
            padding: 0 14px;
            margin-bottom: 12px;
            font-size: 14px;
            background: #0d0d10 !important;
            border: 1px solid rgba(255,255,255,0.08) !important;
        }
        #modalOverlay .custom-select-trigger {
            min-height: 44px;
            border-radius: 12px;
            padding: 0 14px;
            margin-bottom: 0 !important;
            font-size: 14px;
            background: #0d0d10 !important;
            border: 1px solid rgba(255,255,255,0.08) !important;
        }
        #modalOverlay .custom-select-wrapper {
            margin-bottom: 12px;
        }
        #modalOverlay .custom-options {
            margin-top: 4px !important;
        }

        /* Seletor de Conta Corrente com Logo Oficial no Modal de Lançamentos */
        .custom-select-trigger-with-logo {
            display: flex !important;
            align-items: center !important;
            gap: 10px !important;
            padding: 0 12px !important;
        }

        .trans-conta-logo-slot {
            width: 24px;
            height: 24px;
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .trans-conta-logo-slot .account-logo-badge,
        .trans-conta-opt-logo .account-logo-badge {
            width: 24px !important;
            height: 24px !important;
            min-width: 24px !important;
            min-height: 24px !important;
            border-radius: 7px !important;
            font-size: 11px !important;
            flex-shrink: 0 !important;
            overflow: hidden !important;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
        }

        .trans-conta-logo-slot .account-logo-badge svg,
        .trans-conta-opt-logo .account-logo-badge svg,
        .trans-conta-logo-slot .account-logo-badge .account-logo-img,
        .trans-conta-opt-logo .account-logo-badge .account-logo-img {
            width: 100% !important;
            height: 100% !important;
            border-radius: 7px !important;
            object-fit: cover !important;
            display: block !important;
        }

        .trans-conta-logo-slot .account-logo-badge .ios-tile-initials,
        .trans-conta-opt-logo .account-logo-badge .ios-tile-initials {
            font-size: 10px !important;
            font-weight: 800 !important;
            line-height: 1 !important;
            letter-spacing: 0.5px !important;
        }

        .trans-conta-logo-slot .account-logo-badge i,
        .trans-conta-opt-logo .account-logo-badge i {
            font-size: 11px !important;
        }

        .custom-option-with-logo {
            display: flex !important;
            align-items: center !important;
            gap: 10px !important;
            padding: 9px 14px !important;
            cursor: pointer;
        }

        .trans-conta-opt-logo {
            width: 24px;
            height: 24px;
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .trans-conta-opt-text {
            flex: 1;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            font-size: 13px;
        }

        /* Badge para opção "Sem conta corrente" */
        .trans-conta-empty-badge {
            background: rgba(255, 255, 255, 0.08) !important;
            color: var(--text-sec, #94a3b8) !important;
            border: 1px solid rgba(255, 255, 255, 0.1) !important;
        }

        body.light-mode .trans-conta-empty-badge {
            background: #f1f5f9 !important;
            color: #64748b !important;
            border: 1px solid #cbd5e1 !important;
        }

        body.light-mode .trans-conta-logo-slot .account-logo-badge,
        body.light-mode .trans-conta-opt-logo .account-logo-badge {
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
        }

        /* --- Dynamic Focus & Option Themes for Novo Lançamento --- */
        /* DESPESA MODE (Red) */
        #modalOverlay.mode-despesa .form-input:focus,
        #modalOverlay.mode-despesa .custom-select-trigger:focus,
        #modalOverlay.mode-despesa .custom-select.open .custom-select-trigger {
            border-color: #ff4757 !important;
            box-shadow: 0 0 0 3px rgba(255, 71, 87, 0.18), 0 0 12px rgba(255, 71, 87, 0.2) !important;
            background: rgba(255, 71, 87, 0.04) !important;
        }
        #modalOverlay.mode-despesa .cs-search-input:not([readonly]) {
            caret-color: #ff4757 !important;
        }
        #modalOverlay.mode-despesa .custom-option.selected {
            color: #ff4757 !important;
            background: rgba(255, 71, 87, 0.14) !important;
            font-weight: 700 !important;
        }
        #modalOverlay.mode-despesa .custom-option-add {
            color: #ff4757 !important;
            background: rgba(255, 71, 87, 0.05) !important;
        }
        #modalOverlay.mode-despesa .custom-option-add:hover {
            color: #ff6b81 !important;
            background: rgba(255, 71, 87, 0.12) !important;
        }
        #modalOverlay.mode-despesa .custom-option-add-input:focus {
            border-color: #ff4757 !important;
            background: rgba(255, 71, 87, 0.08) !important;
        }
        #modalOverlay.mode-despesa .custom-option-add-confirm {
            background: #ff4757 !important;
        }

        /* RECEITA MODE (Green) */
        #modalOverlay.mode-receita .form-input:focus,
        #modalOverlay.mode-receita .custom-select-trigger:focus,
        #modalOverlay.mode-receita .custom-select.open .custom-select-trigger {
            border-color: #10b981 !important;
            box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.18), 0 0 12px rgba(16, 185, 129, 0.2) !important;
            background: rgba(16, 185, 129, 0.04) !important;
        }
        #modalOverlay.mode-receita .cs-search-input:not([readonly]) {
            caret-color: #10b981 !important;
        }
        #modalOverlay.mode-receita .custom-option.selected {
            color: #10b981 !important;
            background: rgba(16, 185, 129, 0.14) !important;
            font-weight: 700 !important;
        }
        #modalOverlay.mode-receita .custom-option-add {
            color: #10b981 !important;
            background: rgba(16, 185, 129, 0.05) !important;
        }
        #modalOverlay.mode-receita .custom-option-add:hover {
            color: #34d399 !important;
            background: rgba(16, 185, 129, 0.12) !important;
        }
        #modalOverlay.mode-receita .custom-option-add-input:focus {
            border-color: #10b981 !important;
            background: rgba(16, 185, 129, 0.08) !important;
        }
        #modalOverlay.mode-receita .custom-option-add-confirm {
            background: #059669 !important;
        }
        #modalOverlay .launch-date-row,
        #modalOverlay .launch-tax-row {
            display: grid;
            gap: 12px;
        }
        #modalOverlay .launch-date-row {
            grid-template-columns: 1.2fr 1fr 1fr;
        }
        #modalOverlay .launch-tax-row {
            grid-template-columns: 1fr 1fr;
        }
        #modalOverlay .row .col { min-width: 0; }
        #modalOverlay .toggle-row {
            min-height: 44px;
            padding: 8px 14px;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            background: #0d0d10;
            margin-top: 0;
        }
        #modalOverlay #divParcelas > div {
            width: 100%;
            gap: 12px !important;
            align-items: center;
        }
        #modalOverlay #colQtd { min-width: 96px; }
        #modalOverlay #colQtd .form-input { margin-bottom: 0; }
        #modalOverlay #btnSalvar {
            position: static !important;
            min-height: 46px;
            height: 46px;
            margin-top: 16px;
            margin-bottom: 0;
            border-radius: 999px;
            font-size: 14px;
            font-weight: 700;
            box-shadow: 0 4px 20px rgba(255,71,87,0.24);
        }
        #modalOverlay #btnSalvar.receita {
            box-shadow: 0 4px 20px rgba(0,230,118,0.24);
        }
        body.light-mode #modalOverlay .modal-box {
            background: #ffffff;
            box-shadow: 0 -20px 56px rgba(15,23,42,0.24);
        }
        body.light-mode #modalOverlay .modal-box::before { background: rgba(100,116,139,0.32); }
        body.light-mode #modalOverlay .modal-notes-panel {
            background: #ffffff;
            border-color: #e2e8f0;
        }
        body.light-mode #modalOverlay .notes-panel-header {
            border-color: #e2e8f0;
        }
        body.light-mode #modalOverlay .notes-panel-title {
            color: #0f172a;
        }
        body.light-mode #modalOverlay .modal-parcel-panel {
            background: #ffffff;
            border-color: #e2e8f0;
        }
        body.light-mode #modalOverlay .parcel-panel-header {
            border-bottom-color: #e2e8f0;
        }
        body.light-mode #modalOverlay .parcel-panel-title {
            color: #0f172a;
        }
        body.light-mode #modalOverlay.mode-despesa .parcel-panel-title i {
            color: #dc2626;
        }
        body.light-mode #modalOverlay.mode-receita .parcel-panel-title i {
            color: #059669;
        }
        body.light-mode #modalOverlay .btn-auto-balance {
            background: #f8fafc;
            color: #334155;
            border: 1px solid #cbd5e1;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
        }
        body.light-mode #modalOverlay.mode-despesa .btn-auto-balance:hover {
            background: #fee2e2 !important;
            color: #dc2626 !important;
            border-color: #fca5a5 !important;
            box-shadow: 0 0 10px rgba(220, 38, 38, 0.15) !important;
        }
        body.light-mode #modalOverlay.mode-receita .btn-auto-balance:hover {
            background: #ecfdf5 !important;
            color: #059669 !important;
            border-color: #a7f3d0 !important;
            box-shadow: 0 0 10px rgba(5, 150, 105, 0.15) !important;
        }
        body.light-mode #modalOverlay .parcel-ctrl-group .form-label {
            color: #334155 !important;
        }
        body.light-mode #modalOverlay .parcel-ctrl-group .form-input {
            background: #f8fafc !important;
            border: 1px solid #cbd5e1 !important;
            color: #0f172a !important;
        }
        body.light-mode #modalOverlay.mode-despesa .parcel-ctrl-group .form-input:focus {
            border-color: #ef4444 !important;
            box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
            background: #ffffff !important;
        }
        body.light-mode #modalOverlay.mode-receita .parcel-ctrl-group .form-input:focus {
            border-color: #10b981 !important;
            box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
            background: #ffffff !important;
        }
        body.light-mode #modalOverlay .parcel-mismatch-alert {
            background: #fef2f2;
            border: 1px solid #fecaca;
            color: #b91c1c;
        }
        body.light-mode #modalOverlay .btn-fix-diff {
            background: #ef4444;
            color: #ffffff;
        }
        body.light-mode #modalOverlay .btn-fix-diff:hover {
            background: #dc2626;
        }
        body.light-mode #modalOverlay .parcel-panel-summary {
            background: #f8fafc;
            color: #64748b;
            border-color: #e2e8f0;
        }
        body.light-mode #modalOverlay .parcel-panel-summary.mismatch {
            background: #fef2f2 !important;
            color: #dc2626 !important;
            border-color: #fca5a5 !important;
        }
        body.light-mode #modalOverlay .parcel-list-container {
            scrollbar-color: #cbd5e1 transparent;
        }
        body.light-mode #modalOverlay .pp-card {
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        }
        body.light-mode #modalOverlay .pp-card:hover {
            background: #ffffff;
            border-color: #cbd5e1;
            box-shadow: 0 2px 4px rgba(15, 23, 42, 0.06);
        }
        body.light-mode #modalOverlay .pp-num {
            background: #e2e8f0;
            color: #475569;
        }
        body.light-mode #modalOverlay.mode-despesa .pp-num {
            color: #dc2626;
            background: #fee2e2;
        }
        body.light-mode #modalOverlay.mode-receita .pp-num {
            color: #059669;
            background: #d1fae5;
        }
        body.light-mode #modalOverlay .pp-field label {
            color: #64748b;
        }
        body.light-mode #modalOverlay .pp-input {
            background: #ffffff;
            border: 1px solid #cbd5e1;
            color: #0f172a;
        }
        body.light-mode #modalOverlay .pp-input::placeholder {
            color: #94a3b8;
        }
        body.light-mode #modalOverlay.mode-despesa .pp-input:focus {
            border-color: #ef4444 !important;
            box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.15) !important;
            background: #ffffff;
        }
        body.light-mode #modalOverlay.mode-receita .pp-input:focus {
            border-color: #10b981 !important;
            box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.15) !important;
            background: #ffffff;
        }
        body.light-mode #modalOverlay .type-toggle-group,
        body.light-mode #modalOverlay .form-input,
        body.light-mode #modalOverlay .form-select,
        body.light-mode #modalOverlay .custom-select-trigger,
        body.light-mode #modalOverlay .toggle-row,
        body.light-mode #modalOverlay .notes-textarea,
        body.light-mode #modalOverlay .notes-editor {
            background: #f8fafc !important;
            border: 1px solid #cbd5e1 !important;
            color: #0f172a !important;
        }
        body.light-mode #modalOverlay .cs-search-input,
        body.light-mode #modalOverlay .form-input::placeholder,
        body.light-mode #modalOverlay .cs-search-input::placeholder,
        body.light-mode #modalOverlay .notes-textarea::placeholder {
            color: #0f172a !important;
        }
        body.light-mode #modalOverlay .notes-editor:empty::before {
            color: #64748b !important;
        }
        body.light-mode #modalOverlay .notes-editor h3,
        body.light-mode #modalOverlay .notes-editor strong,
        body.light-mode #modalOverlay .notes-editor b {
            color: #0f172a;
        }
        body.light-mode #modalOverlay .notes-toolbar button,
        body.light-mode #modalOverlay .btn-launch-notes,
        body.light-mode #modalOverlay .btn-close-notes {
            background: #f8fafc;
            border-color: #cbd5e1;
            color: #475569;
        }
        body.light-mode #modalOverlay .form-label {
            color: #334155 !important;
        }
        body.light-mode #modalOverlay .modal-title {
            color: #0f172a !important;
        }
        body.light-mode #modalOverlay .toggle-label {
            color: #0f172a !important;
        }
        body.light-mode #modalOverlay .custom-options {
            background: #ffffff !important;
            border-color: #e2e8f0 !important;
            box-shadow: 0 10px 25px rgba(148, 163, 184, 0.25) !important;
        }
        body.light-mode #modalOverlay .custom-option {
            color: #1e293b !important;
        }
        body.light-mode #modalOverlay .custom-option:hover {
            background: #f1f5f9 !important;
        }

        .bulk-due-trigger { color: var(--neon-yellow); background: rgba(255,196,0,0.08); border-color: rgba(255,196,0,0.18); }
        .bulk-due-trigger:hover { color: var(--neon-yellow); background: rgba(255,196,0,0.14); border-color: rgba(255,196,0,0.32); box-shadow: 0 0 14px rgba(255,196,0,0.14); }
        #bulkDueModalOverlay {
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        #bulkDueModalOverlay .bulk-due-modal {
            width: min(520px, calc(100vw - 36px));
            padding: 0;
            overflow: hidden;
            border-radius: 18px;
            background: #070707;
        }
        #bulkDueModalOverlay .modal-header {
            padding: 24px 24px 16px;
            margin-bottom: 0;
            border-bottom: 1px solid var(--card-border);
        }
        .bulk-due-form {
            display: grid;
            gap: 0;
            padding: 22px 24px 24px;
        }
        .bulk-due-form .custom-select-wrapper,
        .bulk-due-form .form-input {
            margin-bottom: 16px;
        }
        .bulk-due-form .custom-select-trigger,
        .bulk-due-form .form-input {
            min-height: 50px;
            border-radius: 14px;
            padding: 14px 16px;
            font-size: 15px;
            background: rgba(255,255,255,0.045);
        }
        .bulk-due-preview {
            display: flex;
            align-items: center;
            gap: 10px;
            min-height: 54px;
            padding: 13px 14px;
            border: 1px solid rgba(255,196,0,0.22);
            border-radius: 12px;
            background: rgba(255,196,0,0.08);
            color: var(--neon-yellow);
            font-size: 12px;
            font-weight: 800;
            line-height: 1.35;
        }
        .bulk-due-preview i {
            width: 26px;
            height: 26px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            background: rgba(255,196,0,0.12);
            flex-shrink: 0;
        }
        .bulk-due-preview.is-empty {
            color: var(--text-sec);
            border-color: var(--card-border);
            background: rgba(255,255,255,0.035);
        }
        .bulk-due-preview.is-danger {
            color: var(--neon-red);
            border-color: rgba(255,71,87,0.25);
            background: rgba(255,71,87,0.09);
        }
        .bulk-due-actions {
            display: grid;
            grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
            gap: 10px;
            margin-top: 20px;
        }
        .bulk-due-cancel,
        .bulk-due-apply {
            min-height: 48px;
            border: 0;
            border-radius: 999px;
            cursor: pointer;
            font-size: 12px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0;
            transition: 0.2s;
        }
        .bulk-due-cancel {
            background: rgba(255,255,255,0.06);
            color: var(--text-sec);
            border: 1px solid var(--card-border);
        }
        .bulk-due-cancel:hover { color: var(--text-main); background: rgba(255,255,255,0.1); }
        .bulk-due-apply {
            background: var(--neon-yellow);
            color: #1c1200;
            box-shadow: 0 10px 24px rgba(255,196,0,0.22);
        }
        .bulk-due-apply:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(255,196,0,0.3); }
        .bulk-due-apply:disabled {
            opacity: 0.48;
            cursor: not-allowed;
            box-shadow: none;
        }
        body.light-mode .bulk-due-trigger { background: #fffbeb; border-color: #fde68a; color: #ca8a04; }
        body.light-mode #bulkDueModalOverlay .bulk-due-modal { background: #ffffff; border-color: #e2e8f0; }
        body.light-mode .bulk-due-form .custom-select-trigger,
        body.light-mode .bulk-due-form .form-input {
            background: #f8fafc;
        }
        body.light-mode .bulk-due-preview.is-empty {
            background: #f8fafc;
            border-color: #e2e8f0;
        }

        @media (max-width: 700px) {
            #bulkDueModalOverlay {
                align-items: flex-end;
            }
            #bulkDueModalOverlay .bulk-due-modal {
                width: calc(100% - 20px);
                max-width: 520px;
                border-radius: 22px 22px 0 0;
            }
            #bulkDueModalOverlay .modal-header {
                padding: 24px 18px 14px;
            }
            .bulk-due-form {
                padding: 18px 18px max(22px, env(safe-area-inset-bottom));
            }
            .bulk-due-actions {
                grid-template-columns: 1fr;
            }
        }

        .form-label { display: block; font-size: 11px; color: var(--text-sec); margin-bottom: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
        .form-input, .form-select { width: 100%; background: rgba(0,0,0,0.3); border: 1px solid var(--card-border); color: var(--text-main); padding: 14px 16px; border-radius: 10px; outline: none; font-size: 14px; font-weight: 500; margin-bottom: 16px; transition: all 0.2s; box-shadow: inset 0 2px 4px rgba(0,0,0,0.2); }
        .form-input:focus, .form-select:focus { border-color: var(--neon-blue); box-shadow: 0 0 0 3px rgba(41, 121, 255, 0.15), inset 0 2px 4px rgba(0,0,0,0.2); background: rgba(0,0,0,0.5); }

        input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
        input[type=number] { -moz-appearance: textfield; }

        .toggle-row { display: flex; align-items: center; margin-top: 10px; cursor: pointer; user-select: none; padding: 8px 0; }
        .toggle-switch { position: relative; width: 44px; height: 24px; margin-right: 14px; }
        .toggle-switch input { opacity: 0; width: 0; height: 0; }
        .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(255,255,255,0.1); transition: .4s; border-radius: 24px; border: 1px solid var(--card-border); }
        .slider:before { position: absolute; content: ""; height: 16px; width: 16px; left: 3px; bottom: 3px; background-color: var(--text-sec); transition: .4s cubic-bezier(0.34, 1.56, 0.64, 1); border-radius: 50%; }
        input:checked + .slider { background-color: rgba(0, 230, 118, 0.2); border-color: rgba(0, 230, 118, 0.5); }
        input:checked + .slider:before { transform: translateX(20px); background-color: var(--neon-green); box-shadow: 0 0 10px var(--neon-green); }
        .toggle-label { font-size: 13px; color: var(--text-main); font-weight: 600; }

        .row { display: flex; gap: 15px; } .col { flex: 1; }

        .type-toggle-group { display: flex; gap: 12px; margin-bottom: 20px; background: rgba(0,0,0,0.3); padding: 6px; border-radius: 12px; border: 1px solid var(--card-border); }
        .type-toggle-group input[type="radio"] { display: none; }
        .type-btn { flex: 1; padding: 12px; text-align: center; border-radius: 8px; cursor: pointer; font-weight: 800; font-size: 13px; color: var(--text-sec); transition: all 0.3s; text-transform: uppercase; letter-spacing: 0.5px; }

        input[value="Despesa"]:checked + .despesa-btn { background: rgba(255, 71, 87, 0.15); color: var(--neon-red); box-shadow: 0 4px 15px rgba(255, 71, 87, 0.2); }
        input[value="Receita"]:checked + .receita-btn { background: rgba(0, 230, 118, 0.15); color: var(--neon-green); box-shadow: 0 4px 15px rgba(0, 230, 118, 0.2); }

        .btn-submit { width: 100%; padding: 16px; border: none; border-radius: 12px; font-weight: 800; font-size: 14px; letter-spacing: 0.5px; cursor: pointer; margin-top: 30px; transition: all 0.3s ease; color: #000; text-transform: uppercase; }
        .btn-submit.despesa { background: var(--neon-red); box-shadow: 0 6px 20px rgba(255, 71, 87, 0.3); }
        .btn-submit.despesa:hover { background: #ff2a3d; transform: translateY(-2px); box-shadow: 0 10px 25px rgba(255, 71, 87, 0.4); }
        .btn-submit.receita { background: var(--neon-green); box-shadow: 0 6px 20px rgba(0, 230, 118, 0.3); }
        .btn-submit.receita:hover { background: #00C853; transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0, 230, 118, 0.4); }

        .flatpickr-calendar {
            background: #080808;
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 14px;
            width: 264px !important;
            max-width: calc(100vw - 28px);
            padding: 6px 8px;
            box-shadow: 0 22px 60px rgba(0,0,0,0.72), 0 1px 0 rgba(255,255,255,0.06) inset;
            color: var(--text-main);
            z-index: 100000 !important;
            overflow: visible !important;
        }
        .flatpickr-calendar::before,
        .flatpickr-calendar::after {
            display: none !important;
        }
        .flatpickr-months {
            padding: 2px 2px 6px;
            overflow: visible;
        }
        .flatpickr-months .flatpickr-month {
            color: var(--text-main);
            fill: var(--text-main);
            height: 32px;
            overflow: visible;
        }
        .flatpickr-current-month {
            padding-top: 2px;
            font-size: 12px;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            overflow: visible;
            z-index: 20;
        }
        .flatpickr-current-month .flatpickr-monthDropdown-months,
        .flatpickr-current-month input.cur-year {
            height: 28px;
            min-height: 28px;
            border: 1px solid rgba(255,255,255,0.09);
            border-radius: 6px;
            background: rgba(255,255,255,0.045);
            color: var(--text-main);
            font-weight: 700;
            font-size: 12px;
            line-height: 1;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
            transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
        }
        .flatpickr-current-month .flatpickr-monthDropdown-months {
            width: auto;
            min-width: 96px;
            padding: 0 22px 0 10px;
            appearance: none;
            -webkit-appearance: none;
            background-image:
                linear-gradient(45deg, transparent 50%, var(--text-sec) 50%),
                linear-gradient(135deg, var(--text-sec) 50%, transparent 50%);
            background-position:
                calc(100% - 13px) 50%,
                calc(100% - 8px) 50%;
            background-size: 4px 4px, 4px 4px;
            background-repeat: no-repeat;
            cursor: pointer;
        }
        .flatpickr-current-month .numInputWrapper {
            width: 64px;
        }
        .flatpickr-current-month input.cur-year {
            width: 64px;
            padding: 0 14px 0 8px;
            text-align: left;
        }
        .flatpickr-current-month .flatpickr-monthDropdown-months:hover,
        .flatpickr-current-month input.cur-year:hover,
        .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
        .flatpickr-current-month input.cur-year:focus {
            background-color: rgba(255,255,255,0.075);
            border-color: rgba(41,121,255,0.45);
            box-shadow: 0 0 0 3px rgba(41,121,255,0.12);
            outline: none;
        }
        .flatpickr-current-month .flatpickr-monthDropdown-months option {
            background: #080808;
            color: var(--text-main);
            font-weight: 700;
        }
        .flatpickr-current-month .flatpickr-monthDropdown-months option:checked,
        .flatpickr-current-month .flatpickr-monthDropdown-months option:hover {
            background: var(--neon-blue);
            color: #ffffff;
        }
        .flatpickr-current-month .flatpickr-monthDropdown-months.fp-native-month-hidden {
            position: absolute;
            width: 1px;
            height: 1px;
            opacity: 0;
            pointer-events: none;
        }
        .fp-month-combo {
            position: relative;
            min-width: 112px;
            z-index: 30;
        }
        .fp-month-combo-trigger {
            width: 100%;
            height: 32px;
            display: inline-flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 0 10px 0 12px;
            border: 1px solid rgba(255,255,255,0.09);
            border-radius: 10px;
            background: rgba(255,255,255,0.045);
            color: var(--text-main);
            font-size: 13px;
            font-weight: 900;
            cursor: pointer;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
        }
        .fp-month-combo-trigger::after {
            content: '\f078';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            font-size: 10px;
            color: var(--text-sec);
            transition: transform 0.18s ease, color 0.18s ease;
        }
        .fp-month-combo.open .fp-month-combo-trigger {
            background: rgba(255,255,255,0.075);
            border-color: rgba(41,121,255,0.45);
            box-shadow: 0 0 0 3px rgba(41,121,255,0.12);
        }
        .fp-month-combo.open .fp-month-combo-trigger::after {
            transform: rotate(180deg);
            color: var(--neon-blue);
        }
        .fp-month-combo-options {
            position: absolute;
            top: calc(100% + 6px);
            left: 0;
            width: 100%;
            min-width: 124px;
            max-height: 230px;
            overflow-y: auto;
            overscroll-behavior: contain;
            padding: 6px;
            border: 1px solid rgba(255,255,255,0.12);
            border-radius: 12px;
            background: #0d0d10;
            box-shadow: 0 18px 40px rgba(0,0,0,0.85), 0 0 0 1px rgba(255,255,255,0.06);
            z-index: 60;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translateY(-4px);
            transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
            scrollbar-width: thin;
            scrollbar-color: rgba(255,255,255,0.25) transparent;
        }
        .fp-month-combo-options::-webkit-scrollbar {
            width: 4px;
        }
        .fp-month-combo-options::-webkit-scrollbar-track {
            background: transparent;
        }
        .fp-month-combo-options::-webkit-scrollbar-thumb {
            background: rgba(255,255,255,0.25);
            border-radius: 4px;
        }
        .fp-month-combo-options::-webkit-scrollbar-thumb:hover {
            background: rgba(255,255,255,0.45);
        }
        .fp-month-combo.open .fp-month-combo-options {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateY(0);
        }
        .fp-month-combo-option {
            display: block;
            width: 100%;
            padding: 7px 10px;
            border: 0;
            border-radius: 7px;
            background: transparent;
            color: var(--text-sec);
            text-align: left;
            font-size: 12px;
            font-weight: 800;
            cursor: pointer;
            transition: background 0.12s ease, color 0.12s ease;
        }
        .fp-month-combo-option:hover {
            background: rgba(41,121,255,0.14);
            color: var(--text-main);
        }
        .fp-month-combo-option.selected {
            background: var(--neon-blue);
            color: #ffffff;
        }
        .numInputWrapper span {
            border-color: rgba(255,255,255,0.12);
            right: 2px;
        }
        .numInputWrapper span.arrowUp,
        .numInputWrapper span.arrowDown {
            width: 16px;
            opacity: 0.75;
        }
        .numInputWrapper span.arrowUp:after {
            border-bottom-color: var(--text-sec);
        }
        .numInputWrapper span.arrowDown:after {
            border-top-color: var(--text-sec);
        }
        .flatpickr-months .flatpickr-prev-month,
        .flatpickr-months .flatpickr-next-month {
            top: 14px;
            width: 34px;
            height: 34px;
            padding: 9px;
            border-radius: 50%;
            color: var(--text-sec);
            fill: var(--text-sec);
        }
        .flatpickr-months .flatpickr-prev-month:hover,
        .flatpickr-months .flatpickr-next-month:hover {
            background: rgba(255,255,255,0.06);
            color: var(--neon-green);
            fill: var(--neon-green);
        }
        .flatpickr-calendar .flatpickr-innerContainer,
        .flatpickr-calendar .flatpickr-rContainer,
        .flatpickr-calendar .flatpickr-days,
        .flatpickr-calendar .dayContainer,
        .flatpickr-calendar .flatpickr-weekdays,
        .flatpickr-calendar .flatpickr-weekdaycontainer {
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
        }
        .flatpickr-calendar .flatpickr-innerContainer {
            display: block;
        }
        .flatpickr-calendar .dayContainer {
            display: grid;
            grid-template-columns: repeat(7, minmax(0, 1fr));
            gap: 2px;
        }
        .flatpickr-weekdays {
            height: 24px;
            border-top: 1px solid rgba(255,255,255,0.06);
            border-bottom: 1px solid rgba(255,255,255,0.06);
        }
        span.flatpickr-weekday {
            color: var(--text-muted);
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
        }
        .flatpickr-day {
            color: var(--text-sec);
            border: 1px solid transparent;
            border-radius: 6px;
            font-weight: 600;
            font-size: 11px;
            width: 100%;
            max-width: none;
            height: 28px;
            line-height: 1;
            margin: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .flatpickr-day:hover,
        .flatpickr-day:focus {
            background: rgba(16, 185, 129, 0.12);
            border-color: rgba(16, 185, 129, 0.3);
            color: #ffffff;
        }
        .flatpickr-day.today:not(.selected) {
            border-color: rgba(16, 185, 129, 0.45);
            color: #10b981;
            background: rgba(16, 185, 129, 0.06);
        }
        .flatpickr-day.selected,
        .flatpickr-day.startRange,
        .flatpickr-day.endRange,
        .flatpickr-day.selected:hover {
            background: #10b981;
            border-color: #10b981;
            color: #020d09;
            font-weight: 700;
            box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
        }

        /* --- Theme Despesa (Red) for Launch Modal --- */
        .flatpickr-calendar.fp-theme-despesa .flatpickr-day.selected,
        .flatpickr-calendar.fp-theme-despesa .flatpickr-day.startRange,
        .flatpickr-calendar.fp-theme-despesa .flatpickr-day.endRange,
        .flatpickr-calendar.fp-theme-despesa .flatpickr-day.selected:hover {
            background: #ff4757 !important;
            border-color: #ff4757 !important;
            color: #ffffff !important;
            box-shadow: 0 4px 14px rgba(255, 71, 87, 0.4) !important;
        }
        .flatpickr-calendar.fp-theme-despesa .flatpickr-day:hover,
        .flatpickr-calendar.fp-theme-despesa .flatpickr-day:focus {
            background: rgba(255, 71, 87, 0.15) !important;
            border-color: rgba(255, 71, 87, 0.35) !important;
            color: #ffffff !important;
        }
        .flatpickr-calendar.fp-theme-despesa .flatpickr-day.today:not(.selected) {
            border-color: rgba(255, 71, 87, 0.5) !important;
            color: #ff4757 !important;
            background: rgba(255, 71, 87, 0.08) !important;
        }

        /* --- Theme Receita (Green) for Launch Modal --- */
        .flatpickr-calendar.fp-theme-receita .flatpickr-day.selected,
        .flatpickr-calendar.fp-theme-receita .flatpickr-day.startRange,
        .flatpickr-calendar.fp-theme-receita .flatpickr-day.endRange,
        .flatpickr-calendar.fp-theme-receita .flatpickr-day.selected:hover {
            background: #10b981 !important;
            border-color: #10b981 !important;
            color: #020d09 !important;
            box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4) !important;
        }
        .flatpickr-calendar.fp-theme-receita .flatpickr-day:hover,
        .flatpickr-calendar.fp-theme-receita .flatpickr-day:focus {
            background: rgba(16, 185, 129, 0.15) !important;
            border-color: rgba(16, 185, 129, 0.35) !important;
            color: #ffffff !important;
        }
        .flatpickr-calendar.fp-theme-receita .flatpickr-day.today:not(.selected) {
            border-color: rgba(16, 185, 129, 0.5) !important;
            color: #10b981 !important;
            background: rgba(16, 185, 129, 0.08) !important;
        }
        .flatpickr-day.prevMonthDay,
        .flatpickr-day.nextMonthDay {
            color: rgba(148,163,184,0.35);
        }
        .flatpickr-day.flatpickr-disabled,
        .flatpickr-day.flatpickr-disabled:hover {
            color: rgba(148,163,184,0.22);
            background: transparent;
            border-color: transparent;
        }
        .flatpickr-time {
            border-top-color: rgba(255,255,255,0.08);
        }
        body.light-mode .flatpickr-calendar {
            background: #ffffff;
            border-color: rgba(148,163,184,0.24);
            box-shadow: 0 22px 50px rgba(15,23,42,0.18), 0 1px 0 rgba(255,255,255,0.8) inset;
        }
        body.light-mode .flatpickr-current-month .flatpickr-monthDropdown-months,
        body.light-mode .flatpickr-current-month input.cur-year,
        body.light-mode .flatpickr-months .flatpickr-month {
            color: #0f172a;
            fill: #0f172a;
        }
        body.light-mode .flatpickr-current-month .flatpickr-monthDropdown-months,
        body.light-mode .flatpickr-current-month input.cur-year {
            background-color: #f8fafc;
            border-color: #e2e8f0;
            box-shadow: 0 1px 2px rgba(148,163,184,0.08);
        }
        body.light-mode .flatpickr-current-month .flatpickr-monthDropdown-months {
            background-image:
                linear-gradient(45deg, transparent 50%, #64748b 50%),
                linear-gradient(135deg, #64748b 50%, transparent 50%);
        }
        body.light-mode .flatpickr-current-month .flatpickr-monthDropdown-months:hover,
        body.light-mode .flatpickr-current-month input.cur-year:hover,
        body.light-mode .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
        body.light-mode .flatpickr-current-month input.cur-year:focus {
            background-color: #ffffff;
            border-color: var(--neon-blue);
            box-shadow: 0 0 0 3px rgba(59,130,246,0.14);
        }
        body.light-mode .flatpickr-current-month .flatpickr-monthDropdown-months option {
            background: #ffffff;
            color: #0f172a;
        }
        body.light-mode .flatpickr-current-month .flatpickr-monthDropdown-months option:checked,
        body.light-mode .flatpickr-current-month .flatpickr-monthDropdown-months option:hover {
            background: var(--neon-blue);
            color: #ffffff;
        }
        body.light-mode .fp-month-combo-trigger {
            background: #f8fafc;
            border-color: #e2e8f0;
            color: #0f172a;
            box-shadow: 0 1px 2px rgba(148,163,184,0.08);
        }
        body.light-mode .fp-month-combo.open .fp-month-combo-trigger {
            background: #ffffff;
            border-color: var(--neon-blue);
            box-shadow: 0 0 0 3px rgba(59,130,246,0.14);
        }
        body.light-mode .fp-month-combo-options {
            background: #ffffff;
            border-color: #e2e8f0;
            box-shadow: 0 18px 34px rgba(15,23,42,0.16);
            scrollbar-color: rgba(0,0,0,0.2) transparent;
        }
        body.light-mode .fp-month-combo-options::-webkit-scrollbar-thumb {
            background: rgba(0,0,0,0.18);
        }
        body.light-mode .fp-month-combo-options::-webkit-scrollbar-thumb:hover {
            background: rgba(0,0,0,0.32);
        }
        body.light-mode .fp-month-combo-option {
            color: #64748b;
        }
        body.light-mode .fp-month-combo-option:hover {
            background: #f1f5f9;
            color: #0f172a;
        }
        body.light-mode .fp-month-combo-option.selected {
            background: var(--neon-blue);
            color: #ffffff;
        }
        body.light-mode .numInputWrapper span {
            border-color: #e2e8f0;
        }
        body.light-mode .numInputWrapper span.arrowUp:after {
            border-bottom-color: #64748b;
        }
        body.light-mode .numInputWrapper span.arrowDown:after {
            border-top-color: #64748b;
        }
        body.light-mode .flatpickr-weekdays {
            border-color: #e2e8f0;
        }
        body.light-mode .flatpickr-day {
            color: #475569;
        }
        body.light-mode .flatpickr-day.prevMonthDay,
        body.light-mode .flatpickr-day.nextMonthDay {
            color: #cbd5e1;
        }

        /* Custom Stylish Checkboxes for Parcel Modal */
        .cpt-checkbox,
        .create-parcel-toolbar input[type="checkbox"] {
            appearance: none;
            -webkit-appearance: none;
            width: 18px;
            height: 18px;
            border-radius: 5px;
            background: rgba(255, 255, 255, 0.05);
            border: 1.5px solid rgba(255, 255, 255, 0.22);
            cursor: pointer;
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            transition: all 0.15s ease;
            outline: none;
            margin: 0;
        }

        .cpt-checkbox:hover,
        .create-parcel-toolbar input[type="checkbox"]:hover {
            border-color: #10b981;
            background: rgba(16, 185, 129, 0.12);
        }

        .cpt-checkbox:checked,
        .create-parcel-toolbar input[type="checkbox"]:checked {
            background: #10b981;
            border-color: #10b981;
            box-shadow: 0 0 8px rgba(16, 185, 129, 0.5);
        }

        .cpt-checkbox:checked::after,
        .create-parcel-toolbar input[type="checkbox"]:checked::after {
            content: '';
            width: 4px;
            height: 8px;
            border: solid #ffffff;
            border-width: 0 2px 2px 0;
            transform: rotate(45deg) translate(-0.5px, -1px);
            display: block;
        }

        .cp-search-wrap {
            position: relative;
            flex: 1;
            min-width: 260px;
        }

        .cp-search-wrap i {
            position: absolute;
            left: 14px;
            top: 50%;
            transform: translateY(-50%);
            color: #71717a;
            font-size: 13px;
            pointer-events: none;
            z-index: 2;
        }

        .cp-search-wrap input.pg-input,
        #newParcelSearch {
            padding-left: 38px !important;
            height: 38px;
            font-size: 13px;
            width: 100%;
            border-radius: 10px;
        }

        .create-parcel-box .pg-input:focus,
        .create-parcel-box input[type="text"]:focus,
        .cp-search-wrap input.pg-input:focus,
        #newParcelTitle:focus,
        #newParcelDateStart:focus,
        #newParcelDateEnd:focus,
        #newParcelSearch:focus {
            border-color: #059669 !important;
            box-shadow: 0 0 10px rgba(16, 185, 129, 0.3) !important;
            outline: none !important;
        }

        .cpt-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding: 12px 18px;
            border-radius: 12px;
            background: #0f0f12;
            border: 1px solid rgba(255, 255, 255, 0.06);
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .cpt-row:not(.selected):hover {
            background: rgba(255, 255, 255, 0.04);
            border-color: rgba(255, 255, 255, 0.12);
        }
        .cpt-row.selected {
            background: rgba(16, 185, 129, 0.14) !important;
            border-color: rgba(16, 185, 129, 0.45) !important;
        }
        .cpt-row.selected:hover {
            background: rgba(16, 185, 129, 0.20) !important;
            border-color: rgba(16, 185, 129, 0.60) !important;
        }
        .cpt-title {
            color: #ffffff;
        }
        .cpt-val {
            color: #ffffff;
        }
        .cpt-cat-badge {
            background: rgba(255, 255, 255, 0.06);
            padding: 2px 8px;
            border-radius: 4px;
            color: #94a3b8;
            font-weight: 600;
            text-transform: uppercase;
            font-size: 10px;
        }
        .create-parcel-toolbar {
            background: #0f0f12;
            border: 1px solid rgba(255, 255, 255, 0.08);
        }
        .cp-select-all-label {
            color: #ffffff;
        }
        #createParcelTransList {
            background: #080808;
            border: 1px solid rgba(255, 255, 255, 0.08);
        }
        #createParcelSummaryBox {
            background: #0f0f12;
            border: 1px solid rgba(59, 130, 246, 0.3);
            color: #ffffff;
        }
        #createParcelSummaryBox span,
        #createParcelSummaryBox strong#createParcelCount {
            color: #ffffff;
        }

        #parcelModalOverlay .parcel-modal-box {
            width: 1080px;
            max-width: min(96vw, 1080px);
            height: min(88vh, 820px);
            max-height: 88vh;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            background: #050506;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            padding: 24px 28px;
            box-shadow: 0 30px 90px -20px rgba(0, 0, 0, 0.95);
            color: #ffffff;
        }
        .parcel-header-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            margin-bottom: 24px;
            flex-shrink: 0;
            flex-wrap: wrap;
        }
        .parcel-header-left {
            display: flex;
            align-items: center;
            gap: 20px;
        }
        .parcel-main-title {
            font-size: 20px;
            font-weight: 700;
            color: #ffffff;
            letter-spacing: -0.3px;
            margin: 0;
        }
        .parcel-header-right {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .parcel-filter-group {
            display: flex;
            gap: 4px;
            padding: 3px;
            border-radius: 8px;
            background: #0f0f12;
            border: 1px solid rgba(255, 255, 255, 0.08);
        }
        .parcel-filter-btn {
            border: 0;
            border-radius: 6px;
            padding: 6px 14px;
            color: #71717a;
            background: transparent;
            font-size: 13px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .parcel-filter-btn:hover {
            color: #ffffff;
        }
        .parcel-filter-btn.active {
            color: #ffffff !important;
            background: rgba(5, 150, 105, 0.22) !important;
            border: 1px solid rgba(5, 150, 105, 0.45) !important;
            box-shadow: 0 0 10px rgba(5, 150, 105, 0.2) !important;
        }
        .parcel-search-input {
            background: #0f0f12;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            padding: 8px 14px;
            font-size: 13px;
            color: #ffffff;
            outline: none;
            width: 220px;
            transition: all 0.15s ease;
        }
        .parcel-search-input:focus {
            border-color: #059669;
            box-shadow: 0 0 12px rgba(5, 150, 105, 0.25);
        }
        .parcel-search-input::placeholder {
            color: #52525b;
        }
        .btn-create-parcelamento {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 8px 16px;
            font-size: 13px;
            font-weight: 600;
            border-radius: 8px;
            border: none;
            background: #059669;
            color: #ffffff;
            cursor: pointer;
            transition: background 0.15s ease;
            white-space: nowrap;
        }
        .btn-create-parcelamento:hover {
            background: #047857;
        }
        .btn-plus-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.2);
            font-size: 12px;
            line-height: 1;
        }
        .parcel-kpi-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
            margin-bottom: 24px;
            flex-shrink: 0;
        }
        .parcel-kpi-card {
            background: #09090b;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            padding: 16px 20px;
            transition: all 0.15s ease;
        }
        .parcel-kpi-card:hover {
            border-color: rgba(16, 185, 129, 0.3);
            background: rgba(255, 255, 255, 0.02);
        }
        .parcel-kpi-title {
            font-size: 11px;
            font-weight: 600;
            color: #71717a;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 6px;
        }
        .parcel-kpi-value {
            font-size: 22px;
            font-weight: 700;
            color: #ffffff;
            font-variant-numeric: tabular-nums;
        }
        .parcel-kpi-value.yellow { color: #f59e0b; }
        .parcel-kpi-value.green { color: #10b981; }

        .parcel-section-label {
            font-size: 11px;
            font-weight: 600;
            color: #71717a;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            margin-bottom: 14px;
            flex-shrink: 0;
        }

        .parcel-group-item {
            background: #09090b;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            margin-bottom: 12px;
            overflow: hidden;
            transition: all 0.2s ease;
        }
        .parcel-group-item:hover {
            border-color: rgba(16, 185, 129, 0.35);
            box-shadow: 0 4px 20px rgba(5, 150, 105, 0.08);
        }
        .pg-header {
            padding: 20px 24px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            background: transparent;
            transition: background 0.15s ease;
        }
        .pg-header:hover {
            background: rgba(16, 185, 129, 0.04);
        }
        .pg-main {
            display: flex;
            flex-direction: column;
            gap: 4px;
            min-width: 0;
        }
        .pg-title-row {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }
        .pg-title {
            font-size: 16px;
            font-weight: 600;
            color: #ffffff;
            margin: 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .pg-cat-pill {
            display: inline-flex;
            align-items: center;
            padding: 2px 8px;
            font-size: 10px;
            font-weight: 600;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.06);
            color: #a1a1aa;
            border: 1px solid rgba(255, 255, 255, 0.1);
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .pg-obs {
            font-size: 13px;
            color: #71717a;
            max-width: 540px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .pg-right-box {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 4px;
        }
        .pg-amount-row {
            font-size: 20px;
            font-weight: 600;
            color: #ffffff;
            font-variant-numeric: tabular-nums;
        }
        .pg-amount-count {
            font-size: 13px;
            font-weight: 400;
            color: #71717a;
        }
        .pg-bars-container {
            display: flex;
            gap: 3px;
            align-items: flex-end;
            height: 14px;
            margin-top: 2px;
        }
        .pg-bar-item {
            width: 6px;
            border-radius: 2px 2px 0 0;
            transition: height 0.2s, background 0.2s;
        }
        .pg-bar-item.paid {
            height: 12px;
            background: #10b981;
            box-shadow: 0 0 6px rgba(16, 185, 129, 0.4);
        }
        .pg-bar-item.pending {
            height: 6px;
            background: rgba(255, 255, 255, 0.15);
        }
        .pg-progress-text {
            font-size: 10px;
            font-weight: 600;
            color: #71717a;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .pg-content {
            display: none;
            background: rgba(0, 0, 0, 0.25);
            border-top: 1px solid rgba(255, 255, 255, 0.06);
            padding: 12px 24px 20px 24px;
        }
        .pg-content.active {
            display: block;
        }
        .pg-top-actions {
            display: flex;
            gap: 10px;
            margin-bottom: 14px;
            padding-bottom: 12px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }
        .pg-top-actions button {
            padding: 6px 12px;
            font-size: 12px;
            font-weight: 500;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .btn-pg-link {
            background: rgba(5, 150, 105, 0.15);
            color: #10b981;
            border: 1px solid rgba(5, 150, 105, 0.3);
        }
        .btn-pg-link:hover {
            background: rgba(5, 150, 105, 0.25);
        }
        .btn-pg-unlink {
            background: rgba(255, 255, 255, 0.04);
            color: #a1a1aa;
            border: 1px solid rgba(255, 255, 255, 0.08);
        }
        .btn-pg-unlink:hover {
            color: #ffffff;
            background: rgba(255, 255, 255, 0.08);
        }
        .btn-pg-del {
            background: rgba(239, 68, 68, 0.12);
            color: #f87171;
            border: 1px solid rgba(239, 68, 68, 0.25);
        }
        .btn-pg-del:hover {
            background: rgba(239, 68, 68, 0.22);
        }

        .parcel-chron-row {
            display: grid;
            grid-template-columns: 55px 1fr 120px 130px 70px;
            align-items: center;
            gap: 12px;
            padding: 12px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            transition: background 0.15s ease;
        }
        .parcel-chron-row:last-child {
            border-bottom: none;
        }
        .parcel-chron-idx {
            font-size: 13px;
            color: #71717a;
            font-variant-numeric: tabular-nums;
        }
        .parcel-chron-desc {
            font-size: 14px;
            font-weight: 500;
            color: #ffffff;
        }
        .parcel-chron-sub {
            font-size: 11px;
            color: #71717a;
            margin-top: 2px;
        }
        .parcel-status-btn {
            background: transparent;
            border: none;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.8px;
            text-transform: uppercase;
            cursor: pointer;
            text-align: left;
            padding: 4px 0;
            transition: opacity 0.15s ease;
        }
        .parcel-status-btn:hover {
            opacity: 0.8;
        }
        .parcel-status-btn.paid {
            color: #22c55e;
        }
        .parcel-status-btn.pending {
            color: #eab308;
        }
        .parcel-chron-val {
            font-size: 14px;
            font-weight: 600;
            color: #ffffff;
            text-align: right;
            font-variant-numeric: tabular-nums;
        }
        .parcel-chron-actions {
            display: flex;
            justify-content: flex-end;
            gap: 6px;
            opacity: 0;
            transition: opacity 0.15s ease;
        }
        .parcel-chron-row:hover .parcel-chron-actions {
            opacity: 1;
        }
        .parcel-action-icon {
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: #a1a1aa;
            border-radius: 6px;
            width: 28px;
            height: 28px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-size: 12px;
            transition: all 0.15s ease;
        }
        .parcel-action-icon:hover {
            color: #ffffff;
            background: rgba(255, 255, 255, 0.12);
        }
        .parcel-action-icon.del:hover {
            color: #ef4444;
            border-color: rgba(239, 68, 68, 0.3);
        }
        .pg-paid-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            min-width: 72px;
            padding: 5px 8px;
            border-radius: 8px;
            border: 1px solid rgba(148,163,184,0.18);
            background: rgba(148,163,184,0.08);
            color: var(--text-muted);
            font-size: 10px;
            font-weight: 900;
            text-transform: uppercase;
        }
        .pg-paid-badge.paid {
            color: var(--neon-green);
            background: rgba(0,230,118,0.1);
            border-color: rgba(0,230,118,0.28);
        }
        .pg-paid-badge.pending {
            color: var(--neon-yellow);
            background: rgba(255,196,0,0.1);
            border-color: rgba(255,196,0,0.24);
        }
        .pg-item-desc { min-width: 0; color: var(--text-main); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .pg-item-value { color: var(--text-main); font-weight: 800; }
        .pg-row-actions { display: flex; justify-content: flex-end; gap: 8px; }
        .pg-icon-btn {
            width: 30px;
            height: 30px;
            border: 1px solid var(--card-border);
            border-radius: 8px;
            background: rgba(255,255,255,0.04);
            color: var(--text-sec);
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: 0.2s;
        }
        .pg-icon-btn:hover { color: var(--text-main); background: rgba(255,255,255,0.08); }
        .pg-icon-btn.edit:hover { color: #10b981; border-color: rgba(5, 150, 105, 0.4); }
        .pg-icon-btn.unlink:hover { color: #f59e0b; border-color: rgba(245, 158, 11, 0.4); }
        .pg-icon-btn.del:hover { color: #ef4444; border-color: rgba(239, 68, 68, 0.4); }
        .btn-create-parcelamento {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 8px 16px;
            font-size: 12px;
            font-weight: 600;
            border-radius: 10px;
            border: 1px solid #047857;
            background: #059669;
            color: #ffffff;
            cursor: pointer;
            transition: all 0.2s ease;
            white-space: nowrap;
            box-shadow: 0 4px 14px rgba(5, 150, 105, 0.35);
        }
        .btn-create-parcelamento:hover {
            background: #047857;
            box-shadow: 0 6px 18px rgba(5, 150, 105, 0.5);
            transform: translateY(-1px);
        }
        .parcel-edit-overlay {
            z-index: 200;
            background: rgba(0, 0, 0, 0.78);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        .parcel-edit-box {
            width: 560px;
            max-width: min(95vw, 560px);
            background: #050506 !important;
            border: 1px solid rgba(255, 255, 255, 0.08) !important;
            border-radius: 22px;
            padding: 26px 30px;
            box-shadow: 0 32px 90px -15px rgba(0, 0, 0, 0.97), 0 0 0 1px rgba(255,255,255,0.03);
        }
        .parcel-edit-header {
            display: flex !important;
            justify-content: space-between !important;
            align-items: center !important;
            width: 100% !important;
            margin-bottom: 22px !important;
            padding-bottom: 16px !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
        }
        .parcel-edit-head-left {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .parcel-edit-icon-badge {
            width: 38px;
            height: 38px;
            border-radius: 10px;
            background: rgba(5, 150, 105, 0.15);
            border: 1px solid rgba(5, 150, 105, 0.3);
            color: #10b981;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 15px;
            flex-shrink: 0;
        }
        .parcel-edit-title {
            font-size: 17px !important;
            font-weight: 700 !important;
            color: #ffffff !important;
            margin: 0 0 2px 0 !important;
        }
        .parcel-edit-subtitle {
            font-size: 12px !important;
            color: #71717a !important;
            margin: 0 !important;
        }
        .parcel-edit-box .btn-close-modal {
            width: 32px !important;
            height: 32px !important;
            border-radius: 50% !important;
            background: rgba(255, 255, 255, 0.06) !important;
            border: 1px solid rgba(255, 255, 255, 0.08) !important;
            color: #71717a !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            font-size: 13px !important;
            cursor: pointer !important;
            transition: all 0.15s ease !important;
        }
        .parcel-edit-box .btn-close-modal:hover {
            color: #ffffff !important;
            background: rgba(255, 255, 255, 0.12) !important;
        }

        .pg-ultra-form {
            display: flex;
            flex-direction: column;
            gap: 16px;
        }
        .pg-hero-row, .pg-row {
            display: flex;
            gap: 12px;
            align-items: flex-end;
        }
        .flex-1 { flex: 1; min-width: 0; }
        .flex-2 { flex: 2; min-width: 0; }
        .flex-3 { flex: 3; min-width: 0; }

        .pg-field {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        .pg-label {
            font-size: 10px !important;
            font-weight: 700 !important;
            color: #71717a !important;
            text-transform: uppercase !important;
            letter-spacing: 0.8px !important;
            margin: 0 !important;
        }
        .pg-input, .pg-field-input {
            width: 100% !important;
            height: 42px !important;
            min-height: 42px !important;
            max-height: 42px !important;
            background: #0f0f12 !important;
            border: 1px solid rgba(255, 255, 255, 0.08) !important;
            border-radius: 10px !important;
            padding: 0 12px !important;
            font-size: 13px !important;
            font-weight: 500 !important;
            color: #ffffff !important;
            color-scheme: dark !important;
            outline: none !important;
            box-sizing: border-box !important;
            margin: 0 !important;
            transition: all 0.15s ease !important;
        }
        .pg-input:hover, .pg-field-input:hover {
            border-color: rgba(255, 255, 255, 0.15) !important;
        }
        .pg-input:focus, .pg-field-input:focus {
            border-color: #10b981 !important;
            background: #020d09 !important;
            box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.12), 0 0 14px rgba(16, 185, 129, 0.18) !important;
        }
        .pg-amount-wrapper {
            position: relative;
            display: flex;
            align-items: center;
        }
        .pg-currency-tag {
            position: absolute;
            left: 12px;
            font-size: 12px;
            font-weight: 700;
            color: #10b981;
            pointer-events: none;
        }
        .pg-amount-input {
            text-align: left !important;
            padding-left: 12px !important;
            font-weight: 700 !important;
            color: #10b981 !important;
        }

        .pg-ultra-form .custom-select-wrapper {
            margin: 0 !important;
            width: 100% !important;
        }
        .pg-ultra-form .custom-select-trigger {
            height: 42px !important;
            min-height: 42px !important;
            max-height: 42px !important;
            padding: 0 10px 0 12px !important;
            font-size: 13px !important;
            color: #ffffff !important;
            background: rgba(255, 255, 255, 0.03) !important;
            border: 1px solid rgba(255, 255, 255, 0.08) !important;
            border-radius: 10px !important;
            box-shadow: none !important;
            box-sizing: border-box !important;
            margin: 0 !important;
            transition: all 0.15s ease !important;
            cursor: pointer !important;
            width: 100% !important;
        }
        .pg-ultra-form .custom-select-trigger:hover {
            border-color: rgba(255, 255, 255, 0.15) !important;
        }
        .pg-ultra-form .custom-select.open .custom-select-trigger {
            border-color: #10b981 !important;
            background: rgba(2, 13, 9, 0.6) !important;
            box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
        }
        .pg-ultra-form .custom-select-trigger:after {
            font-size: 10px !important;
            color: #71717a !important;
        }
        .pg-ultra-form .cs-trigger-text {
            font-size: 13px !important;
            font-weight: 500 !important;
            color: #ffffff !important;
        }
        .pg-ultra-form .cs-search-input {
            font-size: 13px !important;
            caret-color: #10b981 !important;
            color: #ffffff !important;
        }
        .pg-ultra-form .cs-search-input::placeholder {
            color: #52525b !important;
            font-style: italic !important;
        }

        .pg-status-pills {
            display: flex;
            gap: 10px;
        }
        .pg-pill-btn {
            flex: 1;
            height: 40px;
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: #71717a;
            font-size: 13px;
            font-weight: 600;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            cursor: pointer;
            transition: all 0.15s ease;
        }
        .pg-pill-btn:hover {
            color: #ffffff;
            border-color: rgba(255, 255, 255, 0.15);
        }
        .pg-pill-btn.active-pending {
            background: rgba(245, 158, 11, 0.12);
            border-color: rgba(245, 158, 11, 0.35);
            color: #f59e0b;
        }
        .pg-pill-btn.active-paid {
            background: rgba(16, 185, 129, 0.12);
            border-color: rgba(16, 185, 129, 0.35);
            color: #10b981;
        }

        .pg-footer {
            display: flex;
            justify-content: flex-end;
            align-items: center;
            gap: 12px;
            margin-top: 4px;
            padding-top: 18px;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }
        .btn-pg-cancel {
            background: transparent;
            border: none;
            color: #71717a;
            font-size: 13px;
            font-weight: 500;
            padding: 9px 18px;
            border-radius: 10px;
            cursor: pointer;
            transition: color 0.15s ease;
        }
        .btn-pg-cancel:hover {
            color: #ffffff;
        }
        .btn-pg-save {
            background: #059669;
            border: none;
            color: #ffffff;
            font-size: 13px;
            font-weight: 600;
            padding: 9px 22px;
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.15s ease;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }
        .btn-pg-save:hover {
            background: #047857;
            transform: translateY(-1px);
            box-shadow: 0 4px 14px rgba(5, 150, 105, 0.4);
        }
        @media (max-width: 700px) {
            #parcelModalOverlay .parcel-modal-box {
                width: calc(100vw - 18px);
                max-width: calc(100vw - 18px);
                height: calc(100dvh - 22px);
                max-height: calc(100dvh - 22px);
            }
            .parcel-toolbar { align-items: stretch; flex-direction: column; }
            .parcel-filter-group { width: 100%; overflow-x: auto; }
            .parcel-toolbar-summary { white-space: normal; }
            .pg-header { align-items: flex-start; }
            .pg-split { grid-template-columns: 1fr; }
            .pg-item { grid-template-columns: minmax(0, 1fr) 78px; }
            .pg-paid-badge { grid-column: 1 / -1; justify-content: flex-start; width: fit-content; }
            .pg-item-date { display: none; }
            .pg-row-actions { grid-column: 1 / -1; justify-content: flex-start; }
            .pg-editor { grid-template-columns: 1fr; }
            .pg-editor-wide { grid-column: auto; }
            .parcel-edit-box {
                width: calc(100vw - 18px);
                max-width: calc(100vw - 18px);
            }
        }

        .conta-card {
            background: rgba(255,255,255,0.03); border: 1px solid var(--card-border);
            border-radius: 14px; padding: 14px 16px 14px 20px;
            display: flex; flex-direction: column; gap: 10px;
            transition: all 0.2s; position: relative; overflow: visible;
        }
        .conta-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; border-radius: 14px 0 0 14px; }
        .conta-card.default::before { background: var(--neon-green); }
        .conta-card:not(.default)::before { background: var(--neon-blue); }
        .conta-card.oculta-dash::before { background: var(--text-muted) !important; }
        .conta-card:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.15); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.3); }
        body.light-mode .conta-card { background: #fff; border-color: #e2e8f0; }
        body.light-mode .conta-card:hover { background: #f8fafc; }

        .conta-card-top { display: flex; align-items: center; gap: 12px; min-width: 0; }
        .conta-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
        .conta-info { flex: 1; min-width: 0; }
        .conta-nome { font-weight: 700; font-size: 13px; color: var(--text-main); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .conta-banco { font-size: 11px; color: var(--text-sec); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .conta-saldo-block { flex-shrink: 0; text-align: right; }
        .conta-saldo { font-weight: 800; font-size: 15px; }
        .conta-saldo-inicial { font-size: 10px; color: var(--text-muted); margin-top: 1px; }

        .conta-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
        .conta-badges { display: flex; gap: 5px; flex-wrap: wrap; align-items: center; }
        .conta-actions { display: flex; gap: 4px; flex-shrink: 0; }
        .conta-actions .action-btn { font-size: 11px; padding: 5px 8px; }

        .conta-badge-default { font-size: 9px; font-weight: 800; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; background: rgba(0,230,118,0.15); color: var(--neon-green); border: 1px solid rgba(0,230,118,0.3); letter-spacing: 0.5px; display: inline-flex; align-items: center; gap: 3px; }
        .conta-badge-oculta  { font-size: 9px; font-weight: 800; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; background: rgba(100,116,139,0.15); color: var(--text-muted); border: 1px solid rgba(100,116,139,0.3); letter-spacing: 0.5px; display: inline-flex; align-items: center; gap: 4px; }
        .contas-list .conta-card {
            border-radius: 8px;
            padding: 18px 20px;
            gap: 14px;
            background:
                linear-gradient(135deg, rgba(0,229,255,0.045), rgba(255,255,255,0.012) 42%),
                #080808;
            border-color: rgba(255,255,255,0.08);
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
        }
        .contas-list .conta-card.default {
            background:
                linear-gradient(135deg, rgba(0,230,118,0.07), rgba(0,229,255,0.025) 46%),
                #080808;
        }
        .contas-list .conta-card:hover {
            transform: translateY(-1px);
            border-color: rgba(0,229,255,0.22);
            box-shadow: 0 12px 34px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.06);
        }
        .contas-list .conta-card-top {
            display: grid;
            grid-template-columns: 52px minmax(0, 1fr) auto;
            gap: 14px;
            align-items: center;
        }
        .contas-list .conta-icon {
            width: 52px;
            height: 52px;
            border-radius: 8px;
            font-size: 21px;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
        }
        .contas-list .conta-nome {
            font-size: 16px;
            font-weight: 900;
            letter-spacing: 0;
        }
        .contas-list .conta-banco {
            font-size: 12px;
            font-weight: 700;
            margin-top: 4px;
        }
        .contas-list .conta-saldo-block {
            min-width: 158px;
            padding: 10px 12px;
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: 8px;
            background: rgba(0,0,0,0.2);
        }
        .conta-saldo-label {
            color: var(--text-muted);
            font-size: 9px;
            font-weight: 900;
            text-transform: uppercase;
            margin-bottom: 4px;
        }
        .contas-list .conta-saldo {
            font-size: 18px;
            font-weight: 900;
            line-height: 1.05;
        }
        .contas-list .conta-saldo-inicial {
            font-size: 11px;
            font-weight: 700;
            margin-top: 4px;
        }
        .contas-list .conta-card-bottom {
            padding-left: 66px;
            align-items: center;
        }
        .contas-list .conta-badge-default,
        .contas-list .conta-badge-oculta {
            border-radius: 8px;
            min-height: 24px;
            padding: 0 10px;
        }
        .contas-list .conta-actions {
            gap: 8px;
        }
        .contas-list .conta-actions .action-btn {
            width: 34px;
            height: 34px;
            padding: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            background: rgba(255,255,255,0.035);
            border-color: rgba(255,255,255,0.08);
        }
        .contas-list .conta-action-extrato { color: #00E5FF !important; }
        .contas-list .conta-action-default { color: var(--neon-yellow) !important; }
        .contas-list .conta-action-edit { color: #93c5fd !important; }
        .contas-list .conta-action-delete { color: var(--neon-red) !important; }
        body.light-mode .contas-list .conta-card,
        body.light-mode .contas-list .conta-card.default {
            background: #ffffff;
            border-color: #e2e8f0;
            box-shadow: 0 1px 2px rgba(15,23,42,0.04);
        }
        body.light-mode .contas-list .conta-card:hover {
            background: #f8fafc;
            border-color: #bfdbfe;
            box-shadow: 0 12px 28px rgba(15,23,42,0.08);
        }
        body.light-mode .contas-list .conta-saldo-block,
        body.light-mode .contas-list .conta-actions .action-btn {
            background: #f8fafc;
            border-color: #e2e8f0;
        }

        @media (max-width: 720px) {
            .contas-list .conta-card {
                padding: 16px;
                gap: 14px;
            }
            .contas-list .conta-card-top {
                grid-template-columns: 46px minmax(0, 1fr);
                align-items: start;
            }
            .contas-list .conta-icon {
                width: 46px;
                height: 46px;
                font-size: 19px;
            }
            .contas-list .conta-saldo-block {
                grid-column: 1 / -1;
                width: 100%;
                min-width: 0;
                margin-top: 2px;
                padding: 12px;
            }
            .contas-list .conta-card-bottom {
                padding-left: 0;
                gap: 12px;
            }
            .contas-list .conta-actions {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                width: 100%;
                gap: 8px;
            }
            .contas-list .conta-actions .action-btn {
                width: 100%;
                min-height: 42px;
                gap: 8px;
                font-size: 12px;
                font-weight: 900;
            }
            .contas-list .conta-actions .action-btn::after {
                content: attr(data-label);
                color: var(--text-sec);
                font-size: 11px;
                font-weight: 900;
            }
            .contas-list .conta-nome { font-size: 15px; }
        }
        /* CONTAS MODAL REDESIGN */
        #contasModalOverlay { backdrop-filter: none; -webkit-backdrop-filter: none; padding: 18px; }
        #contasModalOverlay .contas-split-modal {
            width: min(620px, calc(100vw - 28px));
            max-width: 620px;
            height: fit-content;
            max-height: min(85vh, 640px);
            align-self: center;
            display: flex;
            flex-direction: column;
            padding: 0;
            overflow: hidden;
            border-radius: 16px;
        }
        .contas-modal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            padding: 20px 24px 16px;
            border-bottom: 1px solid var(--card-border);
            flex-shrink: 0;
        }
        .contas-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: #00E5FF;
            font-size: 11px;
            font-weight: 900;
            text-transform: uppercase;
            margin-bottom: 6px;
        }
        .contas-body {
            flex: 1 1 auto;
            min-height: 0;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        .contas-body.form-open { grid-template-columns: minmax(0, 1fr) 390px; }
        .contas-list-panel {
            min-width: 0;
            display: flex;
            flex-direction: column;
            flex: 1 1 auto;
            min-height: 0;
            overflow: hidden;
        }
        .contas-toolbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            padding: 16px 24px;
            border-bottom: 1px solid var(--card-border);
            flex-shrink: 0;
        }
        .contas-toolbar-title { color: var(--text-main); font-size: 16px; font-weight: 900; }
        .contas-toolbar-copy { color: var(--text-sec); font-size: 12px; font-weight: 700; margin-top: 3px; }
        .contas-new-btn {
            min-height: 42px;
            padding: 0 15px;
            border: 1px solid rgba(0,229,255,0.25);
            border-radius: 8px;
            background: rgba(0,229,255,0.1);
            color: #00E5FF;
            font-weight: 900;
            font-size: 12px;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            white-space: nowrap;
        }
        .contas-new-btn:hover { background: rgba(0,229,255,0.16); }
        .contas-list {
            flex: 1 1 auto;
            min-height: 0;
            padding: 16px 20px 24px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            box-sizing: border-box;
            overflow-y: auto;
            overflow-x: hidden;
        }
        .contas-form-panel {
            display: none;
            flex-direction: column;
            min-height: 0;
            overflow-y: auto;
            padding: 18px;
            border-left: 1px solid var(--card-border);
            background: rgba(0,0,0,0.12);
        }
        .contas-form-panel.active { display: flex; }
        .contas-form-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 16px;
        }
        .contas-form-head > div {
            font-size: 12px;
            font-weight: 900;
            color: var(--text-sec);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            display: flex;
            align-items: center;
            gap: 7px;
        }
        .contas-form-head i { color: #00E5FF; }
        .contas-form-panel .form-input,
        .contas-form-panel .form-select { margin-bottom: 14px; border-radius: 8px; }
        .conta-dashboard-toggle {
            margin-bottom: 16px;
            padding: 12px 14px;
            background: rgba(41,121,255,0.06);
            border: 1px solid rgba(41,121,255,0.2);
            border-radius: 8px;
        }
        .conta-dashboard-toggle .toggle-row { margin: 0; align-items: center; gap: 12px; padding: 0; }
        .conta-dashboard-toggle .toggle-switch { flex-shrink: 0; margin-right: 0; }
        .conta-toggle-copy { font-size: 11px; color: var(--text-muted); margin-top: 3px; font-weight: 600; line-height: 1.35; }
        .contas-form-actions { margin-top: auto; display: flex; gap: 10px; }
        .contas-form-actions .btn-submit { margin-top: 0; flex: 1; padding: 14px; background: var(--neon-blue); color: #fff; border-radius: 8px; }
        .contas-form-actions #btnCancelEditConta { display: flex; background: rgba(255,255,255,0.08); color: var(--text-sec); border: 1px solid var(--card-border); }
        body.light-mode #contasModalOverlay .contas-split-modal,
        body.light-mode .contas-form-panel { background: #ffffff; border-color: #e2e8f0; }
        body.light-mode .contas-toolbar,
        body.light-mode .contas-modal-header { border-color: #e2e8f0; }
        body.light-mode .conta-dashboard-toggle { background: #eff6ff; border-color: #bfdbfe; }

        @media (max-width: 720px) {
            #contasModalOverlay { padding: 10px; align-items: flex-end; }
            #contasModalOverlay .contas-split-modal {
                width: 100%;
                max-width: 100%;
                height: calc(100dvh - 20px);
                max-height: calc(100dvh - 20px);
            }
            .contas-modal-header { padding: 16px; }
            .contas-toolbar { padding: 14px 16px; align-items: flex-start; }
            .contas-toolbar-copy { display: none; }
            .contas-new-btn { min-height: 40px; padding: 0 12px; }
            .contas-list { padding: 14px 16px 16px; gap: 10px; }
            .contas-body,
            .contas-body.form-open { display: flex; flex-direction: column; position: relative; }
            .contas-list-panel { height: auto; max-height: 100%; }
            .contas-form-panel {
                position: absolute;
                inset: 0;
                z-index: 4;
                border-left: none;
                padding: 16px;
                background: #070707;
            }
            .contas-form-row { flex-direction: column; gap: 0; }
            .contas-form-actions {
                position: sticky;
                bottom: 0;
                padding-top: 12px;
                background: inherit;
            }
            .conta-card { padding: 14px 14px 14px 18px; border-radius: 8px; }
            .conta-card::before { border-radius: 8px 0 0 8px; }
            .conta-card-top { align-items: flex-start; }
            .conta-icon { width: 38px; height: 38px; border-radius: 8px; }
            .conta-nome { font-size: 14px; white-space: normal; }
            .conta-banco { white-space: normal; line-height: 1.25; }
            .conta-saldo-block { text-align: left; width: 100%; padding-left: 50px; }
            .conta-card-top { flex-wrap: wrap; }
            .conta-card-bottom { align-items: stretch; }
            .conta-badges { width: 100%; }
            .conta-actions { width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
            .conta-actions .action-btn { min-height: 38px; border-radius: 8px; }
            body.light-mode .contas-form-panel { background: #ffffff; }
        }


        /* CONTAS LIST SOFTEN */
        .contas-list .conta-card,
        .contas-list .conta-card.default {
            border-radius: 8px;
            background: #090909;
            border-color: rgba(255,255,255,0.075);
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
            padding: 18px 20px;
        }
        .contas-list .conta-card.default::before { background: var(--neon-green); }
        .contas-list .conta-card:not(.default)::before { background: #64748b; }
        .contas-list .conta-card.oculta-dash::before { background: #64748b !important; }
        .contas-list .conta-card:hover {
            background: #0d0d0d;
            border-color: rgba(255,255,255,0.14);
            transform: translateY(-1px);
            box-shadow: 0 10px 26px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.045);
        }
        .contas-list .conta-icon {
            background: rgba(148,163,184,0.09) !important;
            color: #cbd5e1 !important;
            border: 1px solid rgba(255,255,255,0.07);
        }
        .contas-list .conta-card.default .conta-icon {
            background: rgba(0,230,118,0.09) !important;
            color: var(--neon-green) !important;
            border-color: rgba(0,230,118,0.14);
        }
        .contas-list .conta-saldo-block {
            background: transparent;
            border-color: rgba(255,255,255,0.08);
        }
        .contas-list .conta-actions .action-btn {
            background: rgba(255,255,255,0.025);
            border-color: rgba(255,255,255,0.075);
        }
        .contas-list .conta-actions .action-btn:hover {
            background: rgba(255,255,255,0.065);
            border-color: rgba(255,255,255,0.14);
        }
        body.light-mode .contas-list .conta-card,
        body.light-mode .contas-list .conta-card.default {
            background: #ffffff;
            border-color: #e2e8f0;
        }
        body.light-mode .contas-list .conta-card:hover {
            background: #f8fafc;
            border-color: #cbd5e1;
        }
        body.light-mode .contas-list .conta-icon {
            background: #f1f5f9 !important;
            color: #475569 !important;
            border-color: #e2e8f0;
        }
        body.light-mode .contas-list .conta-card.default .conta-icon {
            background: #ecfdf5 !important;
            color: var(--neon-green) !important;
            border-color: #bbf7d0;
        }
        body.light-mode .contas-list .conta-saldo-block,
        body.light-mode .contas-list .conta-actions .action-btn {
            background: transparent;
            border-color: #e2e8f0;
        }

        @media (max-width: 720px) {
            .contas-list .conta-card,
            .contas-list .conta-card.default {
                border-radius: 8px;
                padding: 16px;
            }
            .contas-list .conta-saldo-block {
                padding: 12px;
            }
            .contas-list .conta-actions .action-btn {
                min-height: 42px;
            }
        }

        /* CONTAS LIST COMPACT */
        .contas-list { gap: 10px; padding-top: 16px; }
        .contas-list .conta-card,
        .contas-list .conta-card.default {
            min-height: 104px;
            padding: 14px 18px;
            gap: 8px;
        }
        .contas-list .conta-card-top {
            grid-template-columns: 44px minmax(0, 1fr) minmax(140px, auto) auto;
            gap: 12px;
        }
        .contas-list .conta-icon {
            width: 44px;
            height: 44px;
            font-size: 18px;
        }
        .contas-list .conta-nome { font-size: 15px; }
        .contas-list .conta-banco { font-size: 11px; margin-top: 2px; }
        .contas-list .conta-saldo-block {
            min-width: 138px;
            padding: 8px 10px;
        }
        .conta-saldo-label { font-size: 8px; margin-bottom: 3px; }
        .contas-list .conta-saldo { font-size: 16px; }
        .contas-list .conta-saldo-inicial { font-size: 10px; margin-top: 2px; }
        .contas-list .conta-card-bottom {
            padding-left: 56px;
            margin-top: -2px;
        }
        .contas-list .conta-badge-default,
        .contas-list .conta-badge-oculta {
            min-height: 22px;
            padding: 0 9px;
            font-size: 8px;
        }
        .contas-list .conta-actions .action-btn {
            width: 32px;
            height: 32px;
        }

        @media (min-width: 721px) {
            .contas-list .conta-card-bottom {
                display: contents;
            }
            .contas-list .conta-badges {
                grid-column: 2;
                align-self: start;
                margin-top: -14px;
            }
            .contas-list .conta-actions {
                grid-column: 4;
                grid-row: 1;
                align-self: end;
                justify-self: end;
            }
            .contas-list .conta-card {
                display: grid;
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 720px) {
            .contas-list .conta-card,
            .contas-list .conta-card.default {
                min-height: 0;
                padding: 14px;
            }
            .contas-list .conta-card-top {
                grid-template-columns: 40px minmax(0, 1fr);
                gap: 10px;
            }
            .contas-list .conta-icon {
                width: 40px;
                height: 40px;
                font-size: 17px;
            }
            .contas-list .conta-saldo-block {
                padding: 10px;
            }
        }

        /* CONTAS LIST BALANCED */
        .contas-list .conta-card,
        .contas-list .conta-card.default {
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: 48px minmax(0, 1fr) 172px auto;
            grid-template-areas:
                "icon info saldo actions"
                "icon badges saldo actions";
            align-items: center;
            column-gap: 14px;
            row-gap: 8px;
            min-height: 96px;
            padding: 14px 16px;
            border-radius: 8px;
            background: #090909;
        }
        .conta-progress {
            position: absolute;
            inset: 0 auto 0 0;
            width: 0;
            background: linear-gradient(90deg, color-mix(in srgb, var(--conta-progress-color) 22%, transparent), transparent 88%);
            opacity: 0.42;
            pointer-events: none;
            z-index: 0;
        }
        .conta-progress::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 2px;
            background: var(--conta-progress-color);
            opacity: 0.65;
            box-shadow: 0 0 12px var(--conta-progress-color);
        }
        .contas-list .conta-card > * { position: relative; z-index: 1; }
        .contas-list .conta-card::before { z-index: 2; border-radius: 8px 0 0 8px; }
        .contas-list .conta-card-top,
        .contas-list .conta-card-bottom { display: contents; }
        .contas-list .conta-icon {
            grid-area: icon;
            width: 44px;
            height: 44px;
            border-radius: 8px;
            font-size: 18px;
        }
        .contas-list .conta-info { grid-area: info; }
        .contas-list .conta-nome { font-size: 15px; line-height: 1.15; }
        .contas-list .conta-banco { font-size: 11px; margin-top: 3px; }
        .contas-list .conta-saldo-block {
            grid-area: saldo;
            min-width: 0;
            width: 172px;
            padding: 8px 10px;
            text-align: right;
            border-radius: 8px;
            background: rgba(0,0,0,0.18);
        }
        .contas-list .conta-saldo { font-size: 16px; }
        .contas-list .conta-badges {
            grid-area: badges;
            width: auto;
            margin: 0;
        }
        .contas-list .conta-actions {
            grid-area: actions;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            gap: 8px;
            width: auto;
        }
        .contas-list .conta-actions .action-btn {
            width: auto;
            height: 34px;
            min-height: 34px;
            padding: 0 10px;
            gap: 7px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 8px;
            font-size: 11px;
            font-weight: 900;
            white-space: nowrap;
        }
        .contas-list .conta-actions .action-btn::after {
            content: attr(data-label);
            color: var(--text-sec);
            font-size: 10px;
            font-weight: 900;
        }
        body.light-mode .conta-progress {
            opacity: 0.26;
        }

        @media (max-width: 720px) {
            .contas-list .conta-card,
            .contas-list .conta-card.default {
                grid-template-columns: 42px minmax(0, 1fr);
                grid-template-areas:
                    "icon info"
                    "saldo saldo"
                    "badges badges"
                    "actions actions";
                min-height: 0;
                padding: 14px;
                row-gap: 10px;
                column-gap: 10px;
            }
            .contas-list .conta-icon {
                width: 42px;
                height: 42px;
                font-size: 17px;
            }
            .contas-list .conta-saldo-block {
                width: 100%;
                text-align: left;
                padding: 10px;
            }
            .contas-list .conta-actions {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                width: 100%;
                gap: 8px;
            }
            .contas-list .conta-actions .action-btn {
                width: 100%;
                min-height: 40px;
            }
        }

        /* CONTAS MOBILE FLOW FIX */
        @media (max-width: 720px) {
            #contasModalOverlay .contas-split-modal {
                overflow: hidden;
            }
            .contas-body,
            .contas-body.form-open {
                min-height: 0;
                overflow: hidden;
            }
            .contas-list-panel {
                min-height: 0;
            }
            .contas-list {
                min-height: 0;
                overflow-y: auto;
                padding-bottom: calc(22px + env(safe-area-inset-bottom));
            }
            .contas-list .conta-card,
            .contas-list .conta-card.default {
                display: flex;
                flex-direction: column;
                min-height: 0;
                height: auto;
                overflow: visible;
                gap: 10px;
                padding: 14px 14px 16px;
            }
            .contas-list .conta-card-top {
                display: grid;
                grid-template-columns: 42px minmax(0, 1fr);
                gap: 10px;
                align-items: start;
            }
            .contas-list .conta-card-bottom {
                display: flex;
                flex-direction: column;
                gap: 10px;
                padding-left: 0;
                margin-top: 0;
            }
            .contas-list .conta-saldo-block {
                grid-column: 1 / -1;
                width: 100%;
                text-align: left;
                margin-top: 2px;
            }
            .contas-list .conta-badges {
                width: 100%;
            }
            .contas-list .conta-actions {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 8px;
                width: 100%;
            }
            .contas-list .conta-actions .action-btn {
                width: 100%;
                min-height: 40px;
                height: 40px;
            }
        }

        /* CONTAS FINAL REDESIGN */
        #contasModalOverlay {
            padding: 22px !important;
            align-items: center !important;
            justify-content: center !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }
        #contasModalOverlay .contas-split-modal {
            width: min(620px, calc(100vw - 28px)) !important;
            max-width: 620px !important;
            height: fit-content !important;
            max-height: min(85vh, 640px) !important;
            align-self: center !important;
            position: relative !important;
            display: flex !important;
            flex-direction: column !important;
            overflow: hidden !important;
            padding: 0 !important;
            border-radius: 16px !important;
            background: #070707 !important;
            border: 1px solid rgba(255,255,255,0.07) !important;
            box-shadow: 0 20px 50px rgba(0,0,0,0.8), 0 1px 0 rgba(255,255,255,0.05) inset !important;
        }
        #contasModalOverlay .contas-modal-header {
            padding: 18px 22px 16px !important;
            min-height: 86px !important;
            border-bottom: 1px solid rgba(255,255,255,0.08) !important;
            background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0)) !important;
            flex-shrink: 0 !important;
        }
        #contasModalOverlay .modal-title {
            font-size: 21px !important;
            line-height: 1.1 !important;
            color: var(--text-main) !important;
        }
        #contasModalOverlay .contas-eyebrow {
            color: #00E5FF !important;
            font-size: 11px !important;
            letter-spacing: 0 !important;
            margin-bottom: 7px !important;
        }
        #contasModalOverlay .contas-body,
        #contasModalOverlay .contas-body.form-open {
            display: flex !important;
            flex-direction: column !important;
            position: relative !important;
            flex: 1 1 auto !important;
            min-height: 0 !important;
            overflow: hidden !important;
            box-sizing: border-box !important;
        }
        #contasModalOverlay .contas-list-panel {
            width: 100% !important;
            flex: 1 1 auto !important;
            min-height: 0 !important;
            display: flex !important;
            flex-direction: column !important;
            overflow: hidden !important;
            margin: 0 auto !important;
        }
        #contasModalOverlay .contas-toolbar {
            width: 100% !important;
            max-width: 780px !important;
            margin: 0 auto !important;
            padding: 18px 0 16px !important;
            border-bottom: 0 !important;
        }
        #contasModalOverlay .contas-toolbar-title {
            font-size: 18px !important;
            line-height: 1.1 !important;
            color: var(--text-main) !important;
        }
        #contasModalOverlay .contas-toolbar-copy {
            color: var(--text-sec) !important;
            font-size: 12px !important;
            margin-top: 5px !important;
        }
        #contasModalOverlay .contas-new-btn {
            height: 42px !important;
            min-height: 42px !important;
            padding: 0 16px !important;
            border-radius: 8px !important;
            background: rgba(0,229,255,0.08) !important;
            border: 1px solid rgba(0,229,255,0.28) !important;
            color: #00E5FF !important;
            box-shadow: none !important;
        }
        #contasModalOverlay .contas-list {
            width: 100% !important;
            max-width: 780px !important;
            margin: 0 auto !important;
            padding: 16px 20px 12px !important;
            gap: 10px !important;
            flex: 1 1 auto !important;
            min-height: 0 !important;
            overflow-y: auto !important;
            overflow-x: hidden !important;
            box-sizing: border-box !important;
        }
        #contasModalOverlay .conta-card,
        #contasModalOverlay .conta-card.default {
            position: relative !important;
            display: grid !important;
            grid-template-columns: 48px minmax(0, 1fr) 160px auto !important;
            grid-template-areas: "icon info saldo actions" "icon badges saldo actions" !important;
            align-items: center !important;
            min-height: 96px !important;
            gap: 8px 14px !important;
            padding: 14px 14px 14px 18px !important;
            overflow: hidden !important;
            border-radius: 8px !important;
            border: 1px solid rgba(255,255,255,0.09) !important;
            background: #090909 !important;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.04) !important;
            transform: none !important;
        }
        #contasModalOverlay .conta-card:hover {
            background: #0c0c0c !important;
            border-color: rgba(0,229,255,0.2) !important;
            transform: translateY(-1px) !important;
        }
        #contasModalOverlay .conta-card::before {
            content: '' !important;
            position: absolute !important;
            inset: 0 auto 0 0 !important;
            width: 3px !important;
            border-radius: 8px 0 0 8px !important;
            background: #64748b !important;
            z-index: 2 !important;
        }
        #contasModalOverlay .conta-card.default::before { background: var(--neon-green) !important; }
        #contasModalOverlay .conta-card.oculta-dash::before { background: #7c8aa0 !important; }
        #contasModalOverlay .conta-progress {
            position: absolute !important;
            inset: 0 auto 0 0 !important;
            height: 100% !important;
            width: 0;
            background: linear-gradient(90deg, color-mix(in srgb, var(--conta-progress-color) 20%, transparent), transparent 82%) !important;
            opacity: 0.34 !important;
            pointer-events: none !important;
            z-index: 0 !important;
        }
        #contasModalOverlay .conta-progress::after {
            content: '' !important;
            position: absolute !important;
            left: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            height: 2px !important;
            background: var(--conta-progress-color) !important;
            opacity: 0.72 !important;
            box-shadow: 0 0 14px var(--conta-progress-color) !important;
        }
        #contasModalOverlay .conta-card > * { position: relative !important; }
        #contasModalOverlay .conta-icon,
        #contasModalOverlay .conta-info,
        #contasModalOverlay .conta-saldo-block,
        #contasModalOverlay .conta-badges,
        #contasModalOverlay .conta-actions { position: relative !important; z-index: 1 !important; }
        #contasModalOverlay .conta-card-top,
        #contasModalOverlay .conta-card-bottom { display: contents !important; }
        #contasModalOverlay .conta-icon {
            grid-area: icon !important;
            width: 44px !important;
            height: 44px !important;
            border-radius: 8px !important;
            border: 1px solid rgba(255,255,255,0.08) !important;
            background: rgba(0,229,255,0.08) !important;
            color: #00E5FF !important;
            font-size: 18px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
        }
        #contasModalOverlay .conta-info { grid-area: info !important; min-width: 0 !important; }
        #contasModalOverlay .conta-nome {
            max-width: 100% !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
            color: var(--text-main) !important;
            font-size: 15px !important;
            font-weight: 900 !important;
            line-height: 1.15 !important;
        }
        #contasModalOverlay .conta-banco {
            max-width: 100% !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
            color: var(--text-sec) !important;
            font-size: 11px !important;
            font-weight: 700 !important;
            margin-top: 4px !important;
        }
        #contasModalOverlay .conta-saldo-block {
            grid-area: saldo !important;
            width: 160px !important;
            min-width: 160px !important;
            padding: 9px 11px !important;
            text-align: right !important;
            background: rgba(0,0,0,0.2) !important;
            border: 1px solid rgba(255,255,255,0.08) !important;
            border-radius: 8px !important;
        }
        #contasModalOverlay .conta-saldo-label {
            margin-bottom: 4px !important;
            color: var(--text-muted) !important;
            font-size: 8px !important;
            font-weight: 900 !important;
            text-transform: uppercase !important;
        }
        #contasModalOverlay .conta-saldo {
            font-size: 17px !important;
            line-height: 1.05 !important;
            font-weight: 900 !important;
            white-space: nowrap !important;
        }
        #contasModalOverlay .conta-saldo-inicial {
            margin-top: 4px !important;
            color: var(--text-sec) !important;
            font-size: 10px !important;
            font-weight: 700 !important;
            white-space: nowrap !important;
        }
        #contasModalOverlay .conta-badges {
            grid-area: badges !important;
            display: flex !important;
            align-items: center !important;
            gap: 6px !important;
            width: auto !important;
            min-height: 24px !important;
            margin: 0 !important;
            padding: 0 !important;
        }
        #contasModalOverlay .conta-badge-default,
        #contasModalOverlay .conta-badge-oculta {
            height: 22px !important;
            min-height: 22px !important;
            padding: 0 9px !important;
            border-radius: 8px !important;
            font-size: 8px !important;
            line-height: 22px !important;
            white-space: nowrap !important;
        }
        #contasModalOverlay .conta-actions {
            grid-area: actions !important;
            width: auto !important;
            display: flex !important;
            align-items: center !important;
            justify-content: flex-end !important;
            gap: 7px !important;
            margin: 0 !important;
        }
        #contasModalOverlay .conta-actions .action-btn {
            width: auto !important;
            min-width: 76px !important;
            height: 34px !important;
            min-height: 34px !important;
            padding: 0 10px !important;
            border-radius: 8px !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 7px !important;
            background: rgba(255,255,255,0.035) !important;
            border: 1px solid rgba(255,255,255,0.08) !important;
            color: var(--text-sec) !important;
            font-size: 11px !important;
            font-weight: 900 !important;
            white-space: nowrap !important;
        }
        #contasModalOverlay .conta-actions .action-btn::after {
            content: attr(data-label) !important;
            color: var(--text-sec) !important;
            font-size: 10px !important;
            font-weight: 900 !important;
        }
        #contasModalOverlay .conta-action-extrato i { color: #00E5FF !important; }
        #contasModalOverlay .conta-action-default i { color: var(--neon-yellow) !important; }
        #contasModalOverlay .conta-action-edit i { color: #93c5fd !important; }
        #contasModalOverlay .conta-action-delete i { color: var(--neon-red) !important; }
        #contasModalOverlay .contas-form-panel {
            display: none !important;
            position: absolute !important;
            inset: 0 !important;
            z-index: 20 !important;
            overflow-y: auto !important;
            padding: 22px !important;
            border-left: 0 !important;
            background: #060606 !important;
            flex-direction: column !important;
            align-items: center !important;
        }
        #contasModalOverlay .contas-form-panel.active { display: flex !important; }
        #contasModalOverlay .contas-form-panel > * {
            width: min(560px, 100%) !important;
        }
        #contasModalOverlay .contas-form-head {
            margin-bottom: 18px !important;
            padding-bottom: 12px !important;
            border-bottom: 1px solid rgba(255,255,255,0.08) !important;
        }
        #contasModalOverlay .contas-form-panel .form-input,
        #contasModalOverlay .contas-form-panel .form-select {
            width: min(560px, 100%) !important;
            border-radius: 8px !important;
        }
        #contasModalOverlay .contas-form-row {
            width: min(560px, 100%) !important;
            gap: 12px !important;
        }
        #contasModalOverlay .conta-dashboard-toggle {
            width: min(560px, 100%) !important;
            border-radius: 8px !important;
            background: rgba(41,121,255,0.07) !important;
        }
        #contasModalOverlay .contas-form-actions {
            width: min(560px, 100%) !important;
            margin-top: auto !important;
            padding-top: 18px !important;
        }
        body.light-mode #contasModalOverlay .contas-split-modal,
        body.light-mode #contasModalOverlay .modal-box.contas-split-modal,
        body.light-mode #contasModalOverlay .contas-form-panel {
            background: #ffffff !important;
            border-color: #e2e8f0 !important;
            box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12), 0 4px 12px rgba(15, 23, 42, 0.06) !important;
        }
        body.light-mode #contasModalOverlay .contas-modal-header { border-color: #e2e8f0 !important; }
        body.light-mode #contasModalOverlay .conta-card,
        body.light-mode #contasModalOverlay .conta-card.default {
            background: #ffffff !important;
            border-color: #e2e8f0 !important;
            box-shadow: 0 1px 2px rgba(15,23,42,0.04) !important;
        }
        body.light-mode #contasModalOverlay .conta-card:hover { background: #f8fafc !important; }
        body.light-mode #contasModalOverlay .conta-saldo-block,
        body.light-mode #contasModalOverlay .conta-actions .action-btn {
            background: #f8fafc !important;
            border-color: #e2e8f0 !important;
        }
        body.light-mode #contasModalOverlay .conta-progress { opacity: 0.2 !important; }

        @media (max-width: 980px) {
            #contasModalOverlay .conta-card,
            #contasModalOverlay .conta-card.default {
                grid-template-columns: 48px minmax(0, 1fr) 150px !important;
                grid-template-areas: "icon info saldo" "badges badges badges" "actions actions actions" !important;
            }
            #contasModalOverlay .conta-actions {
                display: grid !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                width: 100% !important;
            }
            #contasModalOverlay .conta-actions .action-btn {
                width: 100% !important;
                min-width: 0 !important;
            }
        }

        @media (max-width: 720px) {
            #contasModalOverlay {
                padding: 8px !important;
                align-items: center !important;
            }
            #contasModalOverlay .contas-split-modal {
                width: 100% !important;
                height: fit-content !important;
                max-height: calc(100dvh - 16px) !important;
                align-self: center !important;
                border-radius: 8px !important;
            }
            #contasModalOverlay .contas-modal-header {
                min-height: 98px !important;
                padding: 18px 20px !important;
            }
            #contasModalOverlay .modal-title { font-size: 20px !important; }
            #contasModalOverlay .contas-toolbar {
                max-width: none !important;
                padding: 16px 20px !important;
                align-items: center !important;
                border-bottom: 1px solid rgba(255,255,255,0.07) !important;
            }
            #contasModalOverlay .contas-toolbar-copy { display: none !important; }
            #contasModalOverlay .contas-new-btn {
                height: 44px !important;
                min-width: 142px !important;
            }
            #contasModalOverlay .contas-list {
                max-width: none !important;
                padding: 14px 20px calc(22px + env(safe-area-inset-bottom)) !important;
                gap: 12px !important;
            }
            #contasModalOverlay .conta-card,
            #contasModalOverlay .conta-card.default {
                display: flex !important;
                flex-direction: column !important;
                align-items: stretch !important;
                min-height: 0 !important;
                padding: 14px !important;
                gap: 12px !important;
                overflow: hidden !important;
            }
            #contasModalOverlay .conta-card-top,
            #contasModalOverlay .conta-card-bottom {
                display: flex !important;
                width: 100% !important;
            }
            #contasModalOverlay .conta-card-top {
                display: grid !important;
                grid-template-columns: 44px minmax(0, 1fr) !important;
                gap: 10px !important;
                align-items: center !important;
            }
            #contasModalOverlay .conta-card-bottom {
                flex-direction: column !important;
                gap: 10px !important;
            }
            #contasModalOverlay .conta-icon {
                width: 44px !important;
                height: 44px !important;
                font-size: 18px !important;
            }
            #contasModalOverlay .conta-nome {
                white-space: normal !important;
                overflow: visible !important;
                display: block !important;
                font-size: 15px !important;
            }
            #contasModalOverlay .conta-banco {
                white-space: normal !important;
                overflow: visible !important;
                line-height: 1.25 !important;
            }
            #contasModalOverlay .conta-saldo-block {
                width: 100% !important;
                min-width: 0 !important;
                text-align: left !important;
                padding: 10px !important;
                margin-top: 0 !important;
                grid-column: 1 / -1 !important;
            }
            #contasModalOverlay .conta-badges {
                width: 100% !important;
                min-height: 0 !important;
                flex-wrap: wrap !important;
            }
            #contasModalOverlay .conta-actions {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                width: 100% !important;
                gap: 8px !important;
            }
            #contasModalOverlay .conta-actions .action-btn {
                width: 100% !important;
                min-width: 0 !important;
                height: 42px !important;
                min-height: 42px !important;
            }
            #contasModalOverlay .contas-form-panel {
                padding: 18px 20px calc(18px + env(safe-area-inset-bottom)) !important;
            }
            #contasModalOverlay .contas-form-row {
                flex-direction: column !important;
                gap: 0 !important;
            }
            #contasModalOverlay .contas-form-actions {
                position: sticky !important;
                bottom: 0 !important;
                background: inherit !important;
                flex-direction: column !important;
            }
            #contasModalOverlay .contas-form-actions .btn-submit {
                width: 100% !important;
            }
        }

        /* CONTAS ALIGNMENT HOTFIX */
        @media (min-width: 981px) {
            #contasModalOverlay .contas-list { max-width: 760px !important; }
            #contasModalOverlay .contas-toolbar { max-width: 760px !important; }
            #contasModalOverlay .conta-card,
            #contasModalOverlay .conta-card.default {
                grid-template-columns: 46px minmax(0, 1fr) 170px !important;
                grid-template-areas:
                    "icon info saldo"
                    "icon badges saldo"
                    "actions actions actions" !important;
                min-height: 128px !important;
                row-gap: 10px !important;
            }
            #contasModalOverlay .conta-actions {
                width: 100% !important;
                display: grid !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                gap: 8px !important;
                justify-content: stretch !important;
                align-self: stretch !important;
                margin-top: 2px !important;
            }
            #contasModalOverlay .conta-actions .action-btn {
                width: 100% !important;
                min-width: 0 !important;
                height: 36px !important;
            }
        }

        @media (max-width: 720px) {
            #contasModalOverlay .conta-card,
            #contasModalOverlay .conta-card.default {
                display: block !important;
                min-height: 0 !important;
                padding: 14px !important;
            }
            #contasModalOverlay .conta-card-top,
            #contasModalOverlay .conta-card-bottom {
                display: block !important;
                width: 100% !important;
            }
            #contasModalOverlay .conta-card-top {
                display: grid !important;
                grid-template-columns: 46px minmax(0, 1fr) !important;
                grid-template-areas:
                    "icon info"
                    "saldo saldo" !important;
                column-gap: 10px !important;
                row-gap: 12px !important;
                align-items: center !important;
            }
            #contasModalOverlay .conta-icon {
                grid-area: icon !important;
                position: relative !important;
                z-index: 1 !important;
                width: 46px !important;
                height: 46px !important;
                margin: 0 !important;
            }
            #contasModalOverlay .conta-info {
                grid-area: info !important;
                position: relative !important;
                z-index: 1 !important;
                min-width: 0 !important;
                align-self: center !important;
            }
            #contasModalOverlay .conta-saldo-block {
                grid-area: saldo !important;
                position: relative !important;
                z-index: 1 !important;
                width: 100% !important;
                min-width: 0 !important;
                margin: 0 !important;
                text-align: left !important;
            }
            #contasModalOverlay .conta-card-bottom {
                margin-top: 12px !important;
            }
            #contasModalOverlay .conta-badges {
                display: flex !important;
                width: 100% !important;
                margin: 0 0 10px !important;
                min-height: 0 !important;
                flex-wrap: wrap !important;
            }
            #contasModalOverlay .conta-actions {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                width: 100% !important;
                gap: 8px !important;
                margin: 0 !important;
            }
            #contasModalOverlay .conta-actions .action-btn {
                width: 100% !important;
                min-width: 0 !important;
                height: 40px !important;
                min-height: 40px !important;
                padding: 0 8px !important;
            }
            #contasModalOverlay .conta-progress {
                max-width: 100% !important;
            }
        }

        /* CONTAS MOBILE PROGRESS FIX */
        #contasModalOverlay .conta-card .conta-progress {
            position: absolute !important;
            display: block !important;
            inset: 0 auto 0 0 !important;
            height: auto !important;
            min-height: 0 !important;
            max-height: none !important;
            margin: 0 !important;
            padding: 0 !important;
            z-index: 0 !important;
            pointer-events: none !important;
        }
        #contasModalOverlay .conta-card .conta-progress::after {
            position: absolute !important;
            left: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            height: 2px !important;
        }
        @media (max-width: 720px) {
            #contasModalOverlay .conta-card .conta-progress {
                position: absolute !important;
                inset: 0 auto 0 0 !important;
                height: auto !important;
                min-height: 0 !important;
                z-index: 0 !important;
            }
            #contasModalOverlay .conta-card > .conta-card-top,
            #contasModalOverlay .conta-card > .conta-card-bottom {
                position: relative !important;
                z-index: 1 !important;
            }
        }

        /* CONTAS MOBILE ACTIONS RESTORE */
        @media (max-width: 720px) {
            #contasModalOverlay .conta-card,
            #contasModalOverlay .conta-card.default {
                display: flex !important;
                flex-direction: column !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                overflow: visible !important;
                padding: 14px !important;
                gap: 0 !important;
            }
            #contasModalOverlay .conta-card-top,
            #contasModalOverlay .conta-card-bottom {
                display: flex !important;
                position: relative !important;
                z-index: 2 !important;
                width: 100% !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                overflow: visible !important;
            }
            #contasModalOverlay .conta-card-top {
                flex-direction: column !important;
                align-items: stretch !important;
                gap: 10px !important;
            }
            #contasModalOverlay .conta-card-top::before {
                content: '' !important;
                display: none !important;
            }
            #contasModalOverlay .conta-icon {
                position: absolute !important;
                top: 0 !important;
                left: 0 !important;
                width: 46px !important;
                height: 46px !important;
                z-index: 3 !important;
            }
            #contasModalOverlay .conta-info {
                width: 100% !important;
                min-height: 46px !important;
                padding-left: 58px !important;
                display: flex !important;
                flex-direction: column !important;
                justify-content: center !important;
            }
            #contasModalOverlay .conta-saldo-block {
                display: block !important;
                width: 100% !important;
                min-width: 0 !important;
                margin: 0 !important;
                padding: 11px 12px !important;
            }
            #contasModalOverlay .conta-card-bottom {
                flex-direction: column !important;
                gap: 10px !important;
                margin-top: 10px !important;
            }
            #contasModalOverlay .conta-badges {
                display: flex !important;
                width: 100% !important;
                min-height: 0 !important;
                margin: 0 !important;
                padding: 0 !important;
                gap: 6px !important;
            }
            #contasModalOverlay .conta-actions {
                display: grid !important;
                visibility: visible !important;
                opacity: 1 !important;
                position: relative !important;
                z-index: 4 !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                width: 100% !important;
                height: auto !important;
                min-height: 88px !important;
                gap: 8px !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            #contasModalOverlay .conta-actions .action-btn {
                display: inline-flex !important;
                visibility: visible !important;
                opacity: 1 !important;
                width: 100% !important;
                min-width: 0 !important;
                height: 40px !important;
                min-height: 40px !important;
                padding: 0 10px !important;
                background: rgba(255,255,255,0.045) !important;
                border: 1px solid rgba(255,255,255,0.1) !important;
            }
            #contasModalOverlay .conta-actions .action-btn::after {
                content: attr(data-label) !important;
                display: inline !important;
            }
            #contasModalOverlay .conta-card .conta-progress {
                overflow: hidden !important;
                border-radius: 8px !important;
            }
        }

        /* CONTAS TABLET / DESKTOP NARROW FIX */
        @media (min-width: 721px) and (max-width: 980px) {
            #contasModalOverlay .contas-split-modal {
                width: min(760px, calc(100vw - 28px)) !important;
                height: fit-content !important;
                max-height: min(85vh, 640px) !important;
                align-self: center !important;
            }
            #contasModalOverlay .contas-toolbar,
            #contasModalOverlay .contas-list {
                max-width: 680px !important;
            }
            #contasModalOverlay .contas-toolbar {
                padding-left: 0 !important;
                padding-right: 0 !important;
            }
            #contasModalOverlay .conta-card,
            #contasModalOverlay .conta-card.default {
                display: grid !important;
                grid-template-columns: 46px minmax(0, 1fr) 160px !important;
                grid-template-areas:
                    "icon info saldo"
                    "badges badges badges"
                    "actions actions actions" !important;
                min-height: 0 !important;
                height: auto !important;
                gap: 10px 12px !important;
                padding: 14px !important;
                overflow: hidden !important;
            }
            #contasModalOverlay .conta-card-top,
            #contasModalOverlay .conta-card-bottom {
                display: contents !important;
            }
            #contasModalOverlay .conta-icon {
                grid-area: icon !important;
                width: 44px !important;
                height: 44px !important;
            }
            #contasModalOverlay .conta-info {
                grid-area: info !important;
                min-width: 0 !important;
            }
            #contasModalOverlay .conta-saldo-block {
                grid-area: saldo !important;
                width: 160px !important;
                min-width: 160px !important;
                text-align: right !important;
            }
            #contasModalOverlay .conta-badges {
                grid-area: badges !important;
                display: flex !important;
                width: 100% !important;
                margin: 0 !important;
                padding-left: 58px !important;
                min-height: 0 !important;
            }
            #contasModalOverlay .conta-actions {
                grid-area: actions !important;
                display: grid !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                width: 100% !important;
                gap: 8px !important;
                margin: 0 !important;
            }
            #contasModalOverlay .conta-actions .action-btn {
                width: 100% !important;
                min-width: 0 !important;
                height: 38px !important;
                min-height: 38px !important;
            }
        }

        /* CONTAS NARROW VIEWPORT FINAL FIX */
        @media (max-width: 980px) {
            #contasModalOverlay .contas-split-modal {
                width: min(680px, calc(100vw - 18px)) !important;
                max-width: calc(100vw - 18px) !important;
            }
            #contasModalOverlay .contas-toolbar {
                max-width: none !important;
                padding: 16px 20px !important;
            }
            #contasModalOverlay .contas-list {
                max-width: none !important;
                padding: 14px 20px calc(22px + env(safe-area-inset-bottom)) !important;
            }
            #contasModalOverlay .conta-card,
            #contasModalOverlay .conta-card.default {
                display: flex !important;
                flex-direction: column !important;
                align-items: stretch !important;
                width: 100% !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                overflow: visible !important;
                padding: 14px !important;
                gap: 0 !important;
            }
            #contasModalOverlay .conta-card-top,
            #contasModalOverlay .conta-card-bottom {
                display: flex !important;
                position: relative !important;
                z-index: 2 !important;
                width: 100% !important;
                height: auto !important;
                min-height: 0 !important;
                overflow: visible !important;
            }
            #contasModalOverlay .conta-card-top {
                flex-direction: column !important;
                align-items: stretch !important;
                gap: 10px !important;
            }
            #contasModalOverlay .conta-icon {
                position: absolute !important;
                top: 0 !important;
                left: 0 !important;
                width: 46px !important;
                height: 46px !important;
                margin: 0 !important;
            }
            #contasModalOverlay .conta-info {
                width: 100% !important;
                min-width: 0 !important;
                min-height: 46px !important;
                padding-left: 58px !important;
                display: flex !important;
                flex-direction: column !important;
                justify-content: center !important;
            }
            #contasModalOverlay .conta-nome,
            #contasModalOverlay .conta-banco {
                max-width: 100% !important;
                white-space: normal !important;
                overflow-wrap: anywhere !important;
            }
            #contasModalOverlay .conta-saldo-block {
                display: block !important;
                position: relative !important;
                z-index: 2 !important;
                width: 100% !important;
                min-width: 0 !important;
                margin: 0 !important;
                padding: 11px 12px !important;
                text-align: left !important;
            }
            #contasModalOverlay .conta-card-bottom {
                flex-direction: column !important;
                gap: 10px !important;
                margin-top: 10px !important;
            }
            #contasModalOverlay .conta-badges {
                display: flex !important;
                width: 100% !important;
                min-height: 0 !important;
                margin: 0 !important;
                padding: 0 !important;
                gap: 6px !important;
                flex-wrap: wrap !important;
            }
            #contasModalOverlay .conta-actions {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                width: 100% !important;
                height: auto !important;
                min-height: 88px !important;
                gap: 8px !important;
                margin: 0 !important;
                padding: 0 !important;
                visibility: visible !important;
                opacity: 1 !important;
            }
            #contasModalOverlay .conta-actions .action-btn {
                display: inline-flex !important;
                width: 100% !important;
                min-width: 0 !important;
                height: 40px !important;
                min-height: 40px !important;
                visibility: visible !important;
                opacity: 1 !important;
            }
            #contasModalOverlay .conta-actions .action-btn::after {
                content: attr(data-label) !important;
                display: inline !important;
            }
            #contasModalOverlay .conta-card .conta-progress {
                position: absolute !important;
                inset: 0 auto 0 0 !important;
                height: auto !important;
                max-width: 100% !important;
            }
        }

        /* CONTAS COMPACT MODE BY REAL MODAL WIDTH */
        #contasModalOverlay.contas-compact {
            padding: 8px !important;
            align-items: center !important;
        }
        #contasModalOverlay.contas-compact .contas-split-modal {
            width: min(680px, calc(100vw - 16px)) !important;
            max-width: calc(100vw - 16px) !important;
            height: fit-content !important;
            max-height: min(85vh, 640px) !important;
            align-self: center !important;
        }
        #contasModalOverlay.contas-compact .contas-modal-header {
            padding: 16px 20px !important;
            min-height: 88px !important;
        }
        #contasModalOverlay.contas-compact .contas-toolbar {
            max-width: none !important;
            padding: 14px 20px !important;
            align-items: center !important;
            gap: 12px !important;
        }
        #contasModalOverlay.contas-compact .contas-toolbar-copy { display: none !important; }
        #contasModalOverlay.contas-compact .contas-new-btn {
            min-width: 132px !important;
            height: 42px !important;
            flex-shrink: 0 !important;
        }
        #contasModalOverlay.contas-compact .contas-list {
            max-width: none !important;
            width: 100% !important;
            padding: 14px 20px 16px !important;
            overflow-x: hidden !important;
        }
        #contasModalOverlay.contas-compact .conta-card,
        #contasModalOverlay.contas-compact .conta-card.default {
            display: flex !important;
            flex-direction: column !important;
            align-items: stretch !important;
            width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            max-height: none !important;
            overflow: visible !important;
            padding: 14px !important;
            gap: 0 !important;
        }
        #contasModalOverlay.contas-compact .conta-card-top,
        #contasModalOverlay.contas-compact .conta-card-bottom {
            display: flex !important;
            position: relative !important;
            z-index: 2 !important;
            width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            max-height: none !important;
            overflow: visible !important;
        }
        #contasModalOverlay.contas-compact .conta-card-top {
            flex-direction: column !important;
            align-items: stretch !important;
            gap: 10px !important;
        }
        #contasModalOverlay.contas-compact .conta-icon {
            position: absolute !important;
            top: 0 !important;
            left: 0 !important;
            width: 46px !important;
            height: 46px !important;
            margin: 0 !important;
            z-index: 3 !important;
        }
        #contasModalOverlay.contas-compact .conta-info {
            width: 100% !important;
            min-width: 0 !important;
            min-height: 46px !important;
            padding-left: 58px !important;
            display: flex !important;
            flex-direction: column !important;
            justify-content: center !important;
        }
        #contasModalOverlay.contas-compact .conta-nome,
        #contasModalOverlay.contas-compact .conta-banco {
            max-width: 100% !important;
            white-space: normal !important;
            overflow: visible !important;
            overflow-wrap: anywhere !important;
        }
        #contasModalOverlay.contas-compact .conta-saldo-block {
            display: block !important;
            position: relative !important;
            z-index: 2 !important;
            width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
            padding: 11px 12px !important;
            text-align: left !important;
        }
        #contasModalOverlay.contas-compact .conta-card-bottom {
            flex-direction: column !important;
            gap: 10px !important;
            margin-top: 10px !important;
        }
        #contasModalOverlay.contas-compact .conta-badges {
            display: flex !important;
            width: 100% !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            gap: 6px !important;
            flex-wrap: wrap !important;
        }
        #contasModalOverlay.contas-compact .conta-actions {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            width: 100% !important;
            height: auto !important;
            min-height: 88px !important;
            gap: 8px !important;
            margin: 0 !important;
            padding: 0 !important;
            visibility: visible !important;
            opacity: 1 !important;
        }
        #contasModalOverlay.contas-compact .conta-actions .action-btn {
            display: inline-flex !important;
            width: 100% !important;
            min-width: 0 !important;
            height: 40px !important;
            min-height: 40px !important;
            visibility: visible !important;
            opacity: 1 !important;
        }
        #contasModalOverlay.contas-compact .conta-actions .action-btn::after {
            content: attr(data-label) !important;
            display: inline !important;
        }
        #contasModalOverlay.contas-compact .conta-card .conta-progress {
            position: absolute !important;
            inset: 0 auto 0 0 !important;
            height: auto !important;
            max-width: 100% !important;
            z-index: 0 !important;
        }
        @media (max-width: 360px) {
            #contasModalOverlay.contas-compact .contas-modal-header,
            #contasModalOverlay.contas-compact .contas-toolbar { padding-left: 14px !important; padding-right: 14px !important; }
            #contasModalOverlay.contas-compact .contas-list { padding-left: 14px !important; padding-right: 14px !important; }
            #contasModalOverlay.contas-compact .contas-toolbar { flex-direction: column !important; align-items: stretch !important; }
            #contasModalOverlay.contas-compact .contas-new-btn { width: 100% !important; min-width: 0 !important; }
        }

        /* CONTAS RESPONSIVE REBUILD - SINGLE SOURCE OF TRUTH */
        #contasModalOverlay {
            padding: clamp(8px, 2vw, 22px) !important;
            align-items: center !important;
            justify-content: center !important;
            overflow: hidden !important;
        }
        #contasModalOverlay .contas-split-modal,
        #contasModalOverlay .modal-box.contas-split-modal {
            width: min(620px, calc(100vw - 28px)) !important;
            max-width: 620px !important;
            height: fit-content !important;
            max-height: min(85vh, 640px) !important;
            align-self: center !important;
            border-radius: 16px !important;
            overflow: hidden !important;
        }

        #contasModalOverlay .contas-modal-header {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            padding: 16px 20px !important;
            min-height: auto !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
            background: rgba(255, 255, 255, 0.015) !important;
        }

        .contas-header-title-area {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .contas-header-title-area i {
            color: var(--neon-green, #00E676) !important;
            font-size: 18px !important;
        }

        #contasModalOverlay .modal-title {
            font-size: 17px !important;
            line-height: 1.2 !important;
            font-weight: 800 !important;
            color: var(--text-main, #ffffff) !important;
            margin: 0 !important;
        }

        .contas-header-actions {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        #contasModalOverlay .contas-new-btn {
            height: 32px !important;
            min-height: 32px !important;
            padding: 0 14px !important;
            font-size: 12px !important;
            font-weight: 800 !important;
            border-radius: 20px !important;
            flex-shrink: 0 !important;
            background: rgba(0, 230, 118, 0.12) !important;
            border: 1px solid rgba(0, 230, 118, 0.35) !important;
            color: var(--neon-green, #00E676) !important;
            box-shadow: 0 0 10px rgba(0, 230, 118, 0.15) !important;
            transition: all 0.2s ease !important;
            display: inline-flex !important;
            align-items: center !important;
            gap: 6px !important;
            cursor: pointer !important;
        }

        #contasModalOverlay .contas-new-btn:hover {
            background: var(--neon-green, #00E676) !important;
            color: #000000 !important;
            border-color: var(--neon-green, #00E676) !important;
            box-shadow: 0 0 16px rgba(0, 230, 118, 0.4) !important;
        }

        #contasModalOverlay .contas-body,
        #contasModalOverlay .contas-body.form-open {
            display: flex !important;
            flex-direction: column !important;
            flex: 1 1 auto !important;
            min-height: 0 !important;
            overflow: hidden !important;
            box-sizing: border-box !important;
        }

        #contasModalOverlay .contas-list-panel {
            width: 100% !important;
            flex: 1 1 auto !important;
            min-height: 0 !important;
            display: flex !important;
            flex-direction: column !important;
            overflow: hidden !important;
        }

        #contasModalOverlay .contas-list {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            flex: 1 1 auto !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 16px 20px 12px !important;
            box-sizing: border-box !important;
            display: flex !important;
            flex-direction: column !important;
            gap: 10px !important;
            overflow-y: auto !important;
            overflow-x: hidden !important;
        }

        /* NEXA DECLUTTERED CONTAS CARDS */
        #contasModalOverlay .account-card-v2 {
            position: relative;
            width: 100%;
            box-sizing: border-box;
            overflow: visible !important;
            display: flex;
            flex-direction: column;
            padding: 14px 16px;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.05);
            background: #0d0e12;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
            transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
        }

        #contasModalOverlay .account-card-v2:hover {
            border-color: rgba(0, 230, 118, 0.25);
            box-shadow: 0 6px 18px rgba(0, 0, 0, 0.5), 0 0 12px rgba(0, 230, 118, 0.06);
        }

        #contasModalOverlay .account-card-v2::before {
            content: none !important; /* Removed heavy left bar for clean visual */
        }

        #contasModalOverlay .account-header-v2 {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            width: 100%;
            position: relative;
            z-index: 1;
        }

        #contasModalOverlay .account-identity-v2 {
            display: flex;
            align-items: center;
            gap: 14px;
            min-width: 0;
            flex: 1;
        }

        .account-logo-badge {
            width: 42px;
            height: 42px;
            border-radius: 11px !important;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            overflow: hidden;
            background: transparent;
            border: none !important;
            box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
            font-size: 20px;
            position: relative;
            user-select: none;
            box-sizing: border-box;
        }

        body.light-mode .account-logo-badge {
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
        }

        .account-logo-badge svg {
            width: 100%;
            height: 100%;
            display: block;
            border-radius: 11px !important;
        }

        .account-logo-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 11px !important;
            display: block;
        }

        /* Estilo Ícone de Aplicativo do iPhone para contas sem logo de banco definida */
        .account-logo-badge.default-icon-badge,
        .account-logo-badge.ios-icon-badge {
            position: relative;
            color: #ffffff;
            font-size: 20px;
            line-height: 1;
        }

        .account-logo-badge.default-icon-badge > *,
        .account-logo-badge.ios-icon-badge > * {
            position: relative;
            z-index: 2;
        }

        .account-logo-badge.default-icon-badge i,
        .account-logo-badge.ios-icon-badge i {
            font-size: 18px;
            color: #ffffff;
        }

        .account-logo-badge .ios-tile-initials {
            font-size: 14px;
            font-weight: 800;
            letter-spacing: -0.5px;
            text-transform: uppercase;
            color: #ffffff;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        }

        /* Gradientes estilo iPhone */
        .account-logo-badge.ios-grad-0 { background: linear-gradient(135deg, #0A84FF 0%, #0040DD 100%); }
        .account-logo-badge.ios-grad-1 { background: linear-gradient(135deg, #30D158 0%, #008E34 100%); }
        .account-logo-badge.ios-grad-2 { background: linear-gradient(135deg, #BF5AF2 0%, #7622B8 100%); }
        .account-logo-badge.ios-grad-3 { background: linear-gradient(135deg, #FF9F0A 0%, #D64000 100%); }
        .account-logo-badge.ios-grad-4 { background: linear-gradient(135deg, #64D2FF 0%, #007A99 100%); }
        .account-logo-badge.ios-grad-5 { background: linear-gradient(135deg, #FF375F 0%, #B3002D 100%); }
        .account-logo-badge.ios-grad-6 { background: linear-gradient(135deg, #FFD60A 0%, #B88600 100%); }
        .account-logo-badge.ios-grad-7 { background: linear-gradient(135deg, #3A3D52 0%, #171926 100%); }
        .account-logo-badge.ios-grad-8 { background: linear-gradient(135deg, #5E5CE6 0%, #2A25B8 100%); }
        .account-logo-badge.ios-grad-9 { background: linear-gradient(135deg, #10B981 0%, #047857 100%); }

        #contasModalOverlay .account-details-v2 {
            display: flex;
            flex-direction: column;
            gap: 3px;
            min-width: 0;
        }

        #contasModalOverlay .account-name-v2 {
            color: #ffffff;
            font-size: 15px;
            font-weight: 800;
            letter-spacing: -0.2px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .account-meta-row-v2 {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .account-meta-text-v2 {
            color: #8a99ad;
            font-size: 11px;
            font-weight: 600;
        }

        #contasModalOverlay .account-side-right-v2 {
            display: flex;
            align-items: center;
            gap: 14px;
            flex-shrink: 0;
        }

        .account-balance-clean-v2 {
            text-align: right;
        }

        .account-balance-clean-v2 .account-balance-value-v2 {
            font-size: 16px;
            font-weight: 900;
            line-height: 1.1;
            letter-spacing: -0.3px;
        }

        .account-balance-clean-v2 .account-balance-sub-v2 {
            font-size: 10.5px;
            font-weight: 600;
            color: #64748b;
            margin-top: 2px;
        }

        #contasModalOverlay .account-tag-v2 {
            min-width: 0;
            max-width: 100%;
            min-height: 18px;
            padding: 0 6px;
            border-radius: 4px;
            display: inline-flex;
            align-items: center;
            gap: 3px;
            color: #64748b;
            background: rgba(148,163,184,0.08);
            border: 1px solid rgba(148,163,184,0.18);
            font-size: 8.5px;
            font-weight: 800;
            text-transform: uppercase;
            white-space: nowrap;
        }

        #contasModalOverlay .account-tag-v2.is-default {
            color: var(--neon-green, #00E676);
            background: rgba(0,230,118,0.1);
            border-color: rgba(0,230,118,0.25);
        }

        /* ROUND 3-DOTS ACTION BUTTON */
        .account-actions-wrapper-v2 {
            position: relative;
        }

        .account-menu-trigger-btn {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            border: 1px solid rgba(0, 230, 118, 0.3);
            background: rgba(0, 230, 118, 0.12);
            color: var(--neon-green, #00E676);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-size: 13px;
            transition: all 0.2s ease;
        }

        .account-menu-trigger-btn:hover,
        #contasModalOverlay .account-card-v2.menu-open .account-menu-trigger-btn {
            background: var(--neon-green, #00E676) !important;
            color: #000000 !important;
            border-color: var(--neon-green, #00E676) !important;
            box-shadow: 0 0 16px rgba(0, 230, 118, 0.5) !important;
            transform: scale(1.08) !important;
        }

        /* DROPDOWN MENU SUSPENSO (ESTILO ADMIN NEXA) */
        #contasModalOverlay .account-card-v2.menu-open {
            z-index: 100 !important;
        }

        .account-actions-wrapper-v2 {
            position: relative !important;
        }

        .account-dropdown-menu {
            position: fixed !important;
            z-index: 100005 !important;
            min-width: 195px;
            background: #080d0a;
            border: 1px solid rgba(0, 230, 118, 0.35);
            border-radius: 12px;
            padding: 6px;
            box-shadow: 0 16px 40px rgba(0, 0, 0, 0.95), 0 0 24px rgba(0, 230, 118, 0.2);
            display: none;
            flex-direction: column;
            gap: 2px;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: scale(0.92) translateY(-4px);
            transition: opacity 0.18s cubic-bezier(0.4, 0, 0.2, 1), transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.18s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .account-dropdown-menu.active {
            display: flex !important;
            opacity: 1 !important;
            visibility: visible !important;
            pointer-events: auto !important;
            transform: scale(1) translateY(0) !important;
        }

        .account-dropdown-item {
            width: 100%;
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 10px 14px;
            border-radius: 8px;
            background: transparent;
            border: none;
            color: #ffffff;
            font-size: 13px;
            font-weight: 500;
            cursor: pointer;
            text-align: left;
            transition: all 0.18s ease;
            box-sizing: border-box;
        }

        .account-dropdown-item i {
            font-size: 14px;
            width: 18px;
            text-align: center;
            color: #94a3b8;
            transition: color 0.18s ease;
        }

        .account-dropdown-item:hover {
            background: rgba(255, 255, 255, 0.06);
            color: #ffffff;
        }

        .account-dropdown-item:hover i {
            color: var(--neon-green, #00E676);
        }

        .account-dropdown-item.is-disabled {
            opacity: 0.5;
            cursor: default;
        }

        .account-dropdown-item.is-disabled:hover {
            background: transparent;
            color: #ffffff;
        }

        .account-dropdown-item.is-disabled i {
            color: var(--neon-green, #00E676) !important;
        }

        .account-dropdown-divider {
            height: 1px;
            background: rgba(255, 255, 255, 0.08);
            margin: 4px 0;
        }

        .account-dropdown-item.is-danger {
            color: var(--neon-red, #ff4757);
        }

        .account-dropdown-item.is-danger i {
            color: var(--neon-red, #ff4757);
        }

        .account-dropdown-item.is-danger:hover {
            background: rgba(255, 71, 87, 0.15);
            color: #ff6b81;
        }

        .account-dropdown-item.is-danger:hover i {
            color: #ff6b81;
        }

        /* LOGO FORM SELECTION STYLES */
        .conta-logo-selection-box {
            margin-bottom: 14px;
            padding: 12px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 10px;
        }

        .conta-logo-options-row {
            display: flex;
            gap: 10px;
            align-items: center;
            margin-top: 6px;
        }

        .btn-upload-logo-png {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 9px 14px;
            background: rgba(0, 229, 255, 0.1);
            border: 1px solid rgba(0, 229, 255, 0.25);
            color: var(--accent-cyan, #00E5FF);
            border-radius: 8px;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            white-space: nowrap;
            transition: all 0.2s ease;
        }

        .btn-upload-logo-png:hover {
            background: rgba(0, 229, 255, 0.2);
            border-color: var(--accent-cyan, #00E5FF);
            box-shadow: 0 0 10px rgba(0, 229, 255, 0.3);
        }

        .conta-logo-preview-area {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-top: 10px;
            padding: 8px 12px;
            background: rgba(0, 0, 0, 0.3);
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.08);
        }

        .conta-logo-preview-area img {
            width: 36px;
            height: 36px;
            border-radius: 8px;
            object-fit: cover;
        }

        .conta-logo-preview-text {
            font-size: 12px;
            color: var(--text-sec, #94a3b8);
            font-weight: 600;
            flex: 1;
        }

        .btn-remove-logo {
            background: rgba(255, 23, 68, 0.15);
            border: 1px solid rgba(255, 23, 68, 0.3);
            color: var(--neon-red, #ff1744);
            padding: 4px 10px;
            border-radius: 6px;
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
        }
        body.light-mode #contasModalOverlay .modal-title {
            color: #1e293b !important;
        }
        body.light-mode #contasModalOverlay .account-card-v2 {
            background: #ffffff !important;
            border-color: #e2e8f0 !important;
            box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05) !important;
        }
        body.light-mode #contasModalOverlay .account-name-v2 {
            color: #1e293b !important;
            font-weight: 700;
        }
        body.light-mode #contasModalOverlay .account-meta-text-v2,
        body.light-mode #contasModalOverlay .account-balance-clean-v2 .account-balance-label-v2 {
            color: #64748b !important;
        }
        body.light-mode #contasModalOverlay .account-logo-badge {
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
        }
        body.light-mode #contasModalOverlay .account-balance-v2,
        body.light-mode #contasModalOverlay .account-action-v2 {
            background: #f8fafc !important;
            border-color: #e2e8f0 !important;
        }
        body.light-mode #contasModalOverlay .account-menu-trigger-btn {
            background: rgba(0, 230, 118, 0.12) !important;
            border-color: rgba(0, 230, 118, 0.35) !important;
            color: #059669 !important;
        }
        body.light-mode #contasModalOverlay .account-menu-trigger-btn:hover,
        body.light-mode #contasModalOverlay .account-card-v2.menu-open .account-menu-trigger-btn {
            background: #10b981 !important;
            color: #ffffff !important;
            border-color: #10b981 !important;
            box-shadow: 0 0 12px rgba(16, 185, 129, 0.35) !important;
        }
        body.light-mode .account-dropdown-menu,
        body.light-mode #contasModalOverlay .account-dropdown-menu {
            background: #ffffff !important;
            border: 1px solid #e2e8f0 !important;
            box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16), 0 2px 8px rgba(15, 23, 42, 0.08) !important;
            position: fixed !important;
            z-index: 100005 !important;
        }
        body.light-mode .account-dropdown-item,
        body.light-mode #contasModalOverlay .account-dropdown-item {
            color: #1e293b !important;
        }
        body.light-mode .account-dropdown-item i,
        body.light-mode #contasModalOverlay .account-dropdown-item i {
            color: #64748b !important;
        }
        body.light-mode .account-dropdown-item:hover,
        body.light-mode #contasModalOverlay .account-dropdown-item:hover {
            background: #f1f5f9 !important;
            color: #0f172a !important;
        }
        body.light-mode .account-dropdown-item:hover i,
        body.light-mode #contasModalOverlay .account-dropdown-item:hover i {
            color: #059669 !important;
        }
        body.light-mode .account-dropdown-item.is-disabled,
        body.light-mode #contasModalOverlay .account-dropdown-item.is-disabled {
            color: #64748b !important;
            opacity: 0.7 !important;
        }
        body.light-mode .account-dropdown-item.is-disabled i,
        body.light-mode #contasModalOverlay .account-dropdown-item.is-disabled i {
            color: #059669 !important;
        }
        body.light-mode .account-dropdown-item.is-disabled:hover,
        body.light-mode #contasModalOverlay .account-dropdown-item.is-disabled:hover {
            background: transparent !important;
            color: #64748b !important;
        }
        body.light-mode .account-dropdown-divider,
        body.light-mode #contasModalOverlay .account-dropdown-divider {
            background: #e2e8f0 !important;
        }
        body.light-mode .account-dropdown-item.is-danger,
        body.light-mode #contasModalOverlay .account-dropdown-item.is-danger {
            color: #e11d48 !important;
        }
        body.light-mode .account-dropdown-item.is-danger i,
        body.light-mode #contasModalOverlay .account-dropdown-item.is-danger i {
            color: #e11d48 !important;
        }
        body.light-mode .account-dropdown-item.is-danger:hover,
        body.light-mode #contasModalOverlay .account-dropdown-item.is-danger:hover {
            background: #ffe4e6 !important;
            color: #be123c !important;
        }
        body.light-mode .account-dropdown-item.is-danger:hover i,
        body.light-mode #contasModalOverlay .account-dropdown-item.is-danger:hover i {
            color: #be123c !important;
        }
        body.light-mode #contasModalOverlay .account-share-v2 { opacity: 0.18; }

        @container contas-panel (max-width: 640px) {
            #contasModalOverlay .contas-toolbar {
                max-width: none !important;
            }
            #contasModalOverlay .contas-toolbar-copy { display: none !important; }
            #contasModalOverlay .account-card-v2 {
                grid-template-columns: minmax(0, 1fr);
                grid-template-areas:
                    "main"
                    "balance"
                    "tags"
                    "actions";
                padding: 14px;
                gap: 12px;
            }
            #contasModalOverlay .account-main-v2 {
                grid-template-columns: 46px minmax(0, 1fr);
                gap: 10px;
            }
            #contasModalOverlay .account-icon-v2 {
                width: 46px;
                height: 46px;
                font-size: 19px;
            }
            #contasModalOverlay .account-name-v2,
            #contasModalOverlay .account-meta-v2 {
                white-space: normal;
                overflow-wrap: anywhere;
            }
            #contasModalOverlay .account-balance-v2 {
                width: 100%;
                text-align: left;
            }
            #contasModalOverlay .account-actions-v2 {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
            #contasModalOverlay .account-action-v2 {
                height: 40px;
            }
        }

        @container contas-panel (max-width: 360px) {
            #contasModalOverlay .contas-toolbar {
                flex-direction: column !important;
                align-items: stretch !important;
            }
            #contasModalOverlay .contas-new-btn {
                width: 100% !important;
            }
            #contasModalOverlay .account-main-v2 {
                grid-template-columns: 42px minmax(0, 1fr);
            }
            #contasModalOverlay .account-icon-v2 {
                width: 42px;
                height: 42px;
                font-size: 17px;
            }
            #contasModalOverlay .account-name-v2 { font-size: 15px; }
            #contasModalOverlay .account-balance-value-v2 { font-size: 18px; }
            #contasModalOverlay .account-actions-v2 {
                grid-template-columns: minmax(0, 1fr);
            }
        }

        @media (max-width: 640px) {
            #contasModalOverlay .contas-toolbar-copy { display: none !important; }
            #contasModalOverlay .account-card-v2 {
                grid-template-columns: minmax(0, 1fr);
                grid-template-areas: "main" "balance" "tags" "actions";
            }
            #contasModalOverlay .account-name-v2,
            #contasModalOverlay .account-meta-v2 {
                white-space: normal;
                overflow-wrap: anywhere;
            }
            #contasModalOverlay .account-balance-v2 { text-align: left; }
            #contasModalOverlay .account-actions-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }

        /* CONTAS MOBILE ACTIONS FIX */
        @media (max-width: 720px) {
            #contasModalOverlay .account-card-v2 {
                display: grid !important;
                flex: 0 0 auto !important;
                grid-template-columns: minmax(0, 1fr) !important;
                grid-template-areas:
                    "main"
                    "balance"
                    "tags"
                    "actions" !important;
                align-items: stretch !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                overflow: visible !important;
                gap: 12px !important;
                padding: 14px !important;
            }
            #contasModalOverlay .account-card-v2 > *:not(.account-share-v2) {
                width: 100% !important;
                min-width: 0 !important;
            }
            #contasModalOverlay .account-main-v2 {
                display: grid !important;
                grid-template-columns: 46px minmax(0, 1fr) !important;
            }
            #contasModalOverlay .account-balance-v2 {
                display: block !important;
                text-align: left !important;
            }
            #contasModalOverlay .account-tags-v2 {
                display: flex !important;
                min-height: 0 !important;
            }
            #contasModalOverlay .account-actions-v2 {
                display: grid !important;
                visibility: visible !important;
                position: relative !important;
                z-index: 3 !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                width: 100% !important;
                height: auto !important;
                min-height: 0 !important;
                gap: 6px !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            #contasModalOverlay .account-action-v2 {
                display: inline-flex !important;
                visibility: visible !important;
                width: 100% !important;
                min-width: 0 !important;
                height: 36px !important;
                min-height: 36px !important;
                gap: 5px !important;
                padding: 0 6px !important;
                font-size: 10px !important;
            }
        }

        @media (max-width: 420px) {
            #contasModalOverlay .account-actions-v2 {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 8px !important;
            }
            #contasModalOverlay .account-action-v2 {
                height: 38px !important;
                min-height: 38px !important;
                font-size: 11px !important;
            }
        }

        @media (max-width: 360px) {
            #contasModalOverlay .contas-toolbar {
                flex-direction: column !important;
                align-items: stretch !important;
            }
            #contasModalOverlay .contas-new-btn { width: 100% !important; }
            #contasModalOverlay .account-actions-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
        }



        .conta-select-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 8px; font-size: 11px; font-weight: 700; background: rgba(41,121,255,0.1); color: var(--neon-blue); border: 1px solid rgba(41,121,255,0.2); }

        .config-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 15px; }
        .config-col {
            background: #080808;
            border: 1px solid rgba(255,255,255,0.06); border-radius: 16px; padding: 15px;
            display: flex; flex-direction: column; height: 350px; position: relative; overflow: hidden;
            box-shadow: 0 4px 16px rgba(0,0,0,0.5), 0 1px 0 rgba(255,255,255,0.04) inset;
        }
        .config-col::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; }
        .config-col:nth-child(1)::before { background: var(--neon-red); box-shadow: 0 0 10px var(--neon-red); }
        .config-col:nth-child(2)::before { background: var(--neon-green); box-shadow: 0 0 10px var(--neon-green); }
        .config-col:nth-child(3)::before { background: var(--neon-yellow); box-shadow: 0 0 10px var(--neon-yellow); }

        .config-col h4 {
            text-align: center; font-size: 12px; font-weight: 800; margin-bottom: 20px;
            letter-spacing: 1px; display: flex; align-items: center; justify-content: center; gap: 10px;
            background: rgba(0,0,0,0.2); padding: 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.05);
        }

        .cat-manager-list { flex: 1; overflow-y: auto; margin-bottom: 15px; padding-right: 5px; min-height: 0; }

        .cat-manager-item {
            display: flex; justify-content: space-between; align-items: center;
            background: rgba(255,255,255,0.02); padding: 10px 14px; border-radius: 10px;
            margin-bottom: 6px; font-size: 13px; color: var(--text-sec);
            border: 1px solid rgba(255,255,255,0.05); transition: all 0.2s;
        }
        .cat-manager-item:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.1); color: var(--text-main); transform: translateX(3px); }

        /* ── Ceiling category chips ───────────────────────── */
        .ceil-cat-item { cursor: pointer; user-select: none; }
        .ceil-cat-item .ceil-chip {
            display: flex; align-items: center; gap: 8px;
            padding: 6px 12px; border-radius: 8px;
            border: 1.5px solid var(--card-border);
            background: rgba(255,255,255,0.04);
            transition: background 0.15s, border-color 0.15s;
        }
        .ceil-cat-item:hover .ceil-chip { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.18); }
        .ceil-cat-item.checked .ceil-chip {
            background: rgba(0,230,118,0.1);
            border-color: rgba(0,230,118,0.5);
        }
        .ceil-cb {
            width: 15px; height: 15px; border: 2px solid var(--text-muted);
            border-radius: 4px; display: flex; align-items: center; justify-content: center;
            transition: background 0.15s, border-color 0.15s; flex-shrink: 0;
        }
        .ceil-cb i { font-size: 8px; color: transparent; transition: color 0.15s; }
        .ceil-cat-item.checked .ceil-cb { background: var(--neon-green); border-color: var(--neon-green); }
        .ceil-cat-item.checked .ceil-cb i { color: #000; }
        .ceil-cat-item.checked .ceil-chip span { color: var(--neon-green); font-weight: 600; }

        .btn-del-cat { background: rgba(255,255,255,0.05); border: none; color: var(--text-muted); cursor: pointer; transition: 0.2s; font-size: 11px; width: 24px; height: 24px; border-radius: 6px; display: flex; align-items: center; justify-content: center; }
        .btn-del-cat:hover { background: rgba(255, 71, 87, 0.2); color: var(--neon-red); }

        .input-add-group { display: flex; gap: 10px; margin-top: auto; background: rgba(0,0,0,0.3); padding: 8px; border-radius: 12px; border: 1px solid var(--card-border); align-items: center; }
        .input-add-group input { background: transparent; border: none; color: var(--text-main); font-size: 13px; width: 100%; outline: none; padding: 0 8px; }
        .input-add-group input::placeholder { color: var(--text-muted); }
        .btn-add-cat { background: var(--neon-blue); color: #fff; border: none; border-radius: 8px; width: 36px; height: 36px; cursor: pointer; transition: 0.2s; display: flex; align-items: center; justify-content: center; font-size: 14px; box-shadow: 0 4px 10px rgba(41, 121, 255, 0.3); }
        .btn-add-cat:hover { background: #2962FF; transform: scale(1.05); }

        .custom-select-wrapper { position: relative; user-select: none; width: 100%; margin-bottom: 16px; }
        .custom-select { position: relative; display: flex; flex-direction: column; }
        .custom-select-trigger {
            position: relative; display: flex; align-items: center; justify-content: space-between;
            padding: 0 32px 0 14px !important; font-size: 14px; font-weight: 500; color: var(--text-main);
            background: rgba(0,0,0,0.3); border: 1px solid var(--card-border); border-radius: 10px;
            cursor: pointer; transition: all 0.2s; box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
            width: 100%; height: 48px; box-sizing: border-box; user-select: none;
        }
        .custom-select-trigger:after { content: '\f078'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 10px; color: var(--text-sec); transition: transform 0.2s; position: absolute; right: 14px; pointer-events: none; }
        .custom-select.open .custom-select-trigger { border-color: var(--neon-blue); background: rgba(0,0,0,0.5); }
        .custom-select.open .custom-select-trigger:after { transform: rotate(180deg); color: var(--neon-blue); }

        /* Input de busca integrado ao trigger */
        .cs-search-input {
            width: 100%; height: 100%; background: transparent !important;
            border: none !important; outline: none !important;
            padding: 0 !important; font-size: inherit; font-family: inherit;
            font-weight: inherit; color: inherit; cursor: pointer;
            box-sizing: border-box; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
        }
        .custom-select.open .cs-search-input { cursor: text; }
        .cs-search-input[readonly] { cursor: pointer; user-select: none; }
        .cs-search-input::selection { background: rgba(41, 121, 255, 0.3); }

        .custom-options {
            position: absolute; display: block; top: 100%; left: 0; right: 0;
            background: var(--bg-dark); border: 1px solid var(--card-border); border-radius: 10px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5); z-index: 100;
            opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-10px);
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); margin-top: 8px; max-height: 240px; overflow-y: auto;
        }
        .custom-select.open .custom-options { opacity: 1; visibility: visible; pointer-events: all; transform: translateY(0); }

        .custom-select.dropup .custom-options {
            top: auto !important;
            bottom: 100% !important;
            margin-top: 0 !important;
            margin-bottom: 8px !important;
            transform: translateY(10px) !important;
        }
        .custom-select.dropup.open .custom-options {
            transform: translateY(0) !important;
        }

        .custom-option {
            position: relative; display: block; padding: 10px 16px; font-size: 13px; color: var(--text-sec);
            cursor: pointer; transition: all 0.15s; border-bottom: 1px solid rgba(255,255,255,0.02);
        }
        .custom-option:last-child { border-bottom: none; }
        .custom-option:hover { background: rgba(255,255,255,0.05); color: var(--text-main); }
        .custom-option.selected { color: var(--neon-blue); background: rgba(41, 121, 255, 0.1); font-weight: 700; }

        .custom-search { padding: 8px; position: sticky; top: 0; background: var(--bg-dark); z-index: 10; border-bottom: 1px solid var(--card-border); }
        .custom-search input { width: 100%; background: rgba(255,255,255,0.05); border: 1px solid var(--card-border); color: var(--text-main); padding: 8px; border-radius: 6px; font-size: 12px; outline: none; transition: 0.2s; }
        .custom-search input:focus { border-color: var(--neon-blue); background: rgba(255,255,255,0.08); }

        /* --- Nova opcao: + Cadastrar --- */
        .custom-option-add {
            display: flex; align-items: center; padding: 10px 16px;
            font-size: 12px; font-weight: 600; color: #10b981;
            cursor: pointer; transition: all 0.15s ease;
            border-bottom: none !important;
            background: rgba(16,185,129,0.04);
        }
        .custom-option-add:hover { background: rgba(16,185,129,0.1); color: #34d399; }
        .custom-option-sep {
            height: 1px; background: rgba(255,255,255,0.06); margin: 0;
        }
        .custom-option-add-input {
            flex: 1; background: rgba(255,255,255,0.05); border: 1px solid rgba(16,185,129,0.4);
            border-radius: 6px; padding: 5px 9px; font-size: 12px; color: #fff;
            outline: none; margin-right: 6px;
        }
        .custom-option-add-input:focus { border-color: #10b981; background: rgba(16,185,129,0.06); }
        .custom-option-add-confirm {
            background: #059669; border: none; border-radius: 6px;
            color: #fff; padding: 5px 9px; font-size: 11px;
            cursor: pointer; transition: background 0.15s;
        }
        .custom-option-add-confirm:hover { background: #047857; }

        .ai-content strong { color: var(--neon-green); font-weight: 700; }
        .ai-content ul { padding-left: 20px; margin: 10px 0; }
        .ai-content li { margin-bottom: 5px; color: var(--text-sec); }
        .ai-content h3, .ai-content h4 { color: var(--text-main); margin-top: 15px; margin-bottom: 12px; }

        @media (max-width: 900px) {
            body {
                --mobile-dashboard-header-top: max(8px, env(safe-area-inset-top));
                flex-direction: column;
                height: auto;
                min-height: 100vh;
                overflow-y: auto;
                background-color: var(--bg-dark);
                background-image: none;
            }
            .mobile-status-glass {
                display: none !important;
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                height: calc(var(--mobile-dashboard-header-top) + 10px);
                pointer-events: none;
                z-index: 41;
                background: linear-gradient(
                    to bottom,
                    rgba(8, 8, 8, 0.08) 0%,
                    rgba(8, 8, 8, 0.035) 56%,
                    rgba(8, 8, 8, 0) 100%
                );
                backdrop-filter: blur(16px) saturate(135%);
                -webkit-backdrop-filter: blur(16px) saturate(135%);
            }
            body.light-mode .mobile-status-glass {
                background: linear-gradient(
                    to bottom,
                    rgba(255,255,255,0.12) 0%,
                    rgba(255,255,255,0.05) 56%,
                    rgba(248,250,252,0) 100%
                );
            }
            .main-content {
                display: flex;
                flex-direction: column;
                gap: 16px;
                padding: 8px 8px 112px;
                margin-top: 0;
                height: auto;
                overflow: visible;
            }
            .mobile-header {
                display: flex !important;
                position: sticky;
                top: var(--mobile-dashboard-header-top);
                height: auto;
                width: calc(100% - 16px);
                margin: var(--mobile-dashboard-header-top) 8px 4px;
                padding: 10px 8px;
                background: rgba(8, 8, 8, 0.84);
                border: 1px solid rgba(255,255,255,0.1);
                border-radius: 12px;
                backdrop-filter: blur(18px);
                -webkit-backdrop-filter: blur(18px);
                box-shadow: 0 18px 46px rgba(0,0,0,0.5);
                z-index: 42;
                overflow: visible;
                transform: translateY(var(--mobile-header-slide-y));
                transition: box-shadow 0.24s ease;
                will-change: transform;
            }
            body.mobile-feed-docked .mobile-header {
                pointer-events: none;
                box-shadow: none;
            }
            body.light-mode .mobile-header {
                background: rgba(255,255,255,0.9);
                border-color: rgba(148, 163, 184, 0.28);
                box-shadow: 0 18px 42px rgba(148, 163, 184, 0.26);
            }
            .mobile-brand { gap: 8px; min-width: 108px; flex-shrink: 0; align-self: center; }
            .mobile-brand i {
                color: var(--neon-green);
                font-size: 26px;
                filter: drop-shadow(0 0 10px rgba(0, 230, 118, 0.4));
                margin-top: 0;
            }
            .mobile-brand .logo-text-col { transform: translateY(1px); }
            .mobile-brand .logo-nexa { font-size: 18px; letter-spacing: 5px; }
            .mobile-brand .logo-sys { font-size: 8px; letter-spacing: 3px; }
            .mobile-user-slot {
                flex: 1;
                min-width: 0;
                display: flex;
                align-items: center;
                gap: 6px;
                justify-content: flex-end;
                margin-left: 8px;
            }
            .mobile-user-slot:empty { display: none; }
            .mobile-user-slot .user-chip {
                display: none;
            }
            .mobile-user-slot .user-chip.active {
                display: flex;
                width: auto;
                max-width: min(100%, 218px);
                height: 38px;
                gap: 6px;
                padding: 4px 5px 4px 8px;
                border-radius: 8px;
                background: rgba(0,0,0,0.18);
                border-color: rgba(255,255,255,0.08);
                box-shadow: none;
                backdrop-filter: none;
                -webkit-backdrop-filter: none;
            }
            body.light-mode .mobile-user-slot .user-chip.active {
                background: rgba(255,255,255,0.72);
                border-color: rgba(148, 163, 184, 0.24);
                box-shadow: none;
            }
            .mobile-user-slot .user-chip-info {
                text-align: right;
                padding-right: 0;
                min-width: 0;
            }
            .mobile-user-slot .user-chip-name {
                max-width: 78px;
                font-size: 11px;
                line-height: 1.05;
                font-weight: 900;
            }
            .mobile-user-slot .user-chip-role {
                display: block;
                font-size: 8px;
                letter-spacing: 0.5px;
                margin-top: 2px;
            }
            .mobile-user-slot .user-avatar-btn {
                width: 30px;
                height: 30px;
                border-radius: 8px;
                border-color: rgba(0,230,118,0.24);
                background: rgba(0,230,118,0.1);
                box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
            }
            .mobile-user-slot .due-alert-btn {
                width: 30px;
                height: 30px;
                border-radius: 8px;
            }
            .mobile-user-slot .due-alert-panel {
                right: -38px;
                top: calc(100% + 8px);
                width: min(360px, calc(100vw - 22px));
            }
            .mobile-user-slot .user-logout-btn {
                display: flex;
                width: 30px;
                height: 30px;
                border-radius: 8px;
                border: 1px solid var(--card-border);
                background: rgba(255,255,255,0.03);
                color: var(--text-sec);
            }
            .menu-btn {
                display: none;
            }
            nav.sidebar,
            nav.sidebar.compact {
                position: fixed;
                left: 10px;
                right: 10px;
                bottom: 10px;
                top: auto;
                width: auto !important;
                max-width: none !important;
                height: min(82vh, 700px);
                padding: 16px 14px 14px !important;
                border: 1px solid rgba(255,255,255,0.09) !important;
                border-radius: 16px !important;
                overflow: hidden;
                transform: translateY(calc(100% + 24px));
                transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s ease;
                box-shadow: none;
                display: flex !important;
                flex-direction: column !important;
                align-items: stretch !important;
                gap: 6px !important;
            }
            nav.sidebar > *:not(#star-canvas) {
                width: 100% !important;
                max-width: 100% !important;
            }
            nav.sidebar.active {
                transform: translateY(0);
                box-shadow: 0 -18px 60px rgba(0,0,0,0.72);
                z-index: 60;
                filter: none !important;
                pointer-events: auto !important;
                user-select: auto !important;
                opacity: 1 !important;
            }
            .sidebar-overlay { position: fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.72); backdrop-filter: none; -webkit-backdrop-filter: none; z-index: 55; display: none; opacity: 0; transition: 0.25s; }
            .sidebar-overlay.active { display: block; opacity: 1; }
            .brand { display: flex !important; justify-content: center !important; width: 100% !important; margin-bottom: 8px !important; }
            .brand .logo-text-col { display: flex !important; flex-direction: column; margin-left: 8px; }
            .brand .logo-nexa { font-size: 20px; }
            .brand .logo-sys { font-size: 9px; }
            .new-btn-wrapper { width: 100% !important; max-width: 100% !important; margin: 0 0 4px 0 !important; }
            .btn-new { width: 100% !important; border-radius: 10px; min-height: 44px; }
            .quick-menu { left: 0; top: 56px; flex-direction: row; border-radius: 8px; }
            .tools-grid {
                display: grid !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                width: 100% !important;
                max-width: 100% !important;
                gap: 8px !important;
                margin: 0 0 4px 0 !important;
            }
            .tools-grid .btn-menu-sec,
            .sidebar.compact .tools-grid .btn-menu-sec {
                width: 100% !important;
                min-height: 48px !important;
                height: 48px !important;
                border-radius: 10px;
                padding: 0 !important;
                font-size: 0 !important;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
            }
            .tools-grid .btn-menu-sec i {
                font-size: 17px !important;
            }
            .ai-btn-wrapper {
                width: 100% !important;
                max-width: 100% !important;
                margin: 0 0 4px 0 !important;
            }
            .btn-ai {
                width: 100% !important;
                border-radius: 10px;
                min-height: 42px;
                height: 42px;
                margin-top: 0;
            }
            body.light-mode .btn-ai {
                --ai-icon-color: #334155;
                background: #f8fafc;
            }
            body:not(.light-mode) .btn-ai {
                --ai-icon-color: #ffffff;
                background: rgba(255,255,255,0.03);
            }
            .month-nav-container {
                width: 100% !important;
                max-width: 100% !important;
                flex: 1;
                min-height: 0;
                display: flex !important;
                flex-direction: column !important;
                gap: 6px !important;
                margin: 0 !important;
            }
            .btn-year-nav {
                width: 100% !important;
                max-width: 100% !important;
                height: 26px !important;
                min-height: 26px !important;
                border-radius: 8px !important;
                background: rgba(255, 255, 255, 0.03) !important;
                border: 1px solid rgba(255, 255, 255, 0.06) !important;
                color: var(--text-sec) !important;
                opacity: 0.8 !important;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
            }
            .btn-year-nav i {
                font-size: 12px !important;
            }
            .month-list {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 8px !important;
                width: 100% !important;
                max-width: 100% !important;
                padding: 2px 2px 6px 2px !important;
                overflow-y: auto !important;
                flex: 1;
                min-height: 0;
                margin: 0 !important;
            }
            .month-item,
            .sidebar.compact .month-item,
            nav.sidebar .month-item {
                width: 100% !important;
                max-width: 100% !important;
                margin: 0 !important;
                border-radius: 10px !important;
                padding: 10px 14px !important;
                background: rgba(255,255,255,0.03);
                border: 1px solid rgba(255,255,255,0.05);
                display: flex !important;
                justify-content: center !important;
                align-items: center !important;
                box-sizing: border-box !important;
            }
            .month-item .expanded-text,
            .sidebar.compact .month-item .expanded-text,
            nav.sidebar .month-item .expanded-text {
                display: block !important;
                font-size: 12px !important;
                font-weight: 600 !important;
                color: var(--text-main);
                white-space: nowrap !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
                text-align: center !important;
            }
            .month-item .compact-text,
            .sidebar.compact .month-item .compact-text,
            nav.sidebar .month-item .compact-text {
                display: none !important;
            }
            .left-column { height: auto; margin-bottom: 0; overflow: visible; gap: 14px; }
            .right-column { height: auto; overflow: visible; min-width: 0; width: 100%; }
            .header-area {
                flex-direction: row;
                align-items: center;
                justify-content: space-between;
                gap: 10px;
                padding: 0 8px;
            }
            .header-custom-title {
                gap: 6px;
                padding-left: 0;
            }
            .header-custom-title .title-eyebrow {
                font-size: 12px;
            }
            .header-custom-title .title-month {
                font-size: 17px;
            }
            .header-custom-title .title-year {
                font-size: 14px;
            }
            h2 { font-size: 21px; letter-spacing: 0; line-height: 1.18; min-width: 0; }
            .header-actions {
                width: auto;
                gap: 8px;
                justify-content: flex-end;
                flex-shrink: 0;
            }
            .header-actions .user-chip {
                display: none !important;
            }
            .main-content .user-chip {
                flex: 1;
                max-width: none;
                height: 46px;
                padding: 6px 6px 6px 12px;
                border-radius: 8px;
                justify-content: space-between;
                background: linear-gradient(135deg, rgba(255,255,255,0.07), rgba(255,255,255,0.025));
                border-color: rgba(255,255,255,0.09);
                box-shadow: 0 10px 24px rgba(0,0,0,0.18);
            }
            body.light-mode .user-chip {
                background: linear-gradient(135deg, #ffffff, #f8fafc);
                border-color: rgba(148, 163, 184, 0.24);
                box-shadow: 0 8px 18px rgba(148, 163, 184, 0.14);
            }
            .user-chip-info {
                text-align: left;
                flex: 1;
                padding-right: 8px;
            }
            .user-chip-name {
                max-width: calc(100vw - 176px);
                font-size: 13px;
                letter-spacing: 0;
            }
            .user-chip-role {
                font-size: 8px;
                letter-spacing: 0.8px;
                color: var(--neon-green);
            }
            .user-avatar-btn {
                width: 34px;
                height: 34px;
                border-radius: 8px;
                background: rgba(0, 230, 118, 0.12);
                border-color: rgba(0, 230, 118, 0.24);
                color: var(--neon-green);
                box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
            }
            .user-logout-btn {
                width: 34px;
                height: 34px;
                border-radius: 8px;
                border: 1px solid var(--card-border);
                background: rgba(255,255,255,0.03);
                color: var(--text-sec);
            }
            .eye-btn { width: 38px; height: 38px; border-radius: 8px; }
            .kpi-row {
                grid-template-columns: 1fr 1fr;
                gap: 10px;
                margin-bottom: 0;
            }
            .card {
                border-radius: 8px;
                padding: 13px;
                box-shadow: 0 10px 28px rgba(0,0,0,0.2);
            }
            body:not(.light-mode) .card { background: rgba(8,8,8,0.9) !important; }
            .kpi-label {
                font-size: 10px;
                margin-bottom: 6px;
                white-space: normal;
                letter-spacing: 0;
            }
            .kpi-value { font-size: clamp(16px, 4.5vw, 22px); letter-spacing: 0; }
            .charts-wrapper { gap: 14px; margin-top: 0; overflow: visible; padding-right: 0; margin-right: 0; }
            .charts-initial-viewport { flex: 0 0 auto; min-height: auto; gap: 14px; }
            .charts-row-top, .charts-row-bottom { flex-direction: column; height: auto; gap: 14px; }
            .charts-extra-grid { grid-template-columns: 1fr; gap: 14px; min-height: auto; padding-bottom: 0; }
            .spending-card { min-height: 320px; }
            .spending-big-value { font-size: clamp(24px, 8vw, 34px); }
            .spending-delta-label { font-size: 14px; }
            .spending-compare-copy { white-space: normal; }
            .spending-pace-chart-shell { min-height: 210px; }
            .heatmap-grid-wrap { min-height: 160px; }
            .spending-heat-grid { gap: 4px; }
            .chart-card { padding: 14px; min-height: 280px; }
            .category-chart-card { height: 400px; min-height: 400px; max-height: 400px; padding: 16px 14px 12px; overflow: hidden; }
            .chart-card.narrow { min-height: 230px; }
            .chart-container { height: 220px; }
            .chart-box { height: 220px; }
            .feed-container { height: auto; border: none; background: transparent; padding: 0; }
            .feed-header {
                position: sticky;
                top: var(--mobile-feed-header-top);
                z-index: 35;
                margin: 0 -8px 12px;
                padding: 14px;
                padding-top: var(--mobile-feed-header-padding-top);
                background: rgba(0,0,0,0.72);
                border-top: 1px solid rgba(255,255,255,0.04);
                border-bottom: 1px solid rgba(255,255,255,0.06);
                backdrop-filter: blur(16px);
                -webkit-backdrop-filter: blur(16px);
                transition: box-shadow 0.24s ease, background 0.24s ease;
            }
            body.mobile-feed-docked .feed-header {
                box-shadow: 0 12px 28px rgba(0,0,0,0.18);
            }
            body.light-mode .feed-header {
                background: rgba(248,250,252,0.82);
                border-color: rgba(148, 163, 184, 0.2);
            }
            .feed-header-title { font-size: 13px; letter-spacing: 0.5px; color: var(--text-main); }
            .feed-controls-box {
                height: auto;
                min-height: auto;
                gap: 8px;
            }
            .feed-search-row { align-items: center; }
            .feed-search-input {
                min-height: 38px;
                border-radius: 8px;
            }
            .feed-conta-wrap {
                flex: 0 0 136px;
                min-width: 136px;
                max-width: 136px;
            }
            .filter-row { gap: 7px; }
            .filter-group { height: 36px; border-radius: 8px; box-sizing: border-box; }
            .f-btn { height: 100%; min-height: unset; border-radius: 6px; font-size: 10px; letter-spacing: 0; }
            .status-dropdown { height: 36px; min-width: 96px; }
            .status-btn { height: 36px; min-height: 36px; border-radius: 8px; font-size: 10px; }
            .feed-summary { border-radius: 8px; padding: 14px; }
            .feed-content-area { margin-top: 0; padding-right: 0; overflow: visible; }
            .feed-list { margin-top: 0; padding-right: 0; padding-bottom: 24px; }
            .trans-item {
                border-radius: 8px;
                padding: 13px;
                align-items: center;
                gap: 10px;
                margin-bottom: 10px !important;
            }
            .trans-item:hover { transform: none; }
            .category-chart-header,
            .pay-chart-header { align-items: center; margin-bottom: 6px; }
            .category-chart-header .kpi-label,
            .pay-chart-header .kpi-label { margin: 0; line-height: 32px; }
            .category-toggle-btn,
            .pay-toggle-btn {
                display: flex !important;
                position: static;
                width: 32px;
                height: 32px;
                flex-basis: 32px;
                background: rgba(12,12,14,0.9);
                backdrop-filter: blur(10px);
            }
            .category-wrapper { flex-direction: column; height: auto; }
            #categoryWrapper { flex: 1 1 auto; height: 100%; min-height: 0; padding-top: 2px; overflow: hidden; }
            .category-wrapper .donut-side,
            .category-wrapper.legend-hidden .donut-side {
                width: 100% !important;
                height: 310px;
                flex: none;
                padding: 10px 0 6px;
            }
            .category-wrapper .legend-side,
            .category-wrapper.legend-hidden .legend-side {
                width: 100% !important;
                max-height: 200px;
                opacity: 1;
                pointer-events: auto;
                padding: 10px 0 0 0;
            }
            #categoryWrapper.legend-hidden .legend-side {
                display: none !important;
                max-height: 0;
                opacity: 0;
                pointer-events: none;
                padding: 0;
                overflow: hidden;
            }
            #categoryWrapper.detail-mode .donut-side {
                display: none !important;
                height: 0;
                opacity: 0;
                padding: 0;
                overflow: hidden;
                pointer-events: none;
            }
            #categoryWrapper.detail-mode .legend-side {
                display: flex !important;
                flex: 1 1 auto;
                height: 100%;
                max-height: 100%;
                min-height: 0;
                opacity: 1;
                pointer-events: auto;
                padding: 10px 0 0 0;
                overflow-y: auto;
                overflow-x: hidden;
                overscroll-behavior: contain;
            }
            .category-detail-head,
            .category-detail-list .legend-item {
                grid-template-columns: minmax(0, 1fr) minmax(82px, auto) 50px;
                gap: 8px;
            }
            .category-detail-head { padding-inline: 6px; }
            .category-detail-list .legend-item { min-height: 32px; padding: 6px; }
            .category-detail-list .l-val { font-size: 12px; }
            .category-detail-list .l-percent { min-width: 44px; padding: 2px 4px; }

            .sidebar.compact .logo-text-col { display: flex !important; }
            .sidebar.compact .brand { justify-content: flex-start !important; margin-bottom: 18px !important; }
            .sidebar.compact .brand i { margin: -4px 0 0 0 !important; font-size: 28px !important; }
            .sidebar.compact .new-btn-wrapper,
            .sidebar.compact .tools-grid,
            .sidebar.compact .btn-ai {
                width: 100% !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
            }
            .sidebar.compact .btn-new {
                width: 100% !important;
                height: 48px !important;
                min-height: 48px !important;
                font-size: 13px !important;
                padding: 0 16px !important;
                gap: 10px !important;
                flex-direction: row !important;
                border-radius: 8px !important;
            }
            .sidebar.compact .btn-new i {
                width: auto !important;
                height: auto !important;
                margin: 0 !important;
                font-size: inherit !important;
                display: inline-flex !important;
                transform: none !important;
            }
            .sidebar.compact .menu-title { display: block !important; }
            .sidebar.compact .tools-grid {
                display: grid !important;
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
                gap: 8px !important;
                justify-content: stretch !important;
                justify-items: stretch !important;
            }
            .sidebar.compact .tools-grid .btn-menu-sec {
                width: 100% !important;
                height: 58px !important;
                min-height: 58px !important;
                font-size: 9px !important;
                padding: 9px 5px !important;
                flex-direction: column !important;
                gap: 5px !important;
                border-radius: 8px !important;
                margin-bottom: 0 !important;
            }
            .sidebar.compact .tools-grid .btn-menu-sec i {
                margin: 0 0 2px 0 !important;
                font-size: 16px !important;
                line-height: 1 !important;
            }
            .sidebar.compact .btn-ai {
                width: 100% !important;
                height: 42px !important;
                min-height: 42px !important;
                margin-top: 8px !important;
                margin-bottom: 0 !important;
                font-size: 9px !important;
                padding: 0 12px !important;
                gap: 7px !important;
                flex-direction: row !important;
                border-radius: 8px !important;
            }
            .sidebar.compact .btn-ai .sparkles-icon {
                width: 16px !important;
                height: 16px !important;
                margin: 0 !important;
            }
            .sidebar.compact #btnClone,
            .sidebar.compact #btnExport,
            .sidebar.compact #btnPresentation {
                display: flex !important;
                max-height: 60px !important; opacity: 1 !important; margin-bottom: 0 !important; padding: 12px 5px !important;
                transform: none !important; pointer-events: auto !important; visibility: visible !important;
            }
            .sidebar.compact .month-item .expanded-text { display: block !important; }
            .sidebar.compact .month-item .compact-text { display: none !important; }
            .sidebar.compact .month-item { justify-content: space-between !important; padding: 10px 12px !important; }

            .toggle-btn { display: none; }

            .mobile-bottom-actions {
                position: fixed;
                left: 50%;
                bottom: max(14px, env(safe-area-inset-bottom));
                transform: translateX(-50%);
                z-index: 54;
                display: grid;
                grid-template-columns: repeat(3, minmax(74px, 1fr));
                gap: 8px;
                width: min(330px, calc(100vw - 28px));
                padding: 9px;
                border-radius: 999px;
                background: rgba(8, 8, 8, 0.84);
                border: 1px solid rgba(255,255,255,0.1);
                box-shadow: 0 18px 46px rgba(0,0,0,0.5);
                backdrop-filter: blur(18px);
                -webkit-backdrop-filter: blur(18px);
            }
            body.light-mode .mobile-bottom-actions {
                background: rgba(255,255,255,0.9);
                border-color: rgba(148, 163, 184, 0.28);
                box-shadow: 0 18px 42px rgba(148, 163, 184, 0.26);
            }
            .mobile-float-btn {
                min-height: 52px;
                border: 1px solid var(--card-border);
                border-radius: 999px;
                background: rgba(255,255,255,0.05);
                color: var(--text-sec);
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 5px;
                font-size: 10px;
                font-weight: 800;
                letter-spacing: 0;
                cursor: pointer;
                box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
            }
            .mobile-float-btn i { font-size: 16px; }
            .mobile-float-btn.primary {
                background: var(--neon-green);
                border-color: var(--neon-green);
                color: #001b0e;
                box-shadow: 0 10px 24px rgba(0, 230, 118, 0.24);
            }
            .mobile-float-btn.ai {
                position: relative;
                isolation: isolate;
                overflow: hidden;
                background: rgba(255,255,255,0.05);
                border-color: transparent;
                color: var(--text-main);
            }
            .mobile-float-btn.ai::before {
                content: '';
                position: absolute;
                inset: 0;
                border-radius: inherit;
                padding: 1px;
                background: conic-gradient(from var(--ai-rainbow-angle, 205deg) at 50% 50%, #00E5FF 0deg, #2979FF 42deg, #8B5CF6 86deg, #D500F9 132deg, #FF4757 185deg, #FFC400 235deg, #00E676 300deg, #00E5FF 360deg);
                animation: aiRainbowBorder 3.8s linear infinite;
                -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
                -webkit-mask-composite: xor;
                mask-composite: exclude;
                pointer-events: none;
                z-index: 0;
            }
            .mobile-float-btn.ai .sparkles-icon,
            .mobile-float-btn.ai span {
                position: relative;
                z-index: 1;
            }
            .mobile-float-btn.ai .sparkles-icon {
                width: 16px;
                height: 16px;
                color: #ffffff;
            }
            body.light-mode .mobile-float-btn.ai {
                background: #f8fafc;
                color: #334155;
            }
            body.light-mode .mobile-float-btn.ai .sparkles-icon {
                color: #334155;
            }
            .back-to-top-btn {
                position: fixed;
                right: 16px;
                bottom: 92px;
                border-radius: 8px;
            }

            /* Form Responsiveness */
            .modal-box { padding: 18px; width: calc(100% - 20px); max-height: 88vh; border-radius: 8px; }
            #modalOverlay {
                align-items: flex-end;
                justify-content: center;
                background: rgba(0,0,0,0.58);
                backdrop-filter: blur(3px);
                -webkit-backdrop-filter: blur(3px);
            }
            #modalOverlay .modal-box {
                width: calc(100% - 20px);
                max-width: 520px;
                max-height: calc(100dvh - 18px);
                padding: 0;
                border-radius: 22px 22px 0 0;
                overflow: hidden;
                display: flex;
                flex-direction: column;
                transform: translateY(110%);
                transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
                box-shadow: 0 -18px 60px rgba(0,0,0,0.72), 0 1px 0 rgba(255,255,255,0.06) inset;
            }
            #modalOverlay.active .modal-box {
                transform: translateY(0);
            }
            #modalOverlay.is-parcel-active .modal-box {
                max-height: calc(100dvh - 48px);
                overflow-y: auto !important;
            }
            #modalOverlay.is-parcel-active .modal-main-panel,
            #modalOverlay.is-notes-active .modal-main-panel {
                flex: none;
                max-height: none;
                overflow: visible !important;
                border-radius: 22px 22px 0 0;
            }
            #modalOverlay.is-parcel-active .modal-parcel-panel {
                contain: none;
                width: 100%;
                min-width: 0;
                height: min(440px, 65dvh);
                flex-shrink: 0;
                border-left: 0;
                border-top: 1px solid rgba(255, 255, 255, 0.08);
                border-radius: 0;
            }
            #modalOverlay .modal-box::before {
                width: 44px;
                height: 4px;
                left: 50%;
                top: 10px;
                transform: translateX(-50%);
                border-radius: 999px;
                background: rgba(255,255,255,0.28);
            }
            #modalOverlay .modal-header {
                padding: 26px 18px 14px;
                margin-bottom: 0;
                border-bottom: 1px solid var(--card-border);
                flex-shrink: 0;
            }
            #modalOverlay .modal-title {
                font-size: 18px;
                line-height: 1.2;
            }
            #modalOverlay .btn-close-modal {
                width: 36px;
                height: 36px;
                border-radius: 50%;
            }
            #modalOverlay #transForm {
                overflow-y: auto;
                padding: 16px 16px max(18px, env(safe-area-inset-bottom));
                scrollbar-width: none;
            }
            #modalOverlay.is-notes-active #transForm {
                padding-bottom: 12px;
                overflow-y: auto !important;
            }
            #modalOverlay #transForm::-webkit-scrollbar {
                display: none;
            }
            #modalOverlay .type-toggle-group {
                position: sticky;
                top: 0;
                z-index: 3;
                margin: -2px 0 18px;
                padding: 5px;
                border-radius: 999px;
                background: rgba(255,255,255,0.05);
                backdrop-filter: blur(14px);
                -webkit-backdrop-filter: blur(14px);
            }
            #modalOverlay .type-btn {
                border-radius: 999px;
                padding: 13px 10px;
                font-size: 12px;
            }
            #modalOverlay .form-label {
                margin-bottom: 8px;
                font-size: 10px;
                letter-spacing: 0;
            }
            #modalOverlay .form-input,
            #modalOverlay .form-select,
            #modalOverlay .custom-select-trigger {
                min-height: 48px;
                border-radius: 14px;
                padding: 13px 14px;
                margin-bottom: 14px;
                font-size: 15px;
                background: rgba(255,255,255,0.045);
            }
            #modalOverlay .launch-date-row {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 10px;
            }
            #modalOverlay .launch-date-row .col:first-child {
                grid-column: 1 / -1;
            }
            #modalOverlay .launch-tax-row {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 10px;
            }
            #modalOverlay .row .col {
                min-width: 0;
            }
            #modalOverlay .toggle-row {
                min-height: 48px;
                padding: 10px 12px;
                border: 1px solid var(--card-border);
                border-radius: 14px;
                background: rgba(255,255,255,0.035);
                margin-top: 0;
            }
            #modalOverlay #divParcelas {
                display: none;
            }
            #modalOverlay #divParcelas[style*="block"] {
                display: block !important;
            }
            #modalOverlay #divParcelas > div {
                width: 100%;
                gap: 10px !important;
                align-items: center;
            }
            #modalOverlay #colQtd {
                min-width: 86px;
            }
            #modalOverlay #colQtd .form-input {
                margin-bottom: 0;
            }
            #modalOverlay #btnSalvar {
                position: sticky;
                bottom: 0;
                z-index: 4;
                min-height: 52px;
                margin-top: 18px;
                border-radius: 999px;
                box-shadow: 0 -8px 24px rgba(0,0,0,0.32), 0 8px 24px rgba(255,71,87,0.24);
            }
            #modalOverlay #btnSalvar.receita {
                box-shadow: 0 -8px 24px rgba(0,0,0,0.32), 0 8px 24px rgba(0,230,118,0.24);
            }
            #modalOverlay .modal-notes-panel {
                width: 100%;
                min-width: 0;
                height: min(34dvh, 280px);
                min-height: 220px;
                border-left: 0;
                border-top: 1px solid rgba(255, 255, 255, 0.08);
                padding: 14px 16px max(16px, env(safe-area-inset-bottom));
                border-radius: 0;
            }
            #modalOverlay .notes-textarea {
                min-height: 0;
                font-size: 15px;
            }
            #modalOverlay .notes-editor {
                min-height: 0;
                font-size: 15px;
            }
            body.light-mode #modalOverlay .modal-box {
                background: #ffffff;
                box-shadow: 0 -18px 48px rgba(15,23,42,0.24);
            }
            body.light-mode #modalOverlay .modal-box::before {
                background: rgba(100,116,139,0.32);
            }
            body.light-mode #modalOverlay .type-toggle-group,
            body.light-mode #modalOverlay .form-input,
            body.light-mode #modalOverlay .form-select,
            body.light-mode #modalOverlay .custom-select-trigger,
            body.light-mode #modalOverlay .toggle-row {
                background: #f8fafc;
            }
            body.light-mode #modalOverlay.is-parcel-active .modal-parcel-panel {
                border-top-color: #e2e8f0;
            }
            .flatpickr-calendar.open {
                position: fixed !important;
                top: 50% !important;
                left: 50% !important;
                right: auto !important;
                bottom: auto !important;
                width: min(340px, calc(100vw - 28px)) !important;
                max-width: calc(100vw - 28px) !important;
                max-height: calc(100dvh - 96px);
                transform: translate(-50%, -50%) !important;
                overflow-y: auto;
            }
            .flatpickr-calendar .flatpickr-rContainer,
            .flatpickr-calendar .flatpickr-days,
            .flatpickr-calendar .dayContainer {
                width: 100% !important;
                min-width: 0 !important;
                max-width: none !important;
            }
            .flatpickr-calendar .dayContainer {
                display: grid;
                grid-template-columns: repeat(7, 1fr);
                gap: 2px;
            }
            .flatpickr-calendar .flatpickr-day {
                width: auto;
                max-width: none;
                margin: 0;
            }
            .report-controls { display: flex !important; flex-direction: column; height: auto !important; gap: 10px; }
            .report-controls > div { width: 100%; grid-column: auto !important; }
            .report-controls .btn-submit { width: 100% !important; margin-top: 5px !important; }
            #advisorModalOverlay .modal-box {
                width: calc(100% - 20px) !important;
                max-width: calc(100% - 20px) !important;
                height: calc(100dvh - 22px) !important;
                max-height: calc(100dvh - 22px) !important;
                border-radius: 8px;
            }
            #advisorModalOverlay .modal-header {
                padding: 14px 16px !important;
                gap: 10px;
            }
            #advisorModalOverlay .modal-title {
                font-size: 15px;
                line-height: 1.2;
                min-width: 0;
            }
            #advisorModalOverlay .advisor-controls {
                display: grid !important;
                grid-template-columns: 1fr 1fr;
                gap: 10px !important;
                align-items: end !important;
                padding: 12px !important;
                height: auto !important;
            }
            #advisorModalOverlay .advisor-controls > div {
                min-width: 0;
            }
            #advisorModalOverlay .advisor-controls .form-label {
                margin-bottom: 5px !important;
                font-size: 10px;
                letter-spacing: 0;
            }
            #advisorModalOverlay .advisor-controls .form-input {
                height: 40px !important;
                padding: 10px 12px;
                font-size: 13px;
            }
            #advisorModalOverlay .advisor-controls .btn-submit {
                grid-column: 1 / -1;
                width: 100% !important;
                height: 40px !important;
                margin: 0 !important;
                padding: 0 14px !important;
            }
            #advisorModalOverlay .chat-box-area {
                padding: 14px 12px !important;
                gap: 12px !important;
            }
            #advisorModalOverlay .chat-msg {
                max-width: 100%;
                gap: 8px;
            }
            #advisorModalOverlay .chat-avatar {
                width: 28px;
                height: 28px;
                font-size: 12px;
            }
            #advisorModalOverlay .chat-bubble {
                padding: 12px 13px;
                border-radius: 8px;
                font-size: 13px;
                line-height: 1.45;
                max-width: 100%;
            }
            #advisorModalOverlay .chat-input-bar {
                padding: 10px 12px max(10px, env(safe-area-inset-bottom)) !important;
                gap: 8px !important;
            }
            #advisorModalOverlay .chat-input-bar .form-input {
                height: 42px !important;
                min-width: 0;
                padding: 10px 12px;
                font-size: 13px;
            }
            #advisorModalOverlay .chat-input-bar .btn-submit {
                width: 42px !important;
                height: 42px !important;
                padding: 0 !important;
                flex: 0 0 42px;
            }
            .config-grid { grid-template-columns: 1fr; }
            .trans-item { padding: 12px; }
        }

        .chat-box-area {
            flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 15px;
            scroll-behavior: smooth; min-height: 0;
        }
        .chat-msg { display: flex; gap: 12px; max-width: 92%; animation: fadeIn 0.3s ease; }
        .chat-msg.user { align-self: flex-end; flex-direction: row-reverse; }
        .chat-msg.ai { align-self: flex-start; }

        .chat-avatar {
            width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center;
            flex-shrink: 0; font-size: 14px; box-shadow: 0 4px 10px rgba(0,0,0,0.3); overflow: hidden;
        }
        .chat-msg.ai .chat-avatar {
            background: rgba(0, 230, 118, 0.08);
            color: var(--neon-green);
            border: 1px solid rgba(0, 230, 118, 0.2);
        }
        .chat-msg.user .chat-avatar {
            width: 34px;
            height: 34px;
            border-radius: 8px;
            background: rgba(0, 230, 118, 0.15);
            color: var(--neon-green);
            border: 1px solid rgba(0, 230, 118, 0.25);
            overflow: hidden;
        }
        .chat-msg.user .chat-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .chat-msg.ai .chat-avatar .sparkles-icon {
            width: 17px;
            height: 17px;
            color: var(--neon-green);
        }
        body.light-mode .chat-msg.ai .chat-avatar {
            background: #f8fafc;
            color: #64748b;
            border-color: #e2e8f0;
        }

        .chat-bubble {
            background: linear-gradient(180deg, rgba(255,255,255,0.055) 0%, rgba(255,255,255,0.03) 100%);
            padding: 16px 18px; border-radius: 18px; font-size: 14px; line-height: 1.7;
            color: var(--text-main); border: 1px solid rgba(255,255,255,0.08); position: relative; word-wrap: break-word;
            box-shadow: 0 14px 32px rgba(0,0,0,0.22);
            min-width: 0;
        }
        .chat-msg.ai .chat-bubble {
            border-top-left-radius: 6px;
            background: linear-gradient(180deg, rgba(16,16,18,0.98) 0%, rgba(7,7,8,0.98) 100%);
            border-color: rgba(255,255,255,0.07);
        }
        .chat-msg.user .chat-bubble {
            border-top-right-radius: 6px;
            background: linear-gradient(180deg, rgba(0, 230, 118, 0.12) 0%, rgba(0, 230, 118, 0.05) 100%);
            border-color: rgba(0, 230, 118, 0.25);
        }

        .chat-bubble h1, .chat-bubble h2, .chat-bubble h3 {
            margin: 0 0 12px; color: var(--text-main); font-weight: 900; line-height: 1.2;
        }
        .chat-bubble h1 { font-size: 22px; letter-spacing: -0.02em; color: #f8fafc; }
        .chat-bubble h2 { font-size: 17px; letter-spacing: -0.01em; color: #e2e8f0; }
        .chat-bubble h3 { font-size: 13px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--neon-green); }
        .chat-bubble strong { color: #ffffff; font-weight: 800; }
        .chat-bubble em { color: #cbd5e1; }
        .chat-bubble p { margin: 0 0 14px; color: var(--text-sec); }
        .chat-bubble p:last-child { margin-bottom: 0; }
        .chat-bubble ul, .chat-bubble ol { margin: 0 0 16px; padding-left: 20px; }
        .chat-bubble li { margin-bottom: 10px; color: var(--text-sec); }
        .chat-bubble li:last-child { margin-bottom: 0; }
        .chat-bubble blockquote {
            margin: 0 0 16px;
            padding: 12px 14px;
            border-left: 3px solid rgba(0,230,118,0.55);
            background: rgba(255,255,255,0.03);
            border-radius: 0 12px 12px 0;
            color: #cbd5e1;
        }
        .chat-bubble pre {
            margin: 0 0 16px;
            padding: 14px 16px;
            overflow-x: auto;
            border-radius: 14px;
            background: rgba(2,6,23,0.95);
            border: 1px solid rgba(148,163,184,0.16);
            color: #e2e8f0;
            font-size: 12px;
            line-height: 1.55;
        }
        .chat-bubble code {
            font-family: 'JetBrains Mono', 'Fira Code', monospace;
            font-size: 0.92em;
        }
        .chat-bubble :not(pre) > code {
            display: inline-block;
            padding: 1px 7px;
            border-radius: 999px;
            background: rgba(255,255,255,0.08);
            color: #f8fafc;
        }
        .chat-bubble a {
            color: var(--neon-green);
            text-decoration: none;
            border-bottom: 1px solid rgba(0, 230, 118, 0.35);
        }

        #advisorModalOverlay .form-input { margin-bottom: 0 !important; height: 48px !important; }
        #advisorModalOverlay .form-input:focus { border-color: var(--neon-green); box-shadow: 0 0 0 3px rgba(0, 230, 118, 0.15); }
        #advisorModalOverlay .chat-bubble.is-error { color: var(--neon-red); border-color: rgba(255,71,87,0.22); }
        #advisorModalOverlay .advisor-controls,
        #advisorModalOverlay .advisor-summary-panel {
            display: none !important;
        }
        #advisorModalOverlay .advisor-modal-shell {
            width: min(1120px, 96vw);
            height: min(94vh, 960px);
            display: flex;
            flex-direction: column;
            padding: 0;
            overflow: hidden;
            border-radius: 24px;
            border: 1px solid rgba(0, 230, 118, 0.18);
            background:
                radial-gradient(circle at top left, rgba(0, 230, 118, 0.08), transparent 35%),
                radial-gradient(circle at top right, rgba(0, 230, 118, 0.04), transparent 30%),
                #080808;
        }
        #advisorModalOverlay .advisor-modal-header {
            padding: 18px 22px;
            border-bottom: 1px solid rgba(255,255,255,0.07);
            margin-bottom: 0;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            background: rgba(8,8,10,0.95);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        #advisorModalOverlay .advisor-modal-title-wrap {
            min-width: 0;
        }
        #advisorModalOverlay .advisor-title-row {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }
        #advisorModalOverlay .advisor-status-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 2px 8px;
            border-radius: 999px;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.03em;
            background: rgba(0, 230, 118, 0.08);
            border: 1px solid rgba(0, 230, 118, 0.25);
            color: var(--neon-green);
        }
        #advisorModalOverlay .advisor-status-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--neon-green);
            box-shadow: 0 0 8px var(--neon-green);
            animation: pulseAdvisorDot 2s infinite ease-in-out;
        }
        @keyframes pulseAdvisorDot {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.35; transform: scale(0.75); }
        }
        #advisorModalOverlay .advisor-modal-subtitle {
            margin: 6px 0 0;
            color: var(--text-muted);
            font-size: 12px;
            line-height: 1.4;
        }
        #advisorModalOverlay .advisor-modal-actions {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-shrink: 0;
        }
        #advisorModalOverlay .advisor-reset-btn {
            height: 38px;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 0 14px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,0.1);
            background: rgba(255,255,255,0.04);
            color: var(--text-main);
            font-size: 12px;
            font-weight: 800;
            cursor: pointer;
            transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
        }
        #advisorModalOverlay .advisor-reset-btn:hover {
            transform: translateY(-1px);
            border-color: rgba(0, 230, 118, 0.4);
            background: rgba(0, 230, 118, 0.09);
            color: var(--neon-green);
        }
        #advisorModalOverlay .advisor-chat-area {
            flex: 1;
            padding: 24px 22px;
            gap: 18px;
            background:
                linear-gradient(180deg, rgba(255,255,255,0.015) 0%, rgba(255,255,255,0) 100%),
                transparent;
        }
        #advisorModalOverlay .advisor-chat-input-bar {
            padding: 16px 22px;
            border-top: 1px solid rgba(255,255,255,0.07);
            display: flex;
            gap: 12px;
            align-items: flex-end;
            flex-shrink: 0;
            background: rgba(8,8,10,0.95);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        #advisorModalOverlay .advisor-chat-textarea {
            min-height: 52px;
            max-height: 160px;
            resize: none;
            padding: 14px 16px;
            line-height: 1.45;
            overflow-y: auto;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid var(--card-border);
            color: var(--text-main);
            border-radius: 12px;
            outline: none;
            transition: border-color 0.2s, box-shadow 0.2s;
        }
        #advisorModalOverlay .advisor-chat-textarea:focus {
            border-color: var(--neon-green);
            box-shadow: 0 0 0 3px rgba(0, 230, 118, 0.15);
        }
        #advisorModalOverlay .advisor-send-btn {
            width: 52px;
            min-width: 52px;
            height: 52px;
            margin: 0;
            padding: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: var(--neon-green);
            color: #000;
            border-radius: 12px;
            border: none;
            font-size: 16px;
            cursor: pointer;
            box-shadow: 0 8px 20px rgba(0, 230, 118, 0.3);
            transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s;
        }
        #advisorModalOverlay .advisor-send-btn:hover:not(:disabled) {
            transform: translateY(-1px);
            box-shadow: 0 10px 25px rgba(0, 230, 118, 0.4);
        }
        #advisorModalOverlay .advisor-send-btn:disabled,
        #advisorModalOverlay .advisor-chat-textarea:disabled {
            opacity: 0.62;
            cursor: not-allowed;
        }
        #advisorModalOverlay .advisor-welcome-bubble {
            min-width: min(720px, 100%);
            max-width: 100%;
        }
        #advisorModalOverlay .advisor-welcome-intro {
            margin-bottom: 16px;
        }
        #advisorModalOverlay .advisor-welcome-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 10px;
            padding: 7px 11px;
            border-radius: 999px;
            background: rgba(0, 230, 118, 0.08);
            border: 1px solid rgba(0, 230, 118, 0.2);
            color: var(--neon-green);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }
        #advisorModalOverlay .advisor-welcome-title {
            margin: 0 0 8px;
            font-size: clamp(20px, 2.6vw, 28px);
            line-height: 1.05;
            letter-spacing: -0.03em;
            color: #f8fafc;
        }
        #advisorModalOverlay .advisor-welcome-copy {
            margin: 0;
            color: #cbd5e1;
            font-size: 14px;
        }
        #advisorModalOverlay .advisor-period-card {
            padding: 18px;
            border-radius: 18px;
            background: linear-gradient(180deg, rgba(255,255,255,0.045) 0%, rgba(255,255,255,0.02) 100%);
            border: 1px solid rgba(255,255,255,0.08);
        }
        #advisorModalOverlay .advisor-period-head {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 16px;
        }
        #advisorModalOverlay .advisor-period-head strong {
            display: block;
            margin-bottom: 5px;
            font-size: 14px;
        }
        #advisorModalOverlay .advisor-period-head span {
            display: block;
            color: var(--text-muted);
            font-size: 12px;
            line-height: 1.45;
        }
        #advisorModalOverlay .advisor-period-badge {
            padding: 8px 10px;
            border-radius: 999px;
            background: rgba(0,230,118,0.08);
            border: 1px solid rgba(0,230,118,0.2);
            color: var(--neon-green);
            font-size: 11px;
            font-weight: 800;
            white-space: nowrap;
        }
        #advisorModalOverlay .advisor-period-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }
        #advisorModalOverlay .advisor-period-field {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        #advisorModalOverlay .advisor-period-field span {
            color: var(--text-muted);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }
        #advisorModalOverlay .advisor-period-field input {
            height: 46px !important;
        }
        #advisorModalOverlay .advisor-period-field input:focus {
            border-color: var(--neon-green);
            box-shadow: 0 0 0 3px rgba(0, 230, 118, 0.15);
        }
        #advisorModalOverlay .advisor-period-presets {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 14px;
        }
        #advisorModalOverlay .advisor-period-pill {
            height: 34px;
            padding: 0 12px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,0.09);
            background: rgba(255,255,255,0.03);
            color: var(--text-main);
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        #advisorModalOverlay .advisor-period-pill:hover {
            border-color: rgba(0, 230, 118, 0.35);
            background: rgba(0, 230, 118, 0.08);
            color: var(--neon-green);
        }
        #advisorModalOverlay .advisor-period-cta {
            width: 100%;
            margin-top: 14px;
            height: 46px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            border: 0;
            border-radius: 14px;
            background: var(--neon-green);
            color: #000;
            font-weight: 900;
            cursor: pointer;
            box-shadow: 0 8px 25px rgba(0, 230, 118, 0.28);
            transition: transform 0.2s, box-shadow 0.2s;
        }
        #advisorModalOverlay .advisor-period-cta:hover {
            transform: translateY(-1px);
            box-shadow: 0 10px 30px rgba(0, 230, 118, 0.4);
        }
        #advisorModalOverlay .advisor-period-note {
            margin-top: 12px;
            color: var(--text-muted);
            font-size: 12px;
            line-height: 1.45;
        }
        #advisorModalOverlay .advisor-memory-panel {
            margin-top: 14px;
            padding: 14px;
            border-radius: 14px;
            background: rgba(255,255,255,0.035);
            border: 1px solid rgba(255,255,255,0.08);
        }
        #advisorModalOverlay .advisor-memory-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
        }
        #advisorModalOverlay .advisor-memory-field {
            display: flex;
            flex-direction: column;
            gap: 6px;
            min-width: 0;
        }
        #advisorModalOverlay .advisor-memory-field span {
            color: var(--text-muted);
            font-size: 10px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }
        #advisorModalOverlay .advisor-memory-field select,
        #advisorModalOverlay .advisor-memory-field input {
            height: 42px !important;
            min-width: 0;
            font-size: 12px;
        }
        #advisorModalOverlay .advisor-start-focus {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 12px;
        }
        #advisorModalOverlay .advisor-chip-btn,
        #advisorModalOverlay .advisor-action-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            min-height: 34px;
            padding: 8px 11px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,0.09);
            background: rgba(255,255,255,0.04);
            color: var(--text-main);
            font-size: 12px;
            font-weight: 800;
            cursor: pointer;
            transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
        }
        #advisorModalOverlay .advisor-chip-btn:hover,
        #advisorModalOverlay .advisor-action-btn:hover {
            transform: translateY(-1px);
            border-color: rgba(0, 230, 118, 0.4);
            background: rgba(0, 230, 118, 0.08);
            color: var(--neon-green);
        }
        #advisorModalOverlay .advisor-quick-actions {
            display: none;
            flex-wrap: wrap;
            gap: 8px;
            padding: 12px 22px 0;
            border-top: 1px solid rgba(255,255,255,0.07);
            background: rgba(0,0,0,0.24);
            flex-shrink: 0;
        }
        #advisorModalOverlay .advisor-quick-actions.active {
            display: flex;
        }
        #advisorModalOverlay .advisor-privacy-notice {
            display: flex;
            gap: 8px;
            align-items: flex-start;
            margin-top: 8px;
            padding: 8px 10px;
            border: none;
            border-radius: 8px;
            background: transparent;
            color: #94a3b8;
            font-size: 11px;
            line-height: 1.45;
        }
        #advisorModalOverlay .advisor-welcome-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            flex-wrap: wrap;
        }
        #advisorModalOverlay .advisor-privacy-welcome {
            width: fit-content;
            max-width: 100%;
            margin: 0;
            padding: 5px 9px;
            border-radius: 999px;
            font-size: 10px;
            line-height: 1.25;
            background: transparent;
            margin-left: auto;
        }
        #advisorModalOverlay .advisor-privacy-welcome span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        #advisorModalOverlay .advisor-privacy-notice i { color: #94a3b8; margin-top: 1px; }
        #advisorModalOverlay .advisor-usage-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            flex-shrink: 0;
            gap: 10px 20px;
            padding: 10px 22px;
            color: #a8b5c5;
            font-size: 11px;
            line-height: 1.5;
        }
        #advisorModalOverlay .advisor-usage-summary { min-width: 0; flex: 1 1 240px; }
        #advisorModalOverlay .advisor-usage-status { display: flex; align-items: baseline; gap: 7px; }
        #advisorModalOverlay .advisor-usage-status i { color: var(--neon-green); opacity: .7; font-size: 10px; }
        #advisorModalOverlay .advisor-usage-hint { display: block; margin-left: 17px; color: #8491a3; font-size: 10px; }
        #advisorModalOverlay .advisor-provider-toggle {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            padding: 6px 10px;
            border: 1px solid rgba(255,255,255,.09);
            border-radius: 999px;
            background: rgba(255,255,255,.025);
            cursor: pointer;
        }
        #advisorModalOverlay .advisor-provider-toggle[hidden] { display: none; }
        #advisorModalOverlay .advisor-provider-toggle small { font-size: inherit; color: #8491a3; }
        #advisorModalOverlay .advisor-provider-toggle input {
            appearance: none;
            -webkit-appearance: none;
            width: 28px;
            height: 16px;
            margin: 0;
            flex-shrink: 0;
            border: 1px solid #526071;
            border-radius: 999px;
            background: #242b34;
            cursor: pointer;
            position: relative;
        }
        #advisorModalOverlay .advisor-provider-toggle input::before {
            content: '';
            position: absolute;
            width: 10px;
            height: 10px;
            left: 2px;
            top: 2px;
            border-radius: 50%;
            background: #a8b5c5;
            transition: transform .15s ease;
        }
        #advisorModalOverlay .advisor-provider-toggle input:checked { background: rgba(0,230,118,.15); border-color: var(--neon-green); }
        #advisorModalOverlay .advisor-provider-toggle input:checked::before { transform: translateX(12px); background: var(--neon-green); }
        #advisorModalOverlay .advisor-provider-toggle input:focus-visible { outline: 2px solid var(--neon-green); outline-offset: 3px; }
        #advisorModalOverlay .advisor-actions-bubble {
            max-width: 760px;
        }
        #advisorModalOverlay .advisor-action-list {
            display: grid;
            gap: 10px;
        }
        #advisorModalOverlay .advisor-action-card {
            display: grid;
            grid-template-columns: 34px minmax(0, 1fr) auto;
            gap: 10px;
            align-items: center;
            padding: 11px;
            border-radius: 12px;
            border: 1px solid rgba(255,255,255,0.07);
            background: rgba(255,255,255,0.035);
        }
        #advisorModalOverlay .advisor-action-icon {
            width: 34px;
            height: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 10px;
            background: rgba(0, 230, 118, 0.12);
            color: var(--neon-green);
        }
        #advisorModalOverlay .advisor-action-main strong {
            display: block;
            margin-bottom: 3px;
            color: var(--text-main);
            font-size: 13px;
        }
        #advisorModalOverlay .advisor-action-main span {
            display: block;
            color: var(--text-sec);
            font-size: 12px;
            line-height: 1.4;
        }
        #advisorModalOverlay .advisor-scenario-options {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 12px;
        }

        /* AI Chat Rich Formatting (Tables, Dividers, Lists) */
        #advisorModalOverlay .chat-bubble {
            word-break: break-word;
            line-height: 1.55;
        }
        #advisorModalOverlay .chat-bubble p {
            margin: 0 0 10px;
        }
        #advisorModalOverlay .chat-bubble p:last-child {
            margin-bottom: 0;
        }
        #advisorModalOverlay .chat-bubble ul,
        #advisorModalOverlay .chat-bubble ol {
            margin: 6px 0 12px 18px;
            padding: 0;
        }
        #advisorModalOverlay .chat-bubble li {
            margin-bottom: 5px;
            line-height: 1.45;
        }
        #advisorModalOverlay .chat-bubble strong {
            color: #ffffff;
            font-weight: 700;
        }
        #advisorModalOverlay .chat-table-wrapper {
            width: 100%;
            overflow-x: auto;
            margin: 14px 0;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.09);
            background: linear-gradient(180deg, rgba(18, 26, 22, 0.95) 0%, rgba(10, 15, 12, 0.98) 100%);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }
        #advisorModalOverlay .chat-table {
            width: 100%;
            min-width: 560px;
            border-collapse: collapse;
            font-size: 12.5px;
            text-align: left;
        }
        #advisorModalOverlay .chat-table th {
            background: rgba(0, 230, 118, 0.09);
            color: var(--neon-green);
            padding: 10px 12px;
            font-weight: 700;
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.07em;
            border-bottom: 1px solid rgba(0, 230, 118, 0.2);
            white-space: nowrap;
        }
        #advisorModalOverlay .chat-table th.col-numeric,
        #advisorModalOverlay .chat-table td.col-numeric {
            text-align: right;
            font-variant-numeric: tabular-nums;
            white-space: nowrap;
        }
        #advisorModalOverlay .chat-table th.col-date,
        #advisorModalOverlay .chat-table td.col-date,
        #advisorModalOverlay .chat-table th.col-nowrap,
        #advisorModalOverlay .chat-table td.col-nowrap,
        #advisorModalOverlay .chat-table td:first-child {
            white-space: nowrap;
        }
        #advisorModalOverlay .chat-table td {
            padding: 9px 12px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            color: #cbd5e1;
            font-variant-numeric: tabular-nums;
            text-align: left;
            word-break: normal;
        }
        #advisorModalOverlay .chat-table td:first-child {
            color: #f1f5f9;
            font-weight: 600;
            font-size: 12.5px;
            white-space: nowrap;
        }
        #advisorModalOverlay .chat-table td:last-child {
            font-weight: 600;
            color: #f8fafc;
        }
        #advisorModalOverlay .chat-table tbody tr:nth-child(even) {
            background: rgba(255, 255, 255, 0.018);
        }
        #advisorModalOverlay .chat-table tbody tr:hover {
            background: rgba(0, 230, 118, 0.05);
        }
        #advisorModalOverlay .chat-table tr:last-child td {
            border-bottom: none;
        }
        #advisorModalOverlay .chat-divider {
            border: none;
            border-top: 1px solid rgba(255, 255, 255, 0.09);
            margin: 16px 0;
        }
        @media (max-width: 900px) {
            #advisorModalOverlay .advisor-modal-header {
                align-items: flex-start;
                flex-direction: row;
            }
            #advisorModalOverlay .advisor-modal-actions {
                width: auto;
                justify-content: flex-end;
            }
            #advisorModalOverlay .advisor-period-grid {
                grid-template-columns: 1fr;
            }
        }
        @media (max-width: 600px) {
            #advisorModalOverlay .advisor-modal-shell {
                width: calc(100vw - 16px);
                height: calc(100dvh - 16px);
                max-height: calc(100dvh - 16px);
                border-radius: 20px;
            }
            #advisorModalOverlay .advisor-modal-header,
            #advisorModalOverlay .advisor-chat-area,
            #advisorModalOverlay .advisor-chat-input-bar {
                padding-left: 14px;
                padding-right: 14px;
            }
            #advisorModalOverlay .advisor-modal-header {
                padding-top: 14px;
                padding-bottom: 14px;
                gap: 10px;
            }
            #advisorModalOverlay .advisor-modal-title-wrap {
                flex: 1;
                min-width: 0;
            }
            #advisorModalOverlay .modal-title {
                font-size: 16px;
                line-height: 1.2;
                display: flex;
                align-items: center;
            }
            #advisorModalOverlay .advisor-modal-subtitle {
                font-size: 11px;
                line-height: 1.35;
                margin-top: 5px;
            }
            #advisorModalOverlay .advisor-modal-actions {
                gap: 8px;
                padding-top: 1px;
            }
            #advisorModalOverlay .advisor-reset-btn,
            #advisorModalOverlay .btn-close-modal {
                width: 38px;
                min-width: 38px;
                height: 38px;
                padding: 0;
                justify-content: center;
                border-radius: 12px;
            }
            #advisorModalOverlay .advisor-reset-btn span {
                display: none;
            }
            #advisorModalOverlay .advisor-chat-textarea {
                min-height: 48px;
            }
            #advisorModalOverlay .advisor-send-btn {
                width: 48px;
                min-width: 48px;
                height: 48px;
            }
            #advisorModalOverlay .chat-msg {
                width: 100%;
                max-width: 100%;
            }
            #advisorModalOverlay .chat-bubble {
                flex: 1;
                max-width: 100%;
            }
            #advisorModalOverlay .advisor-welcome-bubble {
                width: auto;
                min-width: 0;
            }
            #advisorModalOverlay .advisor-welcome-title {
                font-size: 22px;
                line-height: 1.08;
            }
            #advisorModalOverlay .advisor-welcome-copy {
                font-size: 13px;
                line-height: 1.45;
            }
            #advisorModalOverlay .advisor-period-card {
                padding: 16px;
            }
            #advisorModalOverlay .advisor-memory-grid {
                grid-template-columns: 1fr;
            }
            #advisorModalOverlay .advisor-action-card {
                grid-template-columns: 34px minmax(0, 1fr);
            }
            #advisorModalOverlay .advisor-action-card .advisor-action-btn {
                grid-column: 1 / -1;
            }
        }
        body.light-mode #advisorModalOverlay .advisor-modal-shell {
            background:
                radial-gradient(circle at top left, rgba(16,185,129,0.08), transparent 30%),
                #f8fafc;
            border-color: #e2e8f0;
        }
        body.light-mode #advisorModalOverlay .advisor-modal-header,
        body.light-mode #advisorModalOverlay .advisor-chat-input-bar {
            background: rgba(255,255,255,0.78);
            border-color: #e2e8f0;
        }
        body.light-mode #advisorModalOverlay .chat-msg.ai .chat-bubble,
        body.light-mode #advisorModalOverlay .advisor-period-card,
        body.light-mode #advisorModalOverlay .advisor-memory-panel,
        body.light-mode #advisorModalOverlay .advisor-action-card,
        body.light-mode #advisorModalOverlay .advisor-reset-btn,
        body.light-mode #advisorModalOverlay .advisor-period-pill,
        body.light-mode #advisorModalOverlay .advisor-chip-btn,
        body.light-mode #advisorModalOverlay .advisor-action-btn,
        body.light-mode #advisorModalOverlay :not(pre) > code {
            background: #ffffff;
            border-color: #e2e8f0;
            box-shadow: none;
        }
        body.light-mode #advisorModalOverlay .advisor-quick-actions {
            background: rgba(255,255,255,0.78);
            border-color: #e2e8f0;
        }
        body.light-mode #advisorModalOverlay .chat-msg.ai .chat-bubble {
            color: #0f172a;
        }
        body.light-mode #advisorModalOverlay .chat-bubble h1,
        body.light-mode #advisorModalOverlay .chat-bubble h2,
        body.light-mode #advisorModalOverlay .chat-bubble strong,
        body.light-mode #advisorModalOverlay .advisor-welcome-title {
            color: #0f172a;
        }
        body.light-mode #advisorModalOverlay .chat-bubble p,
        body.light-mode #advisorModalOverlay .chat-bubble li,
        body.light-mode #advisorModalOverlay .advisor-welcome-copy,
        body.light-mode #advisorModalOverlay .advisor-modal-subtitle {
            color: #475569;
        }
        #advisorModalOverlay .advisor-summary-panel {
            display: none;
            padding: 16px 20px 0;
            border-bottom: 1px solid var(--card-border);
            background: linear-gradient(180deg, rgba(0, 230, 118, 0.06) 0%, rgba(0,0,0,0.04) 100%);
            flex-shrink: 0;
            max-height: min(44vh, 430px);
            overflow: auto;
        }
        #advisorModalOverlay .advisor-summary-panel.is-compact {
            padding-bottom: 10px;
            max-height: none;
            overflow: hidden;
        }
        #advisorModalOverlay .advisor-summary-head {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 14px;
        }
        #advisorModalOverlay .advisor-summary-actions {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            justify-content: flex-end;
        }
        #advisorModalOverlay .advisor-summary-title {
            margin: 0;
            font-size: 15px;
            font-weight: 900;
            color: var(--text-main);
        }
        #advisorModalOverlay .advisor-summary-copy {
            margin: 6px 0 0;
            color: var(--text-sec);
            font-size: 12px;
            line-height: 1.45;
        }
        #advisorModalOverlay .advisor-summary-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 12px;
            border-radius: 999px;
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(255,255,255,0.08);
            color: var(--text-main);
            font-size: 11px;
            font-weight: 800;
            white-space: nowrap;
        }
        #advisorModalOverlay .advisor-summary-toggle {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            height: 36px;
            padding: 0 12px;
            border-radius: 999px;
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.09);
            color: var(--text-main);
            font-size: 11px;
            font-weight: 800;
            cursor: pointer;
            transition: border-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
        }
        #advisorModalOverlay .advisor-summary-toggle:hover {
            border-color: rgba(0, 230, 118, 0.45);
            color: var(--neon-green);
            transform: translateY(-1px);
        }
        #advisorModalOverlay .advisor-kpi-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 12px;
            margin-bottom: 14px;
        }
        #advisorModalOverlay .advisor-summary-panel.is-compact .advisor-summary-grid {
            display: none;
        }
        #advisorModalOverlay .advisor-summary-panel.is-compact .advisor-summary-copy {
            margin-top: 4px;
        }
        #advisorModalOverlay .advisor-summary-panel.is-compact .advisor-summary-head {
            margin-bottom: 10px;
        }
        #advisorModalOverlay .advisor-summary-panel.is-compact .advisor-kpi-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 0;
        }
        #advisorModalOverlay .advisor-summary-panel.is-compact .advisor-kpi-card {
            flex: 1 1 160px;
            min-height: auto;
            padding: 10px 12px;
        }
        #advisorModalOverlay .advisor-summary-panel.is-compact .advisor-kpi-card strong {
            font-size: 16px;
        }
        #advisorModalOverlay .chat-box-area {
            min-height: 320px;
        }
        #advisorModalOverlay .advisor-kpi-card,
        #advisorModalOverlay .advisor-summary-card {
            background: #050505;
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: 10px;
        }
        #advisorModalOverlay .advisor-kpi-card {
            padding: 14px;
            min-height: 90px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        #advisorModalOverlay .advisor-kpi-label {
            font-size: 10px;
            font-weight: 900;
            text-transform: uppercase;
            color: var(--text-muted);
            letter-spacing: 0.3px;
        }
        #advisorModalOverlay .advisor-kpi-card strong {
            font-size: 19px;
            line-height: 1.15;
            color: var(--text-main);
            word-break: break-word;
        }
        #advisorModalOverlay .advisor-summary-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
            gap: 12px;
            margin-bottom: 16px;
        }
        #advisorModalOverlay .advisor-summary-card {
            padding: 14px;
            min-width: 0;
        }
        #advisorModalOverlay .advisor-section-title {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 12px;
            color: var(--text-main);
            font-size: 12px;
            font-weight: 900;
        }
        #advisorModalOverlay .advisor-chart-shell {
            position: relative;
            height: 220px;
        }
        #advisorModalOverlay .advisor-tip-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        #advisorModalOverlay .advisor-tip-item {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            padding: 11px 12px;
            border-radius: 9px;
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.05);
            color: var(--text-sec);
            font-size: 12px;
            line-height: 1.5;
        }
        #advisorModalOverlay .advisor-tip-item i {
            color: var(--neon-green);
            margin-top: 2px;
            flex-shrink: 0;
        }
        body.light-mode #advisorModalOverlay .advisor-summary-panel {
            background: linear-gradient(180deg, rgba(16,185,129,0.08) 0%, rgba(248,250,252,0.92) 100%);
            border-bottom-color: #e2e8f0;
        }
        body.light-mode #advisorModalOverlay .advisor-summary-badge,
        body.light-mode #advisorModalOverlay .advisor-kpi-card,
        body.light-mode #advisorModalOverlay .advisor-summary-card,
        body.light-mode #advisorModalOverlay .advisor-tip-item,
        body.light-mode #advisorModalOverlay .advisor-summary-toggle {
            background: #ffffff;
            border-color: #e2e8f0;
            box-shadow: none;
        }
        body.light-mode #advisorModalOverlay .advisor-summary-badge { color: #0f172a; }
        @media (max-width: 900px) {
            #advisorModalOverlay .advisor-summary-head,
            #advisorModalOverlay .advisor-summary-grid { grid-template-columns: 1fr; }
            #advisorModalOverlay .advisor-summary-head { display: grid; }
            #advisorModalOverlay .advisor-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            #advisorModalOverlay .chat-box-area { min-height: 240px; }
        }
        @media (max-width: 600px) {
            #advisorModalOverlay .advisor-summary-panel { padding: 12px 12px 0; }
            #advisorModalOverlay .advisor-summary-actions { justify-content: flex-start; }
            #advisorModalOverlay .advisor-kpi-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
            #advisorModalOverlay .advisor-kpi-card,
            #advisorModalOverlay .advisor-summary-card { padding: 12px; }
            #advisorModalOverlay .advisor-chart-shell { height: 190px; }
        }

        .report-controls .form-input,
        .report-controls .form-select,
        .report-controls .btn-submit {
            height: 42px !important;
            margin-bottom: 0 !important;
        }
        .report-controls .type-toggle-group { height: 42px !important; margin-bottom: 0 !important; display: flex; align-items: center; }

        .report-summary-row { display: flex; gap: 15px; margin-bottom: 20px; }
        .report-kpi { flex: 1; background: #080808; border: 1px solid rgba(255,255,255,0.06); padding: 15px; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,0.4); }
        .report-kpi-label { font-size: 10px; text-transform: uppercase; color: var(--text-sec); font-weight: 700; margin-bottom: 5px; }
        .report-kpi-val { font-size: 18px; font-weight: 800; color: var(--text-main); }
        .report-details-container { flex: 1; overflow-y: auto; padding-right: 5px; }

        .rep-group-card {
            background: transparent;
            border-bottom: 1px solid var(--card-border);
            margin-bottom: 10px;
            padding-bottom: 10px;
        }
        .rep-group-card:last-child { border-bottom: none; }

        .rep-group-header {
            padding: 15px 10px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            transition: 0.2s;
        }
        .rep-group-header:hover { background: rgba(255,255,255,0.02); border-radius: 8px; }

        .rep-group-title { font-weight: 800; font-size: 14px; color: var(--text-main); display: flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: 0.5px; }
        .rep-group-total { font-weight: 800; font-size: 16px; color: var(--text-main); }

        .rep-item-list { display: none; padding: 0 10px; }
        .rep-item-list.active { display: block; animation: fadeIn 0.3s ease; }

        .rep-item-row {
            display: flex;
            align-items: center;
            padding: 12px 0;
            border-bottom: 1px solid rgba(255,255,255,0.02);
            font-size: 13px;
            color: var(--text-main);
            gap: 10px;
        }
        .rep-item-row:last-child { border-bottom: none; }
        .rep-item-date { font-weight: 700; color: var(--text-sec); width: 80px; flex-shrink: 0; }
        .rep-item-desc { flex: 1; min-width: 0; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .rep-item-meta { width: 100px; font-size: 11px; color: var(--text-sec); text-align: center; flex-shrink: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .rep-item-val { width: 120px; font-weight: 700; color: var(--text-main); flex-shrink: 0; text-align: right; }

        .rep-chart-box { height: 250px; width: 100%; position: relative; margin-bottom: 20px; }

        .print-btn { background: var(--neon-blue); color: #fff; border: none; padding: 8px 16px; border-radius: 8px; font-weight: 700; font-size: 12px; cursor: pointer; display: flex; align-items: center; gap: 6px; margin-left: auto; }
        .print-btn:hover { background: #2962FF; }

        /* REPORT REDESIGN */
        #reportModalOverlay { backdrop-filter: none; -webkit-backdrop-filter: none; padding: 18px; }
        #reportModalOverlay .modal-box.report-modal-shell { width: min(1120px, calc(100vw - 36px)); max-width: 1120px; height: min(92vh, 860px); padding: 0; overflow: hidden; display: flex; flex-direction: column; border-radius: 8px; background: #080808; border: 1px solid rgba(255,255,255,0.08); }
        .report-topbar { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding: 22px 24px 18px; border-bottom: 1px solid var(--card-border); flex-shrink: 0; }
        .report-title-wrap { min-width: 0; }
        .report-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--neon-blue); font-size: 11px; font-weight: 800; text-transform: uppercase; margin-bottom: 8px; }
        .report-title { font-size: 24px; line-height: 1.15; color: var(--text-main); font-weight: 900; margin: 0; }
        .report-subtitle { margin-top: 6px; color: var(--text-sec); font-size: 13px; line-height: 1.4; max-width: 660px; }
        .report-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
        .report-body { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 24px 24px; }
        .report-controls { display: grid !important; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 12px; align-items: end; padding: 16px; margin-bottom: 18px; border: 1px solid var(--card-border); border-radius: 8px; background: #050505; }
        .report-controls > div { min-width: 0; }
        .report-control-span { grid-column: 1 / -1; }
        .report-date-row { display: grid; grid-template-columns: 1fr 1fr 52px; gap: 10px; align-items: end; }
        .report-controls .form-label { display: flex; align-items: center; gap: 6px; margin-bottom: 7px; color: var(--text-sec); font-size: 10px; font-weight: 900; letter-spacing: 0; }
        .report-controls .form-input, .report-controls .form-select, .report-controls .btn-submit { height: 46px !important; margin-bottom: 0 !important; border-radius: 8px; }
        .report-controls .form-input, .report-controls .form-select { padding: 10px 12px !important; font-size: 13px !important; background: rgba(255,255,255,0.04); }
        .report-controls .type-toggle-group { height: 46px !important; margin-bottom: 0 !important; display: flex; align-items: center; gap: 4px; padding: 4px !important; border-radius: 8px; }
        .report-controls .type-btn { flex: 1; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 6px !important; font-size: 11px !important; padding: 0 8px !important; }
        .report-search-btn { width: 52px !important; padding: 0 !important; margin: 0 !important; display: flex; align-items: center; justify-content: center; border: 1px solid transparent; background: var(--neon-blue); color: #fff; }
        .report-select-host .custom-select-wrapper { margin-bottom: 0; }
        .report-select-host .custom-select-trigger {
            height: 46px;
            padding: 10px 12px;
            border-radius: 8px;
            background: rgba(255,255,255,0.04);
            font-size: 13px;
            font-weight: 800;
        }
        .report-select-host .custom-options {
            background: #050505;
            border-color: rgba(255,255,255,0.12);
            border-radius: 8px;
            z-index: 100000;
            max-height: 180px;
            overflow-y: auto;
        }
        .report-select-host .custom-search { display: none; }
        .report-select-host .custom-option {
            color: var(--text-sec);
            font-weight: 800;
            padding: 12px 14px;
        }
        .report-select-host .custom-option:hover,
        .report-select-host .custom-option.selected {
            background: rgba(41,121,255,0.14);
            color: var(--text-main);
            padding-left: 14px;
        }
        body.light-mode .report-select-host .custom-select-trigger,
        body.light-mode .report-select-host .custom-options {
            background: #f8fafc;
            border-color: #cbd5e1;
        }
        body.light-mode .report-select-host .custom-option:hover,
        body.light-mode .report-select-host .custom-option.selected {
            background: #eff6ff;
            color: #1e293b;
        }
        .report-content-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 18px; align-items: start; }
        .report-summary-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
        .report-kpi { min-height: 96px; background: #050505; border: 1px solid rgba(255,255,255,0.07); padding: 16px; border-radius: 8px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; box-shadow: none; }
        .report-kpi-label { font-size: 10px; text-transform: uppercase; color: var(--text-sec); font-weight: 900; margin-bottom: 10px; letter-spacing: 0; }
        .report-kpi-val { font-size: 20px; line-height: 1.1; font-weight: 900; color: var(--text-main); word-break: break-word; }
        .report-visual-panel, .report-list-panel { min-width: 0; }
        .report-panel-title { display: flex; align-items: center; gap: 8px; color: var(--text-main); font-size: 13px; font-weight: 900; margin-bottom: 12px; }
        .report-details-container { flex: 1; overflow-y: auto; padding-right: 4px; max-height: 520px; }
        .rep-group-card { background: #050505; border: 1px solid rgba(255,255,255,0.07); margin-bottom: 10px; padding-bottom: 0; border-radius: 8px; overflow: hidden; }
        .rep-group-card:last-child { margin-bottom: 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
        .rep-group-header { padding: 14px; display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; transition: 0.2s; }
        .rep-group-header:hover { background: rgba(255,255,255,0.02); border-radius: 8px; }
        .rep-group-title { font-weight: 900; font-size: 13px; color: var(--text-main); display: flex; align-items: center; gap: 8px; text-transform: uppercase; letter-spacing: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
        .rep-group-total { font-weight: 900; font-size: 15px; color: var(--text-main); white-space: nowrap; }
        .rep-item-list { display: none; padding: 0 14px 8px; }
        .rep-item-list.active { display: block; animation: fadeIn 0.3s ease; }
        .rep-item-row { display: flex; align-items: center; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,0.02); font-size: 13px; color: var(--text-main); gap: 10px; }
        .rep-item-row:last-child { border-bottom: none; }
        .rep-item-date { font-weight: 700; color: var(--text-sec); width: 80px; flex-shrink: 0; }
        .rep-item-desc { flex: 1; min-width: 0; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .rep-item-meta { width: 100px; font-size: 11px; color: var(--text-sec); text-align: center; flex-shrink: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .rep-item-val { width: 120px; font-weight: 700; color: var(--text-main); flex-shrink: 0; text-align: right; }
        .rep-chart-box { height: 320px; width: 100%; position: relative; margin-bottom: 0; background: #050505; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; padding: 14px; }
        .print-btn { background: var(--neon-blue); color: #fff; border: none; padding: 0 16px; height: 40px; border-radius: 8px; font-weight: 800; font-size: 12px; cursor: pointer; display: flex; align-items: center; gap: 7px; margin-left: auto; }
        .print-btn:hover { background: #2962FF; }
        .report-empty-state { min-height: 360px; display: flex; align-items: center; justify-content: center; text-align: center; color: var(--text-muted); font-weight: 700; padding: 32px; border: 1px dashed rgba(255,255,255,0.12); border-radius: 8px; background: #050505; }
        .report-empty-state i { display: block; font-size: 26px; color: var(--neon-blue); margin-bottom: 12px; }
        .report-empty-state strong { display: block; color: var(--text-main); font-size: 17px; margin-bottom: 8px; }
        body.light-mode .rep-chart-box, body.light-mode .rep-group-card { background: #ffffff !important; border-color: #e2e8f0 !important; }
        .patrimony-chart-card {
            cursor: pointer;
            isolation: isolate;
            background:
                radial-gradient(circle at 78% 16%, rgba(0,230,118,0.08), transparent 36%),
                linear-gradient(180deg, rgba(255,255,255,0.018), rgba(255,255,255,0) 46%),
                var(--card-bg);
            transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
        }
        .patrimony-chart-card::before {
            content: '';
            position: absolute;
            inset: auto 0 0 0;
            height: 42%;
            background: linear-gradient(180deg, transparent, rgba(0,0,0,0.68));
            pointer-events: none;
            z-index: 2;
        }
        .patrimony-chart-card:hover, .patrimony-chart-card:focus-visible {
            border-color: rgba(0,229,255,0.42);
            box-shadow: 0 0 0 1px rgba(0,229,255,0.12), 0 10px 28px rgba(0,229,255,0.12);
            outline: none;
        }
        .patrimony-chart-card > .chart-box {
            z-index: auto !important;
        }
        .patrimony-stats-layer {
            position: absolute;
            top: 18px;
            left: 22px;
            right: 22px;
            z-index: 5;
            pointer-events: none;
        }
        .patrimony-card-stats {
            width: 100%;
            margin: 0;
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 18px;
            padding: 0;
            align-items: flex-start;
            border: 0;
            background: transparent;
            box-shadow: none;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        .patrimony-stat-card {
            min-width: 0;
            padding: 0;
            border: 0;
            background: transparent;
            box-shadow: none;
            text-align: left;
            overflow: hidden;
        }
        .patrimony-main-stat {
            overflow: visible;
        }
        .patrimony-peak-stat {
            text-align: right;
            padding-top: 20px;
            min-width: 92px;
        }
        .patrimony-stat-card.is-current,
        .patrimony-stat-card.is-current::after {
            display: none;
        }
        .patrimony-main-stat > span,
        .patrimony-peak-stat span {
            display: block;
            color: #bfdbfe;
            font-size: 11px;
            font-weight: 900;
            line-height: 1;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 8px;
            white-space: nowrap;
        }
        .patrimony-main-stat strong {
            display: block;
            color: var(--text-main);
            font-size: clamp(25px, 2.3vw, 36px);
            line-height: 1;
            font-weight: 900;
            letter-spacing: 0;
            white-space: nowrap;
            overflow: visible;
            text-shadow: 0 3px 14px rgba(0,0,0,0.6);
            font-variant-numeric: tabular-nums;
        }
        .patrimony-main-stat em {
            display: block;
            margin-top: 6px;
            color: #cbd5e1;
            font-size: clamp(10px, 1.05vw, 12px);
            line-height: 1.15;
            font-weight: 800;
            font-style: normal;
            white-space: nowrap;
        }
        .patrimony-main-stat small {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            width: fit-content;
            max-width: 100%;
            margin-top: 7px;
            padding: 5px 9px;
            border-radius: 8px;
            border: 1px solid rgba(0,230,118,0.24);
            background: rgba(0,230,118,0.12);
            color: var(--neon-green);
            font-size: clamp(9px, 1vw, 11px);
            line-height: 1;
            font-weight: 900;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            box-shadow: 0 0 18px rgba(0,230,118,0.08);
        }
        .patrimony-peak-stat strong {
            display: block;
            color: var(--neon-green);
            font-size: clamp(13px, 1.3vw, 16px);
            line-height: 1;
            font-weight: 950;
            letter-spacing: 0;
            white-space: nowrap;
            font-variant-numeric: tabular-nums;
            text-shadow: 0 0 14px rgba(0,230,118,0.18);
        }
        .patrimony-stat-card.is-current {
            position: relative;
            text-align: center;
            overflow: visible;
            padding: clamp(5px, 1.5%, 6px) clamp(10px, 3%, 12px) clamp(6px, 1.8%, 7px);
            border-radius: 999px;
            border: 1px solid rgba(0,230,118,0.22);
            background: linear-gradient(180deg, rgba(0,230,118,0.12), rgba(0,230,118,0.035));
            box-shadow: 0 0 0 1px rgba(0,230,118,0.035), 0 14px 30px rgba(0,230,118,0.08);
        }
        .patrimony-stat-card.is-current::after {
            content: '';
            position: absolute;
            left: 20%;
            right: 20%;
            bottom: -1px;
            height: 2px;
            border-radius: 999px;
            background: linear-gradient(90deg, transparent, var(--neon-green), transparent);
            box-shadow: 0 0 12px rgba(0,230,118,0.38);
        }
        .patrimony-stat-card span {
            display: block;
            color: rgba(219,234,254,0.72);
            font-size: clamp(7px, 1.55vw, 8px);
            font-weight: 800;
            line-height: 1;
            text-transform: uppercase;
            letter-spacing: 0;
            margin-bottom: 3px;
            white-space: nowrap;
        }
        .patrimony-stat-card strong {
            display: block;
            color: var(--text-main);
            font-size: clamp(11px, 1.02vw, 13px);
            line-height: 1;
            font-weight: 900;
            letter-spacing: 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            font-variant-numeric: tabular-nums;
        }
        .patrimony-stat-card.is-current strong {
            color: var(--neon-green);
            font-size: clamp(13px, 1.18vw, 16px);
            text-shadow: 0 0 16px rgba(0,230,118,0.22);
        }
        .patrimony-stat-card small {
            display: block;
            color: var(--neon-green);
            font-size: clamp(8px, 1.6vw, 9px);
            line-height: 1.15;
            font-weight: 900;
            margin-top: 3px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .patrimony-stat-card:not(.is-current) small { display: none; }
        .patrimony-main-stat small { display: inline-flex; }
        .patrimony-main-stat > span,
        .patrimony-peak-stat span {
            color: #bfdbfe;
            font-size: 11px;
            font-weight: 900;
            letter-spacing: 0.5px;
            margin-bottom: 8px;
        }
        .patrimony-main-stat strong {
            color: var(--text-main);
            font-size: clamp(25px, 2.3vw, 36px);
            line-height: 1;
            font-weight: 900;
            overflow: visible;
            text-shadow: 0 3px 14px rgba(0,0,0,0.6);
        }
        .patrimony-main-stat em {
            display: block;
            margin-top: 6px;
            color: #cbd5e1;
            font-size: clamp(10px, 1.05vw, 12px);
            line-height: 1.15;
            font-weight: 800;
            font-style: normal;
            white-space: nowrap;
        }
        .patrimony-main-stat small {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            width: fit-content;
            margin-top: 7px;
            padding: 5px 9px;
            border-radius: 8px;
            border: 1px solid rgba(0,230,118,0.24);
            background: rgba(0,230,118,0.12);
            color: var(--neon-green);
            font-size: clamp(9px, 1vw, 11px);
            line-height: 1;
            box-shadow: 0 0 18px rgba(0,230,118,0.08);
        }
        .patrimony-compare-row {
            margin-top: 8px;
            gap: 9px;
        }
        .patrimony-compare-row em {
            margin-top: 0;
            color: #cbd5e1;
            font-size: 12px;
            line-height: 1.25;
            font-weight: 800;
        }
        .patrimony-compare-row .spending-badge {
            padding: 5px 8px;
            font-size: 11px;
        }
        .patrimony-card-stats {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: flex-start;
        }
        .patrimony-main-stat .spending-card-title {
            display: block;
            margin-bottom: 8px;
            color: #bfdbfe;
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .patrimony-hero-line {
            align-items: baseline;
        }
        .patrimony-hero-line #patrimonyCurrentVal {
            color: var(--text-main);
            font-size: clamp(25px, 2.3vw, 36px);
            line-height: 1;
            font-weight: 900;
            letter-spacing: 0;
            white-space: nowrap;
            font-variant-numeric: tabular-nums;
            text-shadow: 0 3px 14px rgba(0,0,0,0.6);
        }
        .patrimony-compare-row {
            margin-top: 10px;
            gap: 10px;
            align-items: center;
            flex-wrap: wrap;
        }
        .patrimony-compare-row .spending-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 6px 9px;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 800;
            line-height: 1;
            border: 1px solid rgba(255,71,87,0.24);
            background: rgba(255,71,87,0.16);
            color: var(--neon-red);
            font-variant-numeric: tabular-nums;
        }
        .patrimony-compare-row .spending-badge.is-good {
            border-color: rgba(0,230,118,0.24);
            background: rgba(0,230,118,0.14);
            color: var(--neon-green);
        }
        .patrimony-compare-row .spending-badge span {
            display: inline;
            margin: 0;
            color: inherit;
            font-size: inherit;
            font-weight: inherit;
            line-height: inherit;
            text-transform: none;
            letter-spacing: 0;
        }
        .patrimony-compare-row .spending-compare-copy {
            color: #cbd5e1;
            font-size: 13px;
            line-height: 1.25;
            font-weight: 400;
            white-space: nowrap;
            text-transform: none;
            letter-spacing: 0;
            margin: 0;
        }
        body.light-mode .patrimony-compare-row em { color: #475569; }
        body.light-mode .patrimony-main-stat .spending-card-title { color: #1d4ed8; }
        body.light-mode .patrimony-hero-line #patrimonyCurrentVal { color: #0f172a; text-shadow: none; }
        body.light-mode .patrimony-compare-row .spending-compare-copy { color: #475569; }
        .patrimony-peak-stat strong {
            color: var(--neon-green);
            font-size: clamp(13px, 1.3vw, 16px);
            font-weight: 950;
            text-shadow: 0 0 14px rgba(0,230,118,0.18);
        }
        .patrimony-legend {
            display: none;
        }
        .patrimony-legend span {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            white-space: nowrap;
        }
        .patrimony-legend i {
            width: 18px;
            height: 1px;
            display: inline-block;
            border-radius: 999px;
            background: var(--patrimony-line-color, var(--neon-green));
        }
        .patrimony-legend i.previous {
            height: 1px;
            background: #737373;
        }
        .patrimony-chart-card .chart-particles {
            opacity: 0.35;
            filter: saturate(0.9);
        }
        .patrimony-chart-card .chart-particles span {
            width: 12px;
            height: 12px;
            filter: drop-shadow(0 0 5px var(--wave-color));
        }
        .patrimony-chart-card.is-empty .patrimony-compare-row,
        .patrimony-chart-card.is-empty #patrimonyDeltaLabel {
            opacity: 0;
            visibility: hidden;
        }
        .patrimony-chart-card.is-empty #linePulse,
        .patrimony-chart-card.is-empty .chart-particles {
            display: none !important;
        }
        body.light-mode .patrimony-stat-card {
            background: transparent;
            border-color: rgba(15,23,42,0.08);
            box-shadow: none;
        }
        body.light-mode .patrimony-chart-card {
            background:
                radial-gradient(circle at 78% 16%, rgba(148,163,184,0.08), transparent 34%),
                linear-gradient(180deg, rgba(15,23,42,0.018), rgba(15,23,42,0) 46%),
                var(--card-bg);
        }
        body.light-mode .patrimony-chart-card::before { background: linear-gradient(180deg, transparent, rgba(248,250,252,0.78)); }
        body.light-mode .patrimony-card-stats {
            background: transparent;
            box-shadow: none;
        }
        body.light-mode .patrimony-stat-card.is-current {
            background: linear-gradient(180deg, rgba(16,185,129,0.13), rgba(16,185,129,0.04));
            border-color: rgba(16,185,129,0.24);
        }
        body.light-mode .patrimony-stat-card > span,
        body.light-mode .patrimony-peak-stat span { color: #1d4ed8; }
        body.light-mode .patrimony-compare-row .spending-badge span { color: inherit; }
        body.light-mode .patrimony-main-stat strong { color: #0f172a; text-shadow: none; }
        body.light-mode .patrimony-main-stat em { color: #475569; }
        body.light-mode .patrimony-legend { color: #475569; }
        #patrimonyReportOverlay { backdrop-filter: none; -webkit-backdrop-filter: none; padding: 18px; }
        #patrimonyReportOverlay .modal-box.patrimony-report-shell {
            width: min(1180px, calc(100vw - 36px));
            max-width: 1180px;
            height: min(92vh, 860px);
            padding: 0;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            border-radius: 8px;
            background: #080808;
            border: 1px solid rgba(255,255,255,0.08);
        }
        .patrimony-report-body { flex: 1; min-height: 0; overflow-y: auto; padding: 20px 24px 24px; }
        .patrimony-summary-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
        .patrimony-summary-card { min-height: 92px; background: #050505; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; padding: 15px; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; }
        .patrimony-summary-card span { color: var(--text-sec); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: 0; }
        .patrimony-summary-card strong { color: var(--text-main); font-size: 19px; line-height: 1.15; font-weight: 900; word-break: break-word; }
        .patrimony-table-wrap { background: #050505; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; overflow: auto; }
        .patrimony-table { width: 100%; border-collapse: collapse; min-width: 940px; }
        .patrimony-table th, .patrimony-table td { padding: 13px 14px; border-bottom: 1px solid rgba(255,255,255,0.06); text-align: right; white-space: nowrap; }
        .patrimony-table th:first-child, .patrimony-table td:first-child { text-align: left; position: sticky; left: 0; background: #050505; z-index: 1; }
        .patrimony-table th { color: var(--text-sec); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: 0; background: #070707; position: sticky; top: 0; z-index: 2; }
        .patrimony-table th:first-child { z-index: 3; background: #070707; }
        .patrimony-table td { color: var(--text-main); font-size: 13px; font-weight: 700; }
        .patrimony-table tr:hover td { background: rgba(255,255,255,0.025); }
        .patrimony-table .month-cell { display: flex; align-items: center; gap: 10px; font-weight: 900; }
        .patrimony-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--neon-blue); box-shadow: 0 0 10px rgba(41,121,255,0.55); flex: 0 0 auto; }
        .patrimony-val-positive { color: var(--neon-green) !important; }
        .patrimony-val-negative { color: var(--neon-red) !important; }
        .patrimony-margin-pill { display: inline-flex; justify-content: center; min-width: 70px; padding: 5px 8px; border-radius: 8px; background: rgba(255,255,255,0.05); color: var(--text-sec); font-weight: 900; }
        .patrimony-margin-pill.good { background: rgba(0,230,118,0.1); color: var(--neon-green); }
        .patrimony-margin-pill.bad { background: rgba(255,71,87,0.1); color: var(--neon-red); }
        .patrimony-note { margin-top: 12px; color: var(--text-sec); font-size: 12px; line-height: 1.45; }
        body.light-mode #patrimonyReportOverlay .modal-box.patrimony-report-shell,
        body.light-mode .patrimony-summary-card,
        body.light-mode .patrimony-table-wrap,
        body.light-mode .patrimony-table th:first-child,
        body.light-mode .patrimony-table td:first-child { background: #ffffff !important; border-color: #e2e8f0 !important; }
        body.light-mode .patrimony-report-body { background: #f8fafc; }
        body.light-mode .patrimony-table th { background: #f8fafc; border-color: #e2e8f0; }
        body.light-mode .patrimony-table td { border-color: #e2e8f0; }
        @media (max-width: 860px) {
            #reportModalOverlay { padding: 10px; align-items: flex-end; }
            #reportModalOverlay .modal-box.report-modal-shell { width: 100%; max-width: 100%; height: calc(100dvh - 20px); max-height: calc(100dvh - 20px); }
            #patrimonyReportOverlay { padding: 10px; align-items: flex-end; }
            #patrimonyReportOverlay .modal-box.patrimony-report-shell { width: 100%; max-width: 100%; height: calc(100dvh - 20px); max-height: calc(100dvh - 20px); }
            .patrimony-report-body { padding: 14px; }
            .patrimony-summary-row { grid-template-columns: 1fr 1fr; gap: 10px; }
            .patrimony-summary-card { min-height: 84px; padding: 13px; }
            .patrimony-summary-card strong { font-size: 16px; }
            .patrimony-table-wrap { border: none; background: transparent; overflow: visible; }
            .patrimony-table { display: block; min-width: 0; width: 100%; border-collapse: separate; }
            .patrimony-table thead { display: none; }
            .patrimony-table tbody { display: flex; flex-direction: column; gap: 10px; }
            .patrimony-table tr {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 10px 12px;
                padding: 13px;
                background: #050505;
                border: 1px solid rgba(255,255,255,0.07);
                border-radius: 8px;
            }
            .patrimony-table th,
            .patrimony-table td {
                display: flex;
                justify-content: space-between;
                align-items: center;
                gap: 10px;
                padding: 0;
                border: none;
                text-align: right;
                white-space: normal;
                min-width: 0;
                font-size: 12px;
            }
            .patrimony-table td:first-child {
                grid-column: 1 / -1;
                position: static;
                background: transparent;
                padding-bottom: 10px;
                border-bottom: 1px solid rgba(255,255,255,0.06);
            }
            .patrimony-table td:not(:first-child)::before {
                content: attr(data-label);
                color: var(--text-sec);
                font-size: 10px;
                font-weight: 900;
                text-transform: uppercase;
                text-align: left;
                flex: 1;
            }
            .patrimony-table .month-cell { font-size: 14px; width: 100%; }
            .patrimony-margin-pill { min-width: 58px; padding: 4px 7px; }
            .patrimony-note { font-size: 11px; }
            body.light-mode .patrimony-table tr { background: #ffffff; border-color: #e2e8f0; }
            body.light-mode .patrimony-table td:first-child { background: transparent !important; border-bottom-color: #e2e8f0; }
            .report-topbar { padding: 16px; align-items: center; }
            .report-title { font-size: 20px; }
            .report-subtitle { display: none; }
            .report-actions .print-btn span { display: none; }
            .report-actions .print-btn { width: 42px; padding: 0; justify-content: center; }
            .report-body { padding: 14px; }
            .report-controls { grid-template-columns: 1fr 1fr; padding: 12px; }
            .report-control-span { grid-column: 1 / -1; }
            .report-date-row { grid-template-columns: 1fr 1fr; }
            .report-search-btn { grid-column: 1 / -1; width: 100% !important; }
            .report-content-grid { grid-template-columns: 1fr; gap: 14px; }
            .report-summary-row { grid-template-columns: 1fr 1fr; gap: 10px; }
            .report-kpi { min-height: 86px; padding: 13px; }
            .report-kpi-val { font-size: 17px; }
            .rep-chart-box { height: 260px; }
            .report-details-container { max-height: none; }
            .rep-item-list { padding: 0 12px 12px; }
            .rep-item-row {
                display: grid;
                grid-template-columns: 1fr auto;
                grid-template-areas:
                    "date value"
                    "desc desc"
                    "pay due";
                align-items: start;
                gap: 7px 10px;
                padding: 14px 0;
            }
            .rep-item-date,
            .rep-item-desc,
            .rep-item-meta,
            .rep-item-val { width: auto; }
            .rep-item-date {
                grid-area: date;
                font-size: 12px;
                letter-spacing: 0;
            }
            .rep-item-desc {
                grid-area: desc;
                white-space: normal;
                overflow: visible;
                text-overflow: clip;
                line-height: 1.35;
                font-size: 13px;
            }
            .rep-item-meta {
                max-width: 100%;
                width: fit-content;
                text-align: left;
                padding: 5px 8px;
                border-radius: 8px;
                background: rgba(255,255,255,0.04);
                border: 1px solid rgba(255,255,255,0.06);
                font-size: 10px;
                line-height: 1;
            }
            .rep-item-meta:nth-of-type(3) { grid-area: pay; }
            .rep-item-meta:nth-of-type(4) { grid-area: due; justify-self: end; }
            .rep-item-val {
                grid-area: value;
                text-align: right;
                font-size: 14px;
                white-space: nowrap;
            }
            body.light-mode .rep-item-meta {
                background: #f8fafc;
                border-color: #e2e8f0;
            }
        }
        @media (max-width: 520px) {
            .report-controls, .report-summary-row { grid-template-columns: 1fr; }
            .report-date-row { grid-template-columns: 1fr; }
            .report-topbar { gap: 10px; }
            .report-eyebrow { font-size: 10px; }
            .report-title { font-size: 18px; }
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .fade-in-item { animation: fadeIn 0.4s ease forwards; }

        /* INTRO NETFLIX STYLE */
        #intro-layer {
            --intro-bg: #000;
            --intro-main: #fff;
            --intro-sec: var(--neon-green);
            --intro-icon: var(--neon-green);
            --intro-glow: var(--neon-green);
            --intro-bar: var(--neon-green);
            --intro-glitch-bg: #000;
            --intro-glitch-a: #ff00c1;
            --intro-glitch-b: #00fff9;
            position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
            background-color: #000;
            z-index: 9999999;
            display: flex; align-items: center; justify-content: center;
            transition: opacity 0.8s ease-in-out, visibility 0.8s;
        }
        #intro-layer.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
        #intro-layer.light-intro {
            --intro-bg: #fff;
            --intro-main: #111827;
            --intro-sec: var(--neon-green);
            --intro-icon: var(--neon-green);
            --intro-glow: rgba(0, 230, 118, 0.72);
            --intro-bar: rgba(16, 185, 129, 0.82);
            --intro-glitch-bg: #fff;
            --intro-glitch-a: rgba(14, 165, 233, 0.78);
            --intro-glitch-b: rgba(16, 185, 129, 0.72);
            background:
                radial-gradient(circle at center, rgba(16, 185, 129, 0.08) 0%, rgba(16, 185, 129, 0.04) 16%, rgba(255,255,255,0) 34%),
                linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
            background-color: #fff;
        }

        .intro-container { display: flex; align-items: center; justify-content: center; gap: 30px; position: relative; }

        .intro-icon {
            font-size: 5rem; color: var(--intro-icon);
            opacity: 0; transform: scale(0) translate(-50px, 50px);
            animation: rocketIn 2.5s cubic-bezier(0.2, 0, 0, 1) forwards;
            margin-top: -15px; /* Ajuste óptico para alinhar com o texto */
            filter: drop-shadow(0 0 30px var(--intro-glow));
            animation-play-state: paused;
        }

        .intro-text-group { display: flex; flex-direction: column; line-height: 0.8; justify-content: center; align-items: flex-end; }

        .intro-word {
            font-size: 4.5rem; font-weight: 900; letter-spacing: 12px; text-transform: uppercase; margin-right: -12px;
            opacity: 0; transform: translateX(40px);
            animation-play-state: paused;
        }
        .intro-word.main { color: var(--intro-main); animation: textSlideIn 1.5s cubic-bezier(0.2, 0, 0, 1) 0.4s forwards; animation-play-state: paused; }
        .intro-word.sec { color: var(--intro-sec); animation: textSlideIn 1.5s cubic-bezier(0.2, 0, 0, 1) 0.7s forwards; text-shadow: 0 0 20px var(--intro-glow); font-size: 1.8rem; margin-right: 5px; letter-spacing: 12px; animation-play-state: paused; }

        @keyframes rocketIn {
            0% { opacity: 0; transform: scale(0) translate(-100px, 100px) rotate(-45deg); }
            60% { opacity: 1; transform: scale(1.2) translate(0, 0) rotate(0deg); }
            100% { opacity: 1; transform: scale(1) translate(0, 0) rotate(0deg); }
        }
        @keyframes textSlideIn { to { opacity: 1; transform: translateX(0); } }

        .intro-curtain {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            z-index: 1; pointer-events: none;
            -webkit-mask-image: radial-gradient(circle, transparent 20%, black 80%);
            mask-image: radial-gradient(circle, transparent 20%, black 80%);
        }
        .intro-bar {
            position: absolute; top: 0;
            width: 2px; height: 100%;
            background: var(--intro-bar);
            box-shadow: 0 0 15px var(--intro-glow);
            opacity: 0;
            transform: scaleY(0);
            animation: speedBar ease-in-out forwards;
            animation-play-state: paused;
        }
        @keyframes speedBar {
            0% { transform: scaleY(0); opacity: 0; }
            50% { transform: scaleY(1); opacity: 0.6; }
            100% { transform: scaleY(0); opacity: 0; }
        }

        .intro-word { position: relative; }
        .intro-word::before, .intro-word::after {
            content: attr(data-text); position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            background: var(--intro-glitch-bg); opacity: 0.8; display: none;
        }
        .intro-word::before {
            left: 3px; text-shadow: -2px 0 var(--intro-glitch-a); clip: rect(44px, 450px, 56px, 0);
            animation: glitch-anim 2.5s infinite linear alternate-reverse;
        }
        .intro-word::after {
            left: -3px; text-shadow: -2px 0 var(--intro-glitch-b); clip: rect(44px, 450px, 56px, 0);
            animation: glitch-anim2 3s infinite linear alternate-reverse;
        }
        #intro-layer.playing .intro-word::before, #intro-layer.playing .intro-word::after { display: block; }
        #intro-layer.light-intro .intro-icon {
            filter: drop-shadow(0 0 14px rgba(0, 230, 118, 0.28)) drop-shadow(0 0 34px rgba(45, 212, 191, 0.12));
        }
        #intro-layer.light-intro .intro-word.main {
            text-shadow: 0 4px 18px rgba(15,23,42,0.10);
        }
        #intro-layer.light-intro .intro-word.sec {
            text-shadow: 0 0 18px rgba(0,230,118,0.52);
        }
        #intro-layer.light-intro .intro-bar {
            box-shadow: 0 0 14px rgba(16,185,129,0.26), 0 0 28px rgba(45,212,191,0.14);
        }

        @keyframes glitch-anim {
            0% { clip: rect(12px, 9999px, 5px, 0); transform: skew(0.5deg); }
            5% { clip: rect(85px, 9999px, 90px, 0); transform: skew(0.2deg); }
            10% { clip: rect(5px, 9999px, 20px, 0); transform: skew(0.8deg); }
            15% { clip: rect(50px, 9999px, 60px, 0); transform: skew(0.1deg); }
            20% { clip: rect(90px, 9999px, 100px, 0); transform: skew(0.6deg); }
            25% { clip: rect(20px, 9999px, 30px, 0); transform: skew(0.3deg); }
            30% { clip: rect(70px, 9999px, 80px, 0); transform: skew(0.9deg); }
            35% { clip: rect(10px, 9999px, 15px, 0); transform: skew(0.4deg); }
            40% { clip: rect(60px, 9999px, 75px, 0); transform: skew(0.7deg); }
            45% { clip: rect(30px, 9999px, 45px, 0); transform: skew(0.2deg); }
            50% { clip: rect(80px, 9999px, 95px, 0); transform: skew(0.5deg); }
            55% { clip: rect(15px, 9999px, 25px, 0); transform: skew(0.8deg); }
            60% { clip: rect(65px, 9999px, 70px, 0); transform: skew(0.3deg); }
            65% { clip: rect(40px, 9999px, 55px, 0); transform: skew(0.6deg); }
            70% { clip: rect(95px, 9999px, 100px, 0); transform: skew(0.1deg); }
            75% { clip: rect(25px, 9999px, 35px, 0); transform: skew(0.9deg); }
            80% { clip: rect(55px, 9999px, 65px, 0); transform: skew(0.4deg); }
            85% { clip: rect(5px, 9999px, 10px, 0); transform: skew(0.7deg); }
            90% { clip: rect(75px, 9999px, 85px, 0); transform: skew(0.2deg); }
            95% { clip: rect(35px, 9999px, 50px, 0); transform: skew(0.5deg); }
            100% { clip: rect(10px, 9999px, 100px, 0); transform: skew(0.8deg); }
        }
        @keyframes glitch-anim2 {
            0% { clip: rect(65px, 9999px, 100px, 0); transform: skew(0.3deg); }
            20% { clip: rect(10px, 9999px, 30px, 0); transform: skew(0.8deg); }
            40% { clip: rect(85px, 9999px, 95px, 0); transform: skew(0.1deg); }
            60% { clip: rect(25px, 9999px, 45px, 0); transform: skew(0.6deg); }
            80% { clip: rect(50px, 9999px, 70px, 0); transform: skew(0.4deg); }
            100% { clip: rect(5px, 9999px, 50px, 0); transform: skew(0.9deg); }
        }

        #intro-layer.playing .intro-icon,
        #intro-layer.playing .intro-word,
        #intro-layer.playing .intro-bar {
            animation-play-state: running;
        }

        @media (max-width: 600px) {
            .intro-container { flex-direction: column; gap: 10px; }
            .intro-icon { font-size: 4rem; }
            .intro-word { font-size: 3rem; }
            .intro-word.sec { font-size: 3.5rem; }
        }

        body.content-paused .sidebar,
        body.content-paused .main-content,
        body.content-paused .mobile-header {
            opacity: 0; transition: none !important; animation: none !important;
        }

        #customConfirmOverlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(0,0,0,0.78);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            z-index: 99999; display: none; align-items: center; justify-content: center;
            opacity: 0; transition: opacity 0.3s ease;
            padding: 18px;
        }
        #customConfirmOverlay.active { display: flex; opacity: 1; }
        .confirm-box {
            background: rgba(8, 8, 8, 0.96);
            border: 1px solid rgba(213, 0, 249, 0.38);
            border-top-color: rgba(255,255,255,0.08);
            box-shadow: 0 28px 70px rgba(0,0,0,0.72), 0 0 36px rgba(213, 0, 249, 0.18);
            padding: 28px;
            border-radius: 8px;
            width: min(420px, 100%);
            text-align: left;
            transform: scale(0.9); transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); position: relative; overflow: hidden;
        }
        .confirm-box::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--neon-purple), var(--neon-blue)); }
        #customConfirmOverlay.active .confirm-box { transform: scale(1); }
        .confirm-icon-area { width: 54px; height: 54px; background: rgba(213, 0, 249, 0.11); border-radius: 8px; display: flex; align-items: center; justify-content: center; margin: 0 0 18px; color: var(--neon-purple); font-size: 24px; border: 1px solid rgba(213, 0, 249, 0.24); box-shadow: inset 0 1px 0 rgba(255,255,255,0.07); }
        .confirm-title { color: var(--text-main); font-size: 20px; font-weight: 900; margin-bottom: 10px; letter-spacing: 0; }
        .confirm-desc { color: var(--text-sec); font-size: 14px; line-height: 1.55; margin-bottom: 24px; }
        .confirm-desc strong { color: var(--text-main); font-weight: 900; }
        .confirm-btns { display: flex; gap: 12px; justify-content: center; }
        .c-btn { flex: 1; min-height: 46px; padding: 12px; border-radius: 8px; font-weight: 900; font-size: 13px; cursor: pointer; transition: 0.2s; border: none; }
        .c-btn.cancel { background: rgba(255,255,255,0.05); color: var(--text-sec); border: 1px solid var(--card-border); }
        .c-btn.cancel:hover { background: rgba(255,255,255,0.1); color: var(--text-main); }
        .c-btn.confirm { background: var(--neon-purple); color: #fff; box-shadow: 0 10px 24px rgba(213, 0, 249, 0.28); }
        .c-btn.confirm:hover { background: #E040FB; transform: translateY(-1px); box-shadow: 0 14px 28px rgba(213, 0, 249, 0.34); }
        body.light-mode .confirm-box {
            background: #ffffff;
            border-color: rgba(139,92,246,0.35);
            box-shadow: 0 28px 70px rgba(15,23,42,0.2), 0 0 30px rgba(139,92,246,0.12);
        }
        body.light-mode .confirm-icon-area { background: rgba(139,92,246,0.1); border-color: rgba(139,92,246,0.22); color: var(--neon-purple); }

        .chart-pulse {
            position: absolute; width: 12px; height: 12px; border-radius: 50%;
            transform: translate(-50%, -50%); pointer-events: none; z-index: 10;
            display: none; transition: background 0.3s, box-shadow 0.3s;
        }
        .chart-pulse::after {
            content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            border-radius: 50%; background: inherit; z-index: -1;
            animation: pulse-ring 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
        }
        @keyframes pulse-ring {
            0% { transform: scale(1); opacity: 0.8; }
            100% { transform: scale(4); opacity: 0; }
        }

        .pulse-tooltip {
            position: absolute; bottom: 26px; left: 50%; transform: translateX(-50%);
            background: rgba(10, 10, 10, 0.92); border: 1px solid rgba(255, 255, 255, 0.1);
            padding: 6px 10px; border-radius: 8px; font-size: 11px; font-weight: 900;
            color: #fff; white-space: nowrap; pointer-events: none;
            box-shadow: 0 4px 15px rgba(0,0,0,0.5);
            transition: transform 0.2s ease;
            letter-spacing: 0;
            font-variant-numeric: tabular-nums;
        }
        body.light-mode .pulse-tooltip { background: rgba(255, 255, 255, 0.5); border-color: rgba(0,0,0,0.05); color: #1e293b; box-shadow: 0 4px 20px rgba(0,0,0,0.05); }

        @keyframes cardEntry {
            from { opacity: 0; transform: translateY(12px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes waveMove {
            0% { -webkit-mask-position: 0 0; mask-position: 0 0; }
            100% { -webkit-mask-position: -100% 0; mask-position: -100% 0; }
        }

        @keyframes ceilingLiquidFlow {
            0% {
                background-position: 4% 92%, 38% 54%, 68% 20%, 0 0;
                transform: translate3d(-2%, 0, 0) scale(1);
            }
            50% {
                background-position: 28% 76%, 62% 42%, 34% 30%, 0 0;
                transform: translate3d(2%, 0, 0) scale(1.02);
            }
            100% {
                background-position: 52% 92%, 86% 54%, 0% 20%, 0 0;
                transform: translate3d(-2%, 0, 0) scale(1);
            }
        }

        @keyframes surfaceWaveSlide {
            0% { transform: translate3d(0, 0, 0); }
            100% { transform: translate3d(-50%, 0, 0); }
        }

        @keyframes surfaceBubblePop {
            0% {
                opacity: 0;
                transform: translate3d(-50%, 2px, 0) scale(0.45);
            }
            24% { opacity: var(--surface-pop-alpha, 0.45); }
            58% {
                opacity: calc(var(--surface-pop-alpha, 0.45) * 0.65);
                transform: translate3d(-50%, var(--surface-pop-rise, -8px), 0) scale(var(--surface-pop-scale, 0.9));
            }
            100% {
                opacity: 0;
                transform: translate3d(-50%, calc(var(--surface-pop-rise, -8px) * 1.45), 0) scale(0.35);
            }
        }

        @keyframes ceilingBoilUp {
            0% {
                opacity: 0;
                bottom: -10px;
                transform: translate3d(0, 0, 0) scale(0.45);
            }
            14% { opacity: var(--bubble-alpha, 0.65); }
            40% {
                opacity: calc(var(--bubble-alpha, 0.65) * 0.78);
                transform: translate3d(calc(var(--bubble-drift, 6px) * -0.35), 0, 0) scale(0.82);
            }
            72% {
                opacity: calc(var(--bubble-alpha, 0.65) * 0.55);
                transform: translate3d(calc(var(--bubble-drift, 6px) * 0.55), 0, 0) scale(1);
            }
            100% {
                bottom: 100%;
                opacity: 0;
                transform: translate3d(var(--bubble-drift, 6px), 0, 0) scale(1.2);
            }
        }

                @keyframes floatUpChart {
                   0% { transform: translateY(20px) scale(0.4); opacity: 0; }
                    30% { opacity: 0.4; }
                    80% { opacity: 0.2; }
                    100% { transform: translateY(-180px) scale(1.1); opacity: 0; }
                }
                @keyframes floatDownChart {
                   0% { transform: translateY(-200px) scale(0.5); opacity: 0; }
                    20% { opacity: 0.5; }
                    80% { opacity: 0.5; }
                    100% { transform: translateY(10px) scale(1.5); opacity: 0; }
                }

                .chart-particles { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; overflow: hidden; z-index: 0; }
                .chart-particles span {
                    position: absolute; bottom: 0; width: 10px; height: 10px; background: var(--wave-color);
                    opacity: 0;
                    animation: floatUpChart var(--wave-speed, 4s) infinite linear;
                    filter: drop-shadow(0 0 4px var(--wave-color));
                }

                .donut-center-fx {
                    position: absolute; top: 50%; left: 50%;
                    transform: translate(-50%, -50%);
                    z-index: 1; pointer-events: none;
                    border-radius: 50%;
                    overflow: hidden;
                    display: flex; align-items: center; justify-content: center;
                }

                .donut-center-fx::before {
                    content: '';
                    position: absolute; inset: 0;
                    border-radius: 50%;
                    background: radial-gradient(circle, var(--visor-color, var(--neon-blue)) 0%, transparent 65%);
                    opacity: 0.06;
                    transition: background 0.5s;
                }

                .donut-center-fx::after {
                    content: '';
                    position: absolute; inset: 2px;
                    border-radius: 50%;
                    border: 1px solid var(--visor-color, var(--neon-blue));
                    opacity: 0.2;
                    transition: border-color 0.5s;
                }

                .donut-ring-svg {
                    position: absolute; top: 0; left: 0;
                    width: 100%; height: 100%;
                    overflow: visible;
                }

                .ring-track {
                    fill: none;
                    stroke: var(--visor-color, var(--neon-blue));
                    stroke-width: 0.6;
                    opacity: 0.18;
                }

                .ring-spin {
                    fill: none;
                    stroke: var(--visor-color, var(--neon-blue));
                    stroke-width: 1.4;
                    stroke-linecap: round;
                    stroke-dasharray: 60 216;
                    opacity: 0.85;
                    animation: ringRotate 8s linear infinite;
                    transform-origin: 50px 50px;
                    transition: stroke 0.5s;
                }

                .ring-pulse {
                    display: none;
                }

                .ring-dot {
                    display: none;
                }

                @keyframes ringRotate { to { transform: rotate(360deg); } }

                .donut-scanner {
                    display: none;
                }

                .donut-center-text {
                    position: relative; z-index: 4;
                    display: flex; flex-direction: column;
                    align-items: center; justify-content: center;
                    gap: 2px;
                    pointer-events: none;
                }

                .dct-top {
                    display: flex; align-items: center; gap: 4px;
                }

                .dct-icon {
                    font-size: clamp(6px, 1.4cqw, 9px);
                    color: var(--visor-color, var(--neon-blue));
                    opacity: 0.75;
                    transition: color 0.5s;
                    line-height: 1;
                }

                .dct-label {
                    font-size: clamp(5px, 1.3cqw, 8px);
                    font-weight: 800;
                    letter-spacing: 0;
                    color: rgba(219,234,254,0.72);
                    text-transform: uppercase;
                    line-height: 1;
                    transition: color 0.4s;
                }
                body.light-mode .dct-label { color: #475569; }

                .dct-sep {
                    width: 28px; height: 1px;
                    background: linear-gradient(90deg, transparent, var(--visor-color, var(--neon-blue)), transparent);
                    opacity: 0.4;
                    margin: 3px auto;
                    transition: background 0.5s, width 0.3s;
                }

                .dct-value {
                    font-size: clamp(10px, 3cqw, 17px);
                    font-weight: 900;
                    color: #ffffff;
                    line-height: 1;
                    letter-spacing: 0;
                    transition: color 0.4s;
                    white-space: nowrap;
                    font-variant-numeric: tabular-nums;
                }
                body.light-mode .dct-value { color: #0f172a; }

                .chart-particles.trend-up span {
                    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
                    border-radius: 0;
                }

                .chart-particles.trend-down span {
                    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
                    border-radius: 0;
                    animation-name: floatDownChart;
                }

                .chart-particles span:nth-child(1) { left: 15%; animation-delay: 0s; transform: scale(0.8); }
                .chart-particles span:nth-child(2) { left: 35%; animation-delay: 1.2s; transform: scale(1.2); }
                .chart-particles span:nth-child(3) { left: 55%; animation-delay: 0.5s; transform: scale(0.9); }
                .chart-particles span:nth-child(4) { left: 75%; animation-delay: 2.1s; transform: scale(1.3); }
                .chart-particles span:nth-child(5) { left: 85%; animation-delay: 0.8s; transform: scale(0.7); }
                .chart-particles span:nth-child(6) { left: 45%; animation-delay: 2.5s; transform: scale(1.1); }
                .chart-particles span:nth-child(7) { left: 95%; animation-delay: 1.7s; transform: scale(0.8); }

        .modal-title { font-weight:800; color:var(--text-main); margin:0; font-size:18px; }
        .modal-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:25px; }
        .modal-header.sm { margin-bottom:15px; }
        .modal-header.shrink { margin-bottom:25px; flex-shrink:0; }
        .btn-close-modal {
            background:rgba(255,255,255,0.05); border:1px solid var(--card-border);
            color:var(--text-sec); border-radius:50%; width:32px; height:32px;
            cursor:pointer; display:flex; align-items:center; justify-content:center; transition:0.2s;
        }
        .btn-close-modal:hover { background:rgba(255,255,255,0.12); color:var(--text-main); }
