        :root {
            --bg-dark: #000000;
            --sidebar-bg: #080808;
            --card-bg: #080808;
            --card-border: rgba(255, 255, 255, 0.08);
            --card-highlight: rgba(255, 255, 255, 0.06);
            --mobile-dashboard-header-top: 8px;
            --mobile-dashboard-header-height: 60px;
            --mobile-header-slide-y: 0px;
            --mobile-feed-header-top: calc(var(--mobile-dashboard-header-top) + var(--mobile-dashboard-header-height));
            --mobile-feed-header-padding-top: 14px;

            --neon-green: #00E676;
            --neon-red: #FF4757;
            --neon-blue: #2979FF;
            --neon-yellow: #FFC400;
            --neon-purple: #D500F9;

            --text-main: #f8fafc;
            --text-sec: #94a3b8;
            --text-muted: #64748b;
        }

        body.light-mode {
            --bg-dark: #f8fafc;
            --sidebar-bg: #ffffff;
            --card-bg: #ffffff;
            --card-border: #e2e8f0;
            --card-highlight: #f1f5f9;

            --text-main: #1e293b;
            --text-sec: #64748b;
            --text-muted: #94a3b8;

            --neon-green: #10b981;
            --neon-red: #ef4444;
            --neon-blue: #3b82f6;
            --neon-yellow: #f59e0b;
            --neon-purple: #8b5cf6;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', sans-serif; -webkit-tap-highlight-color: transparent; }

        body {
            background-color: var(--bg-dark);
            background-image:
                none;
            color: var(--text-main);
            height: 100vh;
            width: 100vw;
            display: flex;
            overflow: hidden;
            font-weight: 400;
        }

        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: #f1f5f9; }
        body.light-mode .trans-item.receita { border-left-color: var(--neon-green); }
        body.light-mode .trans-item.despesa { border-left-color: var(--neon-red); }
        body.light-mode .trans-item:hover { background: #f8fafc; box-shadow: 0 10px 15px -3px rgba(148, 163, 184, 0.15); transform: translateY(-1px); }
        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: #ffffff !important;
            color: #0f172a !important;
            box-shadow: 0 1px 3px rgba(148, 163, 184, 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-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.selected {
            background: #eff6ff !important;
            border-color: #93c5fd !important;
        }
        body.light-mode .cpt-row:hover {
            background: #f1f5f9 !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: #080808 !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: #080808 !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
            border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
            margin-bottom: 4px !important;
            transition: background 0.15s, box-shadow 0.15s;
        }
        body:not(.light-mode) .trans-item:hover {
            background: #0d0d0d !important;
            border-top-color: rgba(255, 255, 255, 0.1) !important;
            border-right-color: rgba(255, 255, 255, 0.1) !important;
            border-bottom-color: rgba(255, 255, 255, 0.1) !important;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
        }
        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 .cat-badge {
            background: #f1f5f9 !important;
            color: #1e293b !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.5);
        }

        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: 6px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 10px; }
        ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2); }

        #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: 280px; height: 100%; background: var(--sidebar-bg); border-right: 1px solid var(--card-border); padding: 30px 24px; display: flex; flex-direction: column; z-index: 60; flex-shrink: 0; transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s; box-shadow: 5px 0 20px rgba(0,0,0,0.3); position: relative; }
        #star-canvas { position: absolute; top: 0; left: 0; width: 100%; height: 350px; z-index: 0; pointer-events: none; opacity: 0.5; mask-image: linear-gradient(to bottom, black 40%, transparent 100%); -webkit-mask-image: linear-gradient(to bottom, black 40%, transparent 100%); }
        .sidebar > *:not(#star-canvas):not(.sidebar-toggle-btn) { position: relative; z-index: 2; }
        .brand { font-size: 24px; font-weight: 900; color: var(--text-main); margin-bottom: 30px; letter-spacing: 0.5px; display: flex; align-items: center; justify-content: center; gap: 15px; }
        .brand i { color: var(--neon-green); font-size: 28px; filter: drop-shadow(0 0 10px rgba(0, 230, 118, 0.4)); margin-top: -4px; }
        .brand:hover i { animation: rocket-launch 0.5s ease-in-out; filter: drop-shadow(0 0 15px var(--neon-green)); }
        .brand .logo-nexa { font-size: 26px; }
        .brand .logo-sys { font-size: 11px; }

        .btn-new { background: var(--neon-green); color: #000; border: none; padding: 16px; border-radius: 12px; font-weight: 800; font-size: 13px; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 12px; box-shadow: 0 4px 15px rgba(0, 230, 118, 0.2); width: 100%; letter-spacing: 0.5px; }
        .btn-new:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0, 230, 118, 0.3); background: #00C853; }

        .btn-menu-sec { width: 100%; background: rgba(255,255,255,0.03); border: 1px solid var(--card-border); color: var(--text-sec); padding: 12px; border-radius: 12px; cursor: pointer; font-size: 12px; font-weight: 600; margin-bottom: 12px; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; gap: 8px; }
        .btn-menu-sec:hover { border-color: rgba(255,255,255,0.15); color: var(--text-main); background: rgba(255,255,255,0.06); }
        .btn-menu-sec.active { border-color: var(--neon-blue); color: var(--neon-blue); background: rgba(41, 121, 255, 0.1); }

        .tools-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
        .tools-grid .btn-menu-sec { margin-bottom: 0; flex-direction: column; gap: 6px; padding: 12px 5px; font-size: 10px; height: 100%; }
        .tools-grid .btn-menu-sec i { font-size: 16px; margin-bottom: 2px; }
        .btn-ai {
            --ai-icon-color: #ffffff;
            position: relative;
            isolation: isolate;
            border: 1px solid transparent;
            background: rgba(255,255,255,0.03);
            color: var(--text-main);
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            overflow: hidden;
        }
        .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;
        }
        @property --ai-rainbow-angle {
            syntax: '<angle>';
            inherits: false;
            initial-value: 205deg;
        }
        @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;
        }
        .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);
            box-shadow: 0 0 18px rgba(213,0,249,0.14), 0 4px 12px rgba(0,0,0,0.22);
        }
        body.light-mode .btn-ai {
            --ai-icon-color: #334155;
            background: #f8fafc;
            color: #334155;
            box-shadow: 0 1px 4px rgba(148,163,184,0.10);
        }
        body.light-mode .btn-ai:hover {
            background: #f1f5f9;
            color: #0f172a;
            box-shadow: 0 0 16px rgba(99,102,241,0.12), 0 4px 12px rgba(148,163,184,0.16);
        }
        body.light-mode .btn-ai .sparkles-icon {
            text-shadow: none;
        }

        .sidebar.compact { width: 80px; padding: 30px 10px; }

        .sidebar-toggle-btn {
            position: absolute; top: 32px; right: -12px; width: 24px; height: 24px;
            background: var(--neon-blue); color: #fff; border: none; border-radius: 50%;
            display: flex; align-items: center; justify-content: center; cursor: pointer;
            z-index: 70; box-shadow: 0 0 10px rgba(41, 121, 255, 0.5); font-size: 10px;
            transition: transform 0.3s;
        }
        .sidebar.compact .sidebar-toggle-btn { transform: rotate(180deg); }

        .sidebar.compact .logo-text-col { display: none; }
        .sidebar.compact .brand { justify-content: center; margin-bottom: 40px; }
        .sidebar.compact .brand i { margin: 0; font-size: 26px; }

        .sidebar.compact .btn-new { font-size: 0; padding: 16px 0; gap: 0; }
        .sidebar.compact .btn-new i { margin: 0; font-size: 20px; }

        .sidebar.compact .menu-title { display: none; }

        .sidebar.compact .tools-grid { grid-template-columns: 1fr; gap: 10px; }
        .sidebar.compact .tools-grid .btn-menu-sec { font-size: 0; padding: 12px 0; }
        .sidebar.compact .tools-grid .btn-menu-sec i { margin: 0; font-size: 18px; }
        .sidebar.compact .new-btn-wrapper,
        .sidebar.compact .tools-grid,
        .sidebar.compact .btn-ai {
            width: 56px;
            margin-left: auto;
            margin-right: auto;
        }
        .sidebar.compact .btn-new,
        .sidebar.compact .tools-grid .btn-menu-sec,
        .sidebar.compact .btn-ai {
            width: 56px;
            height: 52px;
            min-height: 52px;
            padding: 0 !important;
            margin-bottom: 10px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: row;
            gap: 0;
            line-height: 1;
            text-align: center;
            box-sizing: border-box;
        }
        .sidebar.compact .btn-new i,
        .sidebar.compact .tools-grid .btn-menu-sec i,
        .sidebar.compact .btn-ai i {
            margin: 0 !important;
            display: block;
            line-height: 1;
            font-size: 18px;
        }
        .sidebar.compact .btn-new i { font-size: 20px; }
        .sidebar.compact .btn-new {
            letter-spacing: 0;
        }
        .sidebar.compact .btn-new i {
            width: 20px;
            height: 20px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transform: translateX(0);
        }
        .sidebar.compact .tools-grid {
            display: grid;
            grid-template-columns: 56px;
            gap: 10px;
            justify-content: center;
            justify-items: center;
        }
        .sidebar.compact .tools-grid .btn-menu-sec { margin-bottom: 0; }

        .sidebar.compact #btnClone,
        .sidebar.compact #btnExport,
        #btnClone, #btnExport, #btnPresentation {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            max-height: 60px; opacity: 1; overflow: hidden; transform: translateX(0);
            visibility: visible;
        }

        .sidebar.compact #btnClone,
        .sidebar.compact #btnExport,
        .sidebar.compact #btnPresentation {
            display: none;
            max-height: 0; opacity: 0; margin: 0; padding: 0; border: 0;
            transform: translateX(-20px); pointer-events: none;
            visibility: hidden;
        }

        .sidebar.compact .btn-ai { font-size: 0; justify-content: center; }
        .sidebar.compact .btn-ai i { margin: 0; font-size: 18px; }
        @media (min-width: 769px) {
            .sidebar.compact .btn-transfer-sidebar {
                display: none !important;
            }
        }

        .sidebar.compact .month-item .expanded-text { display: none; }
        .sidebar.compact .month-item .compact-text { display: flex; flex-direction: column; align-items: center; line-height: 1.2; }
        .sidebar.compact .month-item { justify-content: center; padding: 10px 0; }

        .new-btn-wrapper { position: relative; width: 100%; }
        .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; }

        @media (min-width: 901px) {
            .sidebar.compact ~ .main-content .kpi-row {
                grid-template-columns: repeat(6, 1fr);
            }
        }

        @media (max-width: 900px) {
            .sidebar-toggle-btn { display: none; }
        }

        .menu-title { font-size: 11px; color: var(--text-muted); font-weight: 800; margin-bottom: 15px; margin-top: 20px; text-transform: uppercase; letter-spacing: 1px; padding-left: 5px; }
        .month-list { list-style: none; overflow-y: auto; flex: 1; padding-right: 5px; }
        .month-item { padding: 12px 16px; color: var(--text-sec); cursor: pointer; border-radius: 10px; transition: all 0.2s ease; font-size: 14px; font-weight: 500; margin-bottom: 6px; display: flex; justify-content: space-between; align-items: center; border: 1px solid transparent; }
        .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 30px 20px 30px; height: 100vh; overflow: hidden; display: flex; gap: 24px; }
        .left-column { flex: 3.5; display: flex; flex-direction: column; gap: 16px; height: 100%; min-height: 0; min-width: 0; overflow: visible; }
        .right-column { flex: 1.2; 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; }
        .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 {
            position: absolute; top: 8px; right: 8px; width: 6px; height: 6px; min-width: 0; padding: 0; border-radius: 999px;
            background: currentColor; color: transparent; font-size: 0; line-height: 0; display: none;
            box-shadow: 0 0 10px currentColor; z-index: 2; overflow: hidden;
        }
        .due-alert-btn.active .due-alert-count { display: flex; }
        .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 transparent;
            background: rgba(255,71,87,0.08); color: var(--text-sec); display: flex; align-items: center; justify-content: center;
            cursor: pointer; transition: 0.2s; 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-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); }
        body.light-mode .due-alert-count { box-shadow: 0 0 0 2px #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: 12px; 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: 14px 14px; 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-size: clamp(16px, 1.5vw, 24px); font-weight: 800; letter-spacing: -0.5px; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; }

        .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: 5px; margin-right: -5px;
            overscroll-behavior: contain; scroll-behavior: smooth; scrollbar-width: thin;
            scrollbar-color: transparent transparent;
        }
        .charts-wrapper:hover { scrollbar-color: rgba(148, 163, 184, 0.35) transparent; }
        .charts-wrapper::-webkit-scrollbar { width: 5px; }
        .charts-wrapper::-webkit-scrollbar-track { background: transparent; }
        .charts-wrapper::-webkit-scrollbar-thumb { background: transparent; border-radius: 999px; }
        .charts-wrapper:hover::-webkit-scrollbar-thumb { background: rgba(148, 163, 184, 0.35); }
        .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; padding: 20px; 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;
        }
        body.light-mode .chart-card .kpi-label { color: #1d4ed8; }

        .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: 205px;
            padding: 14px 16px 0; border-radius: 12px; border: 1px solid rgba(255,255,255,0.1);
            background: rgba(18,18,20,0.98); color: var(--text-main); box-shadow: 0 18px 42px rgba(0,0,0,0.45);
            transform: translate(-50%, calc(-100% - 14px)); transition: opacity 0.12s ease;
        }
        .spending-pace-tooltip-title { font-size: 15px; font-weight: 900; margin-bottom: 12px; }
        .spending-pace-tooltip-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--text-sec); font-size: 13px; margin-bottom: 12px; }
        .spending-pace-tooltip-row span { display: inline-flex; align-items: center; gap: 8px; }
        .spending-pace-dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; flex-shrink: 0; }
        .spending-pace-dot.current { background: #20c997; }
        .spending-pace-dot.previous { background: #6b7280; }
        .spending-pace-tooltip-row strong { color: var(--text-main); font-size: 15px; font-weight: 900; white-space: nowrap; font-variant-numeric: tabular-nums; }
        .spending-pace-tooltip-footer { margin: 6px -16px 0; padding: 12px 16px; border-top: 1px solid rgba(255,255,255,0.08); border-radius: 0 0 12px 12px; background: rgba(255,71,87,0.1); color: var(--neon-red); font-size: 13px; font-weight: 800; }
        .spending-pace-tooltip-footer.is-good { background: rgba(0,230,118,0.1); color: var(--neon-green); }
        body.light-mode .spending-pace-tooltip { background: rgba(255,255,255,0.98); border-color: #e2e8f0; box-shadow: 0 18px 42px rgba(15,23,42,0.16); }
        body.light-mode .spending-pace-tooltip-footer { border-top-color: #e2e8f0; }
        .patrimony-tooltip {
            position: absolute;
            z-index: 20;
            transform: translate(-50%, calc(-100% - 14px));
        }
        .patrimony-tooltip .spending-pace-dot.current { background: var(--patrimony-line-color, var(--neon-green)); }
        .patrimony-tooltip .spending-pace-dot.previous { background: #6b7280; }
        .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: 170px;
            padding: 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.12);
            background: rgba(12,12,14,0.98); box-shadow: 0 16px 38px rgba(0,0,0,0.45);
            color: var(--text-main); transition: opacity 0.1s ease;
        }
        .spending-heat-tooltip small { display: block; color: #cbd5e1; font-size: 11px; font-weight: 600; margin-bottom: 6px; }
        .spending-heat-tooltip strong { display: block; font-size: 16px; font-weight: 900; color: #fff; margin-bottom: 3px; font-variant-numeric: tabular-nums; }
        .spending-heat-tooltip span { color: var(--neon-green); font-size: 11px; font-weight: 800; }
        body.light-mode .spending-heat-tooltip { background: rgba(255,255,255,0.98); border-color: #e2e8f0; box-shadow: 0 16px 38px rgba(15,23,42,0.16); }
        body.light-mode .spending-heat-tooltip strong { color: #0f172a; }
        body.light-mode .spending-heat-tooltip small { color: #475569; }
        .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 {
            background: rgba(0,0,0,0.68);
            backdrop-filter: blur(3px);
            -webkit-backdrop-filter: blur(3px);
        }
        #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 { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; flex-shrink: 0; }
        .category-chart-header .kpi-label { margin-bottom: 0; }
        .category-toggle-btn { position: static; width: 36px; height: 36px; flex: 0 0 36px; }
        .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: 8px; justify-content: center; transition: all 0.5s; opacity: 1; }
        .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: 8px 16px 8px 4px; pointer-events: auto; justify-content: flex-start; }

        .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-toggle-btn { position: static; bottom: auto; right: auto; flex: 0 0 36px; }

        .category-detail-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(96px, auto) 62px; align-items: center; gap: 12px; padding: 0 10px 8px; color: #8fb4ff; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.4px; border-bottom: 1px solid rgba(255,255,255,0.08); }
        .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: 12px; padding: 7px 8px; border-radius: 8px; font-size: 12px; color: #cbd5e1; flex-shrink: 0; border-bottom: 1px solid rgba(255,255,255,0.04); transition: 0.2s; }
        .category-detail-list .legend-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(96px, auto) 62px; align-items: center; gap: 12px; min-height: 44px; padding: 10px; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; background: linear-gradient(90deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015)); }
        .category-detail-list { overflow-x: hidden; }
        .legend-item:hover { background: rgba(255,255,255,0.045); color: var(--text-main); transform: translateX(2px); }
        .category-detail-list .legend-item:hover { background: linear-gradient(90deg, rgba(47,111,237,0.12), rgba(255,255,255,0.025)); transform: none; }
        .l-name { font-weight: 800; display: flex; align-items: center; gap: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 135px; min-width: 0; color: #dbeafe; }
        .category-detail-list .l-name { max-width: none; min-width: 0; }
        .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 10px currentColor; }
        .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: 800; }
        .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: 13px; }
        .category-detail-list .l-percent { grid-column: 3; grid-row: 1; justify-self: end; min-width: 50px; padding: 4px 7px; border-radius: 999px; background: rgba(47, 111, 237, 0.14); color: #cfe0ff; }
        .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-item { color: #475569; border-bottom-color: #e2e8f0; }
        body.light-mode .legend-item:hover { background: #f1f5f9; }
        body.light-mode .category-detail-head { border-bottom-color: #e2e8f0; }
        body.light-mode .category-detail-list .legend-item { background: #f8fafc; border-color: #e2e8f0; }
        body.light-mode .category-detail-list .l-percent { background: #dbeafe; color: #1d4ed8; }
        body.light-mode .l-name { color: #1e293b; }
        body.light-mode .l-percent { color: #64748b; }

        .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; }
        .feed-header { display: flex; flex-direction: column; gap: 12px; margin-bottom: 15px; }
        .feed-header-top { display: flex; justify-content: space-between; align-items: center; }
        .feed-header-title { font-size: 12px; font-weight: 800; color: var(--text-sec); text-transform: uppercase; letter-spacing: 1px; }

        .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-blue); 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-blue); }

        .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; }

        .feed-search-row { display: flex; gap: 8px; align-items: center; }
        .feed-search-wrap { position: relative; flex: 1; min-width: 0; }
        .feed-search-icon { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--text-muted); font-size: 12px; pointer-events: none; }
        .feed-search-input { width: 100%; padding: 9px 32px 9px 30px; background: rgba(255,255,255,0.04); border: 1px solid var(--card-border); border-radius: 10px; color: var(--text-main); font-size: 12px; outline: none; transition: all 0.2s; box-sizing: border-box; }
        .feed-search-input:focus { border-color: var(--neon-blue); background: rgba(41,121,255,0.05); box-shadow: 0 0 0 3px rgba(41,121,255,0.1); }
        .feed-search-input::placeholder { color: var(--text-muted); }
        .feed-search-clear { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 11px; padding: 4px; opacity: 0; pointer-events: none; transition: 0.15s; }
        .feed-search-clear.visible { opacity: 1; pointer-events: all; }
        .feed-search-clear:hover { color: var(--text-main); }
        body.light-mode .feed-search-input { background: #f8fafc; border-color: #e2e8f0; color: #1e293b; }
        body.light-mode .feed-search-input:focus { background: #fff; border-color: var(--neon-blue); }

        .feed-conta-wrap { position: relative; flex: 0 0 152px; min-width: 152px; max-width: 152px; }
        .feed-conta-wrap .custom-select-wrapper { margin-bottom: 0; }
        .feed-conta-wrap .custom-select-trigger {
            width: 100%;
            min-width: 0;
            padding: 9px 34px 9px 12px;
            font-size: 12px;
            font-weight: 700;
            background: rgba(0,229,255,0.06); border-color: rgba(0,229,255,0.25); color: #00E5FF;
            display: block;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            line-height: 18px;
        }
        .feed-conta-wrap .custom-select-trigger:after {
            position: absolute;
            right: 12px;
            color: #00E5FF;
            flex-shrink: 0;
        }
        .feed-conta-wrap .custom-select.open .custom-select-trigger { border-color: #00E5FF; background: rgba(0,229,255,0.12); }
        .feed-conta-wrap .custom-select.open .custom-select-trigger:after { color: #00E5FF; }
        .feed-conta-wrap .custom-options { min-width: 200px; right: 0; left: auto; }
        .feed-conta-wrap .custom-option.selected { color: #00E5FF; background: rgba(0,229,255,0.08); }
        body.light-mode .feed-conta-wrap .custom-select-trigger { background: #f0fdff; border-color: rgba(0,180,210,0.4); color: #0891b2; }
        body.light-mode .feed-conta-wrap .custom-select.open .custom-select-trigger { border-color: #0891b2; background: #e0f7fa; }

        .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; gap: 10px; margin-bottom: 10px; }
        .batch-actions.active { display: flex; }
        .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: 8px; gap: 8px; flex-wrap: nowrap; position: relative; z-index: 20; }

        .filter-group { display: flex; background: rgba(255,255,255,0.03); border: 1px solid var(--card-border); border-radius: 8px; padding: 2px; gap: 2px; flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }

        .filter-group::-webkit-scrollbar { display: none; }

        .f-btn { flex: 1; background: transparent; border: none; color: var(--text-sec); font-size: 11px; font-weight: 600; padding: 6px 4px; border-radius: 6px; cursor: pointer; transition: all 0.2s; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
        .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; }
        .status-btn { width: 100%; display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,0.03); border: 1px solid var(--card-border); color: var(--text-sec); padding: 6px 10px; border-radius: 8px; font-size: 11px; font-weight: 600; cursor: pointer; transition: 0.2s; }
        .status-btn:hover { background: rgba(255,255,255,0.06); color: var(--text-main); border-color: rgba(255,255,255,0.15); }

        .filter-badge { width: 6px; height: 6px; border-radius: 50%; display: none; margin-left: 2px; animation: pulseBadge 1.5s infinite ease-in-out; }
        @keyframes pulseBadge { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.4); opacity: 0.6; } 100% { transform: scale(1); opacity: 1; } }

        .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; }

        .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-list { overflow-y: auto; flex: 1; padding-right: 5px; overflow-x: hidden; padding-bottom: 80px;} /* Aumentado para evitar sobreposição */

        .feed-summary {
            display: none; justify-content: space-between; align-items: center;
            padding: 16px 20px; background: #080808;
            border-radius: 14px; margin-bottom: 12px; border: 1px solid rgba(255,255,255,0.06);
            box-shadow: 0 3px 10px rgba(0,0,0,0.4), 0 1px 0 rgba(255,255,255,0.04) inset;
        }
        .fs-item { display: flex; flex-direction: column; gap: 4px; }
        .fs-label { color: var(--text-sec); font-size: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: 1px; }
        .fs-val { font-size: 18px; font-weight: 900; letter-spacing: -0.5px; }
        .fs-divider { width: 1px; height: 35px; background: rgba(255,255,255,0.05); }

        .trans-item {
            position: relative;
            background: rgba(8, 8, 8, 0.98);
            border: 1px solid var(--card-border); border-left: 3px solid #444; border-radius: 12px;
            padding: 16px; margin-bottom: 12px; display: flex; justify-content: space-between; align-items: center;
            overflow: hidden; z-index: 1; box-shadow: 0 1px 4px rgba(0,0,0,0.25);
            transition: background 0.15s, box-shadow 0.15s;
        }
        .trans-item:hover { transform: translateX(3px); background: rgba(38, 38, 38, 0.98); border-color: rgba(255,255,255,0.1); box-shadow: 0 4px 12px rgba(0,0,0,0.35); }
        .trans-item.receita { border-left-color: var(--neon-green); }
        .trans-item.despesa { border-left-color: var(--neon-red); }

        .trans-type-dot {
            flex-shrink: 0;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 8px;
            margin-right: 8px;
        }
        .trans-item.receita .trans-type-dot {
            background: rgba(0, 230, 118, 0.12);
            color: var(--neon-green);
            border: 1px solid rgba(0, 230, 118, 0.3);
        }
        .trans-item.despesa .trans-type-dot {
            background: rgba(255, 71, 87, 0.12);
            color: var(--neon-red);
            border: 1px solid rgba(255, 71, 87, 0.3);
        }

        body.paused-mode * {
            animation-play-state: paused !important;
            transition: none !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;
            border-left-color: var(--neon-red) !important;
            background:
                linear-gradient(90deg, rgba(255,71,87,0.17), rgba(255,71,87,0.055) 48%, rgba(8,8,8,0.98) 100%) !important;
            box-shadow: 0 0 0 1px rgba(255,71,87,0.12), 0 8px 26px rgba(255,71,87,0.08) !important;
        }
        .trans-item.near {
            border-color: rgba(255,196,0,0.52) !important;
            border-left-color: var(--neon-yellow) !important;
            background:
                linear-gradient(90deg, rgba(255,196,0,0.16), 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.10), 0 8px 24px rgba(255,196,0,0.07) !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; }

        /* Card selecionado */
        .trans-item.selected { border-left: 3px solid var(--neon-blue) !important; }
        body:not(.light-mode) .trans-item.selected {
            background: rgba(41,121,255,0.08) !important;
            border-top-color: rgba(41,121,255,0.25) !important;
            border-right-color: rgba(41,121,255,0.25) !important;
            border-bottom-color: rgba(41,121,255,0.25) !important;
            box-shadow: 0 0 0 1px rgba(41,121,255,0.15), 0 4px 14px rgba(41,121,255,0.12) !important;
        }
        body.light-mode .trans-item.selected {
            background: rgba(41,121,255,0.06) !important;
            border-color: rgba(41,121,255,0.35) !important;
        }

        .trans-progress {
            position: absolute; top: 0; left: 0; height: 100%; z-index: 0; pointer-events: none;
            transition: width 0.8s cubic-bezier(0.34, 1.56, 0.64, 1); opacity: 0.9;
        }

        .trans-content { flex: 1; min-width: 0; position: relative; z-index: 2; display: flex; flex-direction: column; gap: 8px; }
        .trans-header { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
        .trans-title { font-weight: 700; font-size: 14px; color: var(--text-main); flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: -0.2px; }
        .trans-desc { vertical-align: middle; }
        .trans-amount { font-weight: 800; font-size: 14px; flex-shrink: 0; letter-spacing: -0.5px; }

        .trans-meta { font-size: 11px; color: var(--text-sec); display: flex; align-items: center; justify-content: space-between; gap: 4px; }
        .meta-info { display: flex; align-items: center; gap: 6px; overflow: hidden; flex: 1; min-width: 0; mask-image: linear-gradient(to right, black 90%, transparent 100%); -webkit-mask-image: linear-gradient(to right, black 90%, transparent 100%); }
        .cat-badge { font-size: 9px; font-weight: 800; text-transform: uppercase; padding: 3px 7px; border-radius: 6px; border: 1px solid; margin-right: 4px; letter-spacing: 0.5px; white-space: nowrap; display: inline-block; vertical-align: middle; background: rgba(0,0,0,0.6) !important; text-shadow: none; flex-shrink: 0; }
        .pay-badge { font-size: 10px; font-weight: 600; color: var(--text-muted); margin-right: 4px; border-right: 1px solid rgba(255,255,255,0.1); padding-right: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 70px; display: inline-block; vertical-align: middle; flex-shrink: 0; }
        .meta-date { flex-shrink: 0; font-weight: 600; color: var(--text-sec); }

        .action-group { display: flex; align-items: center; gap: 4px; flex-shrink: 0; padding-left: 4px; }
        .action-btn { background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.05); border-radius: 6px; color: var(--text-sec); cursor: pointer; font-size: 11px; padding: 6px; transition: all 0.2s; }
        .action-btn:hover { color: var(--text-main); border-color: rgba(255,255,255,0.2); background: rgba(255,255,255,0.1); transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.3); }

        .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); z-index: 100; display: none; justify-content: center; align-items: center; opacity: 0; transition: opacity 0.3s ease; }
        .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;
            background: rgba(0,0,0,0.62);
            backdrop-filter: blur(3px);
            -webkit-backdrop-filter: blur(3px);
        }
        #modalOverlay .modal-box {
            width: min(640px, calc(100vw - 40px));
            max-width: 640px;
            max-height: min(90vh, 820px);
            padding: 0;
            border-radius: 24px;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            transform: scale(0.96) translateY(18px);
            transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), 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;
        }
        #modalOverlay.active .modal-box { transform: scale(1) translateY(0); }
        #modalOverlay .modal-box::before {
            content: '';
            border: none;
            width: 52px;
            height: 4px;
            left: 50%;
            top: 12px;
            transform: translateX(-50%);
            border-radius: 999px;
            background: rgba(255,255,255,0.28);
        }
        #modalOverlay .modal-header {
            padding: 30px 28px 18px;
            margin-bottom: 0;
            border-bottom: 1px solid var(--card-border);
            flex-shrink: 0;
        }
        #modalOverlay .modal-title {
            font-size: 22px;
            line-height: 1.2;
        }
        #modalOverlay .btn-close-modal {
            width: 40px;
            height: 40px;
            border-radius: 50%;
        }
        #modalOverlay #transForm {
            overflow-y: auto;
            padding: 22px 28px 28px;
            scrollbar-width: thin;
            scrollbar-color: rgba(255,255,255,0.18) transparent;
        }
        #modalOverlay .type-toggle-group {
            position: sticky;
            top: 0;
            z-index: 3;
            margin: 0 0 20px;
            padding: 6px;
            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: 14px 12px;
        }
        #modalOverlay .form-label {
            margin-bottom: 8px;
            letter-spacing: 0;
        }
        #modalOverlay .form-input,
        #modalOverlay .form-select,
        #modalOverlay .custom-select-trigger {
            min-height: 50px;
            border-radius: 14px;
            padding: 14px 16px;
            margin-bottom: 16px;
            font-size: 15px;
            background: rgba(255,255,255,0.045);
        }
        #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: 50px;
            padding: 10px 14px;
            border: 1px solid var(--card-border);
            border-radius: 14px;
            background: rgba(255,255,255,0.035);
            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: sticky;
            bottom: 0;
            z-index: 4;
            min-height: 54px;
            margin-top: 20px;
            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);
        }
        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 .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;
        }

        .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 {
            background: rgba(0,0,0,0.68);
            backdrop-filter: blur(3px);
            -webkit-backdrop-filter: blur(3px);
        }
        #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: hidden;
        }
        .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%;
            max-height: 250px;
            overflow-y: auto;
            padding: 6px;
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 12px;
            background: #080808;
            box-shadow: 0 18px 36px rgba(0,0,0,0.55);
            z-index: 40;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translateY(-4px);
            transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
        }
        .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: 9px 10px;
            border: 0;
            border-radius: 8px;
            background: transparent;
            color: var(--text-sec);
            text-align: left;
            font-size: 12px;
            font-weight: 800;
            cursor: pointer;
        }
        .fp-month-combo-option:hover {
            background: rgba(41,121,255,0.12);
            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(0,230,118,0.1);
            border-color: rgba(0,230,118,0.28);
            color: var(--text-main);
        }
        .flatpickr-day.today {
            border-color: rgba(0,229,255,0.55);
            color: #00E5FF;
        }
        .flatpickr-day.selected,
        .flatpickr-day.startRange,
        .flatpickr-day.endRange,
        .flatpickr-day.selected:hover {
            background: var(--neon-green);
            border-color: var(--neon-green);
            color: #001b0e;
            box-shadow: 0 8px 18px rgba(0,230,118,0.22);
        }
        .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);
        }
        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;
        }

        .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.selected {
            background: rgba(59, 130, 246, 0.12);
            border-color: rgba(59, 130, 246, 0.4);
        }
        .cpt-row:hover {
            background: rgba(255, 255, 255, 0.04);
            border-color: rgba(255, 255, 255, 0.12);
        }
        .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;
            background: #27272a;
            box-shadow: none;
        }
        .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: #3b82f6;
            box-shadow: 0 0 12px rgba(59, 130, 246, 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: #3b82f6;
            color: #ffffff;
            cursor: pointer;
            transition: background 0.15s ease;
            white-space: nowrap;
        }
        .btn-create-parcelamento:hover {
            background: #2563eb;
        }
        .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: #0f0f12;
            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(255, 255, 255, 0.14);
        }
        .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: #eab308; }
        .parcel-kpi-value.green { color: #22c55e; }

        .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: #0f0f12;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            margin-bottom: 12px;
            overflow: hidden;
            transition: all 0.15s ease;
        }
        .parcel-group-item:hover {
            border-color: rgba(255, 255, 255, 0.14);
            box-shadow: none;
        }
        .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(255, 255, 255, 0.02);
        }
        .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: 18px;
            font-weight: 600;
            color: #ffffff;
            letter-spacing: -0.2px;
        }
        .pg-cat-pill {
            font-size: 10px;
            font-weight: 600;
            background: rgba(255, 255, 255, 0.06);
            color: #a1a1aa;
            padding: 2px 8px;
            border-radius: 4px;
            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: #22c55e;
        }
        .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(59, 130, 246, 0.12);
            color: #60a5fa;
            border: 1px solid rgba(59, 130, 246, 0.25);
        }
        .btn-pg-link:hover {
            background: rgba(59, 130, 246, 0.22);
        }
        .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: var(--neon-blue); border-color: rgba(41,121,255,0.35); }
        .pg-icon-btn.unlink:hover { color: var(--neon-yellow); border-color: rgba(255,196,0,0.35); }
        .pg-icon-btn.del:hover { color: var(--neon-red); border-color: rgba(255,71,87,0.35); }
        .btn-create-parcelamento {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 8px 14px;
            font-size: 11px;
            font-weight: 800;
            border-radius: 8px;
            border: 1px solid rgba(41,121,255,0.4);
            background: linear-gradient(135deg, rgba(41,121,255,0.25), rgba(30,82,207,0.4));
            color: #fff;
            cursor: pointer;
            transition: 0.2s;
            white-space: nowrap;
        }
        .btn-create-parcelamento:hover {
            background: linear-gradient(135deg, rgba(41,121,255,0.45), rgba(30,82,207,0.6));
            border-color: var(--neon-blue);
            box-shadow: 0 0 12px rgba(41,121,255,0.3);
        }
        .parcel-edit-overlay {
            z-index: 200;
            background: rgba(0, 0, 0, 0.85);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }
        .parcel-edit-box {
            width: 520px;
            max-width: min(94vw, 520px);
            background: #050506 !important;
            border: 1px solid rgba(255, 255, 255, 0.08) !important;
            border-radius: 20px;
            padding: 24px 26px;
            box-shadow: 0 30px 80px -15px rgba(0, 0, 0, 0.95);
        }
        .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(59, 130, 246, 0.12);
            border: 1px solid rgba(59, 130, 246, 0.25);
            color: #3b82f6;
            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: #3b82f6 !important;
            background: #000000 !important;
            box-shadow: 0 0 12px rgba(59, 130, 246, 0.25) !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: #3b82f6;
            pointer-events: none;
        }
        .pg-amount-input {
            text-align: left !important;
            padding-left: 12px !important;
            font-weight: 700 !important;
            color: #60a5fa !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 12px !important;
            font-size: 13px !important;
            font-weight: 500 !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;
        }
        .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: #3b82f6 !important;
            background: rgba(0, 0, 0, 0.4) !important;
        }
        .pg-ultra-form .custom-select-trigger:after {
            font-size: 10px !important;
            color: #71717a !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: 8px;
            padding-top: 16px;
            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: #3b82f6;
            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: #2563eb;
            transform: translateY(-1px);
            box-shadow: 0 4px 14px rgba(59, 130, 246, 0.35);
        }
        @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 { background: rgba(0,0,0,0.76); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); padding: 18px; }
        #contasModalOverlay .contas-split-modal {
            width: min(1080px, calc(100vw - 36px));
            max-width: 1080px;
            height: min(88vh, 820px);
            display: flex;
            flex-direction: column;
            padding: 0;
            overflow: hidden;
            border-radius: 8px;
        }
        .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;
            min-height: 0;
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            overflow: hidden;
        }
        .contas-body.form-open { grid-template-columns: minmax(0, 1fr) 390px; }
        .contas-list-panel {
            min-width: 0;
            display: flex;
            flex-direction: column;
            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;
            min-height: 0;
            overflow-y: auto;
            padding: 18px 24px 24px;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }
        .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 18px; gap: 10px; }
            .contas-body,
            .contas-body.form-open { display: block; position: relative; }
            .contas-list-panel { 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;
            background: rgba(0,0,0,0.72) !important;
            backdrop-filter: blur(8px) !important;
            -webkit-backdrop-filter: blur(8px) !important;
        }
        #contasModalOverlay .contas-split-modal {
            width: min(920px, calc(100vw - 44px)) !important;
            max-width: 920px !important;
            height: min(82vh, 720px) !important;
            max-height: min(82vh, 720px) !important;
            position: relative !important;
            display: flex !important;
            flex-direction: column !important;
            overflow: hidden !important;
            padding: 0 !important;
            border-radius: 8px !important;
            background: #060606 !important;
            border: 1px solid rgba(255,255,255,0.1) !important;
            box-shadow: 0 24px 80px rgba(0,0,0,0.5) !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;
        }
        #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: block !important;
            position: relative !important;
            flex: 1 !important;
            min-height: 0 !important;
            overflow: hidden !important;
        }
        #contasModalOverlay .contas-list-panel {
            width: 100% !important;
            height: 100% !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: 0 0 24px !important;
            gap: 10px !important;
            overflow-y: auto !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 .contas-form-panel {
            background: #ffffff !important;
            border-color: #e2e8f0 !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: flex-end !important;
            }
            #contasModalOverlay .contas-split-modal {
                width: 100% !important;
                height: calc(100dvh - 16px) !important;
                max-height: calc(100dvh - 16px) !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: min(86vh, 720px) !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: min(88vh, 720px) !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 calc(22px + env(safe-area-inset-bottom)) !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 {
            width: min(920px, calc(100vw - 16px)) !important;
            max-width: calc(100vw - 16px) !important;
            height: min(88dvh, 760px) !important;
            max-height: calc(100dvh - 16px) !important;
            min-width: 0 !important;
            overflow: hidden !important;
            box-sizing: border-box !important;
        }
        #contasModalOverlay .contas-modal-header {
            padding: clamp(14px, 2.4vw, 20px) clamp(16px, 2.8vw, 24px) !important;
            min-height: 82px !important;
            box-sizing: border-box !important;
        }
        #contasModalOverlay .modal-title {
            font-size: clamp(19px, 2.2vw, 22px) !important;
            line-height: 1.12 !important;
            overflow-wrap: anywhere !important;
        }
        #contasModalOverlay .contas-body,
        #contasModalOverlay .contas-body.form-open {
            display: block !important;
            min-width: 0 !important;
            min-height: 0 !important;
            overflow: hidden !important;
        }
        #contasModalOverlay .contas-list-panel {
            container: contas-panel / inline-size;
            width: 100% !important;
            height: 100% !important;
            min-width: 0 !important;
            overflow: hidden !important;
            display: flex !important;
            flex-direction: column !important;
        }
        #contasModalOverlay .contas-toolbar {
            width: 100% !important;
            max-width: 800px !important;
            margin: 0 auto !important;
            padding: 16px clamp(14px, 2.2vw, 22px) !important;
            box-sizing: border-box !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 12px !important;
            border-bottom: 0 !important;
        }
        #contasModalOverlay .contas-toolbar-title {
            font-size: clamp(17px, 2vw, 19px) !important;
            line-height: 1.1 !important;
            overflow-wrap: anywhere !important;
        }
        #contasModalOverlay .contas-toolbar-copy {
            font-size: 12px !important;
            line-height: 1.3 !important;
        }
        #contasModalOverlay .contas-new-btn {
            height: 42px !important;
            min-height: 42px !important;
            flex-shrink: 0 !important;
            border-radius: 8px !important;
            box-sizing: border-box !important;
        }
        #contasModalOverlay .contas-list {
            width: 100% !important;
            max-width: 800px !important;
            min-width: 0 !important;
            margin: 0 auto !important;
            padding: 0 clamp(14px, 2.2vw, 22px) calc(18px + env(safe-area-inset-bottom)) !important;
            box-sizing: border-box !important;
            display: flex !important;
            flex-direction: column !important;
            gap: 12px !important;
            overflow-y: auto !important;
            overflow-x: hidden !important;
        }
        #contasModalOverlay .account-card-v2 {
            --account-accent: #00E5FF;
            position: relative;
            width: 100%;
            flex: 0 0 auto;
            min-width: 0;
            box-sizing: border-box;
            overflow: hidden;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(160px, 190px);
            grid-template-areas:
                "main balance"
                "tags balance"
                "actions actions";
            gap: 12px 16px;
            padding: 16px 18px;
            border-radius: 8px;
            border: 1px solid rgba(255,255,255,0.09);
            background: #090909;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
        }
        #contasModalOverlay .account-card-v2::before {
            content: '';
            position: absolute;
            inset: 0 auto 0 0;
            width: 3px;
            background: var(--account-accent);
            z-index: 2;
        }
        #contasModalOverlay .account-card-v2.is-muted::before { background: #7c8aa0; }
        #contasModalOverlay .account-share-v2 {
            position: absolute;
            inset: 0 auto 0 0;
            width: var(--account-progress, 0%);
            max-width: 100%;
            pointer-events: none;
            background: linear-gradient(90deg, color-mix(in srgb, var(--account-accent) 20%, transparent), transparent 85%);
            opacity: 0.32;
            z-index: 0;
        }
        #contasModalOverlay .account-share-v2::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 2px;
            background: var(--account-accent);
            box-shadow: 0 0 14px var(--account-accent);
            opacity: 0.75;
        }
        #contasModalOverlay .account-card-v2 > *:not(.account-share-v2) {
            position: relative;
            z-index: 1;
        }
        #contasModalOverlay .account-main-v2 {
            grid-area: main;
            min-width: 0;
            display: grid;
            grid-template-columns: 48px minmax(0, 1fr);
            align-items: center;
            gap: 12px;
        }
        #contasModalOverlay .account-icon-v2 {
            width: 48px;
            height: 48px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(0,229,255,0.08);
            border: 1px solid rgba(0,229,255,0.16);
            font-size: 20px;
            flex-shrink: 0;
        }
        #contasModalOverlay .account-card-v2.is-default .account-icon-v2 {
            background: rgba(0,230,118,0.09);
            border-color: rgba(0,230,118,0.18);
        }
        #contasModalOverlay .account-card-v2.is-muted .account-icon-v2 { opacity: 0.62; }
        #contasModalOverlay .account-copy-v2 { min-width: 0; }
        #contasModalOverlay .account-name-v2 {
            color: var(--text-main);
            font-size: 16px;
            line-height: 1.15;
            font-weight: 900;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        #contasModalOverlay .account-meta-v2 {
            margin-top: 4px;
            color: var(--text-sec);
            font-size: 12px;
            line-height: 1.3;
            font-weight: 700;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        #contasModalOverlay .account-balance-v2 {
            grid-area: balance;
            align-self: center;
            min-width: 0;
            padding: 10px 12px;
            border-radius: 8px;
            border: 1px solid rgba(255,255,255,0.08);
            background: rgba(0,0,0,0.18);
            text-align: right;
            box-sizing: border-box;
        }
        #contasModalOverlay .account-balance-label-v2 {
            color: var(--text-muted);
            font-size: 8px;
            font-weight: 900;
            line-height: 1;
            text-transform: uppercase;
        }
        #contasModalOverlay .account-balance-value-v2 {
            margin-top: 5px;
            font-size: 19px;
            line-height: 1.05;
            font-weight: 900;
            white-space: nowrap;
        }
        #contasModalOverlay .account-balance-sub-v2 {
            margin-top: 5px;
            color: var(--text-sec);
            font-size: 11px;
            line-height: 1.2;
            font-weight: 700;
            white-space: nowrap;
        }
        #contasModalOverlay .account-tags-v2 {
            grid-area: tags;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 6px;
            min-width: 0;
        }
        #contasModalOverlay .account-tag-v2 {
            min-width: 0;
            max-width: 100%;
            min-height: 24px;
            padding: 0 10px;
            border-radius: 8px;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            color: var(--text-muted);
            background: rgba(148,163,184,0.12);
            border: 1px solid rgba(148,163,184,0.24);
            font-size: 9px;
            font-weight: 900;
            line-height: 1;
            text-transform: uppercase;
            white-space: nowrap;
        }
        #contasModalOverlay .account-tag-v2.is-default {
            color: var(--neon-green);
            background: rgba(0,230,118,0.12);
            border-color: rgba(0,230,118,0.28);
        }
        #contasModalOverlay .account-actions-v2 {
            grid-area: actions;
            min-width: 0;
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 8px;
        }
        #contasModalOverlay .account-action-v2 {
            min-width: 0;
            width: 100%;
            height: 38px;
            border-radius: 8px;
            border: 1px solid rgba(255,255,255,0.09);
            background: rgba(255,255,255,0.035);
            color: var(--text-sec);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            padding: 0 10px;
            box-sizing: border-box;
            cursor: pointer;
            font-size: 11px;
            font-weight: 900;
            line-height: 1;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        #contasModalOverlay .account-action-v2:hover {
            color: var(--text-main);
            border-color: rgba(255,255,255,0.18);
            background: rgba(255,255,255,0.07);
        }
        #contasModalOverlay .account-action-v2:disabled {
            cursor: default;
            opacity: 0.52;
        }
        #contasModalOverlay .account-action-v2.is-extrato i { color: #00E5FF; }
        #contasModalOverlay .account-action-v2.is-default i { color: var(--neon-yellow); }
        #contasModalOverlay .account-action-v2.is-edit i { color: #93c5fd; }
        #contasModalOverlay .account-action-v2.is-delete i { color: var(--neon-red); }
        body.light-mode #contasModalOverlay .account-card-v2 {
            background: #ffffff;
            border-color: #e2e8f0;
            box-shadow: 0 1px 2px rgba(15,23,42,0.04);
        }
        body.light-mode #contasModalOverlay .account-balance-v2,
        body.light-mode #contasModalOverlay .account-action-v2 {
            background: #f8fafc;
            border-color: #e2e8f0;
        }
        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: hidden !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 FORM AS SEPARATE SCREEN */
        #contasModalOverlay .contas-split-modal {
            width: min(900px, calc(100vw - 24px)) !important;
            height: min(86dvh, 760px) !important;
        }
        #contasModalOverlay .contas-body,
        #contasModalOverlay .contas-body.form-open {
            display: block !important;
            overflow: hidden !important;
        }
        #contasModalOverlay .contas-list-panel {
            height: 100% !important;
        }
        #contaFormModalOverlay {
            padding: clamp(10px, 2.4vw, 22px) !important;
            align-items: center !important;
            justify-content: center !important;
            background: rgba(0,0,0,0.74) !important;
            backdrop-filter: blur(8px) !important;
            -webkit-backdrop-filter: blur(8px) !important;
        }
        #contaFormModalOverlay .conta-form-modal-box {
            width: min(600px, calc(100vw - 20px)) !important;
            max-height: calc(100dvh - 20px) !important;
            padding: 0 !important;
            overflow: hidden !important;
            border-radius: 8px !important;
            background: #070707 !important;
            border: 1px solid rgba(255,255,255,0.1) !important;
            box-shadow: 0 24px 80px rgba(0,0,0,0.5) !important;
        }
        #contaFormModalOverlay .contas-form-panel,
        #contaFormModalOverlay .contas-form-panel.active {
            display: flex !important;
            position: static !important;
            inset: auto !important;
            width: 100% !important;
            max-height: calc(100dvh - 20px) !important;
            min-height: 0 !important;
            padding: 22px !important;
            overflow-y: auto !important;
            flex-direction: column !important;
            align-items: stretch !important;
            background: transparent !important;
            border-left: 0 !important;
            box-sizing: border-box !important;
        }
        #contaFormModalOverlay .contas-form-panel > * {
            width: 100% !important;
            max-width: none !important;
        }
        #contaFormModalOverlay .contas-form-head {
            margin-bottom: 18px !important;
            padding-bottom: 14px !important;
            border-bottom: 1px solid rgba(255,255,255,0.08) !important;
        }
        #contaFormModalOverlay .contas-form-head > div {
            color: var(--text-main) !important;
            font-size: 13px !important;
            letter-spacing: 0 !important;
        }
        #contaFormModalOverlay .contas-form-row {
            width: 100% !important;
            gap: 12px !important;
        }
        #contaFormModalOverlay .form-input,
        #contaFormModalOverlay .form-select {
            width: 100% !important;
            border-radius: 8px !important;
            margin-bottom: 14px !important;
        }
        #contaFormModalOverlay .conta-dashboard-toggle {
            width: 100% !important;
            margin: 2px 0 16px !important;
            padding: 12px 14px !important;
            border-radius: 8px !important;
            background: rgba(41,121,255,0.07) !important;
            border: 1px solid rgba(41,121,255,0.22) !important;
            box-sizing: border-box !important;
        }
        #contaFormModalOverlay .conta-dashboard-toggle .toggle-row {
            margin: 0 !important;
            padding: 0 !important;
            align-items: center !important;
            gap: 12px !important;
        }
        #contaFormModalOverlay .conta-toggle-copy {
            color: var(--text-muted) !important;
            font-size: 11px !important;
            line-height: 1.35 !important;
            margin-top: 3px !important;
        }
        #contaFormModalOverlay .contas-form-actions {
            margin-top: auto !important;
            display: flex !important;
            gap: 10px !important;
            padding-top: 8px !important;
        }
        #contaFormModalOverlay .contas-form-actions .btn-submit {
            margin-top: 0 !important;
            flex: 1 !important;
            border-radius: 8px !important;
            padding: 14px !important;
        }
        #contaFormModalOverlay .contas-form-actions #btnCancelEditConta {
            display: flex !important;
            justify-content: center !important;
            background: rgba(255,255,255,0.08) !important;
            color: var(--text-sec) !important;
            border: 1px solid var(--card-border) !important;
        }
        body.light-mode #contaFormModalOverlay .conta-form-modal-box {
            background: #ffffff !important;
            border-color: #e2e8f0 !important;
        }
        body.light-mode #contaFormModalOverlay .contas-form-head {
            border-color: #e2e8f0 !important;
        }
        body.light-mode #contaFormModalOverlay .conta-dashboard-toggle {
            background: #eff6ff !important;
            border-color: #bfdbfe !important;
        }
        @media (max-width: 640px) {
            #contaFormModalOverlay {
                padding: 8px !important;
                align-items: flex-end !important;
            }
            #contaFormModalOverlay .conta-form-modal-box {
                width: 100% !important;
                max-height: calc(100dvh - 16px) !important;
            }
            #contaFormModalOverlay .contas-form-panel,
            #contaFormModalOverlay .contas-form-panel.active {
                padding: 18px 18px calc(18px + env(safe-area-inset-bottom)) !important;
            }
            #contaFormModalOverlay .contas-form-row {
                flex-direction: column !important;
                gap: 0 !important;
            }
            #contaFormModalOverlay .contas-form-actions {
                position: sticky !important;
                bottom: 0 !important;
                background: inherit !important;
                flex-direction: column !important;
            }
            #contaFormModalOverlay .contas-form-actions .btn-submit {
                width: 100% !important;
            }
        }

        /* CONTA FORM MOBILE REBUILD */
        #contaFormModalOverlay .conta-form-modal-box,
        #contaFormModalOverlay .contas-form-panel {
            min-width: 0 !important;
            box-sizing: border-box !important;
        }
        #contaFormModalOverlay .contas-form-head {
            position: sticky !important;
            top: 0 !important;
            z-index: 5 !important;
            background: #070707 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 12px !important;
        }
        #contaFormModalOverlay .contas-form-head .btn-close-modal {
            flex-shrink: 0 !important;
        }
        #contaFormModalOverlay .form-label {
            display: block !important;
            margin: 0 0 7px !important;
            line-height: 1.2 !important;
        }
        #contaFormModalOverlay .form-input,
        #contaFormModalOverlay .form-select {
            min-height: 46px !important;
            font-size: 16px !important;
            box-sizing: border-box !important;
        }
        #contaFormModalOverlay .contas-form-row .col {
            min-width: 0 !important;
        }
        #contaFormModalOverlay .contas-form-actions {
            position: sticky !important;
            bottom: 0 !important;
            z-index: 5 !important;
            background: #070707 !important;
            margin-left: -22px !important;
            margin-right: -22px !important;
            margin-bottom: -22px !important;
            padding: 14px 22px calc(14px + env(safe-area-inset-bottom)) !important;
            border-top: 1px solid rgba(255,255,255,0.08) !important;
        }
        body.light-mode #contaFormModalOverlay .contas-form-head,
        body.light-mode #contaFormModalOverlay .contas-form-actions {
            background: #ffffff !important;
            border-color: #e2e8f0 !important;
        }

        @media (max-width: 640px) {
            #contaFormModalOverlay {
                padding: 0 !important;
                align-items: stretch !important;
                justify-content: stretch !important;
            }
            #contaFormModalOverlay .conta-form-modal-box {
                width: 100vw !important;
                height: 100dvh !important;
                max-width: 100vw !important;
                max-height: 100dvh !important;
                border-radius: 0 !important;
                border-left: 0 !important;
                border-right: 0 !important;
                border-top: 0 !important;
                border-bottom: 0 !important;
                display: flex !important;
            }
            #contaFormModalOverlay .contas-form-panel,
            #contaFormModalOverlay .contas-form-panel.active {
                width: 100% !important;
                height: 100dvh !important;
                max-height: 100dvh !important;
                padding: 0 18px !important;
                overflow-y: auto !important;
                overflow-x: hidden !important;
                -webkit-overflow-scrolling: touch !important;
            }
            #contaFormModalOverlay .contas-form-head {
                margin: 0 -18px 18px !important;
                padding: calc(16px + env(safe-area-inset-top)) 18px 14px !important;
                min-height: 76px !important;
            }
            #contaFormModalOverlay .contas-form-head > div {
                min-width: 0 !important;
                font-size: 14px !important;
                line-height: 1.2 !important;
                overflow-wrap: anywhere !important;
            }
            #contaFormModalOverlay .contas-form-row {
                display: block !important;
                width: 100% !important;
            }
            #contaFormModalOverlay .contas-form-row .col {
                width: 100% !important;
                max-width: none !important;
                flex: none !important;
            }
            #contaFormModalOverlay .form-input,
            #contaFormModalOverlay .form-select {
                width: 100% !important;
                min-height: 48px !important;
                padding: 12px 14px !important;
                margin-bottom: 14px !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle {
                margin-top: 4px !important;
                margin-bottom: 18px !important;
                padding: 14px !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle .toggle-row {
                align-items: flex-start !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle .toggle-switch {
                margin-top: 2px !important;
                flex-shrink: 0 !important;
            }
            #contaFormModalOverlay .contas-form-actions {
                margin: 0 -18px !important;
                padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) !important;
                gap: 10px !important;
            }
            #contaFormModalOverlay .contas-form-actions .btn-submit {
                min-height: 48px !important;
                width: 100% !important;
                padding: 14px !important;
            }
            #contaFormModalOverlay .contas-form-actions #btnCancelEditConta {
                order: 2 !important;
            }
        }

        @media (max-width: 360px) {
            #contaFormModalOverlay .contas-form-panel,
            #contaFormModalOverlay .contas-form-panel.active {
                padding-left: 14px !important;
                padding-right: 14px !important;
            }
            #contaFormModalOverlay .contas-form-head,
            #contaFormModalOverlay .contas-form-actions {
                margin-left: -14px !important;
                margin-right: -14px !important;
                padding-left: 14px !important;
                padding-right: 14px !important;
            }
        }

        /* CONTA FORM FINAL ALIGNMENT */
        #contaFormModalOverlay {
            align-items: center !important;
            justify-content: center !important;
        }
        #contaFormModalOverlay .conta-form-modal-box {
            width: min(620px, calc(100vw - 32px)) !important;
            height: auto !important;
            max-height: calc(100dvh - 32px) !important;
            display: flex !important;
            border-radius: 8px !important;
        }
        #contaFormModalOverlay .contas-form-panel,
        #contaFormModalOverlay .contas-form-panel.active {
            width: 100% !important;
            max-height: calc(100dvh - 32px) !important;
            padding: 22px !important;
            display: flex !important;
            flex-direction: column !important;
            gap: 0 !important;
            overflow-y: auto !important;
            overflow-x: hidden !important;
        }
        #contaFormModalOverlay .contas-form-head {
            position: static !important;
            margin: 0 0 18px !important;
            padding: 0 0 16px !important;
            background: transparent !important;
            border-bottom: 1px solid rgba(255,255,255,0.08) !important;
        }
        #contaFormModalOverlay .contas-form-head > div {
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
            min-width: 0 !important;
        }
        #contaFormModalOverlay .contas-form-row {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 12px !important;
            width: 100% !important;
        }
        #contaFormModalOverlay .contas-form-row .col {
            min-width: 0 !important;
            width: 100% !important;
            flex: none !important;
        }
        #contaFormModalOverlay .form-label {
            margin: 0 0 7px !important;
        }
        #contaFormModalOverlay .form-input,
        #contaFormModalOverlay .form-select {
            width: 100% !important;
            min-height: 48px !important;
            margin: 0 0 14px !important;
            box-sizing: border-box !important;
        }
        #contaFormModalOverlay .conta-dashboard-toggle {
            margin: 2px 0 16px !important;
            padding: 14px !important;
            width: 100% !important;
            box-sizing: border-box !important;
        }
        #contaFormModalOverlay .conta-dashboard-toggle .toggle-row {
            display: flex !important;
            align-items: center !important;
            gap: 14px !important;
            margin: 0 !important;
            padding: 0 !important;
        }
        #contaFormModalOverlay .conta-dashboard-toggle .toggle-switch {
            flex: 0 0 auto !important;
            margin: 0 !important;
        }
        #contaFormModalOverlay .conta-dashboard-toggle .toggle-label {
            line-height: 1.2 !important;
        }
        #contaFormModalOverlay .conta-toggle-copy {
            max-width: 100% !important;
            line-height: 1.35 !important;
        }
        #contaFormModalOverlay .contas-form-actions {
            position: static !important;
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 10px !important;
            margin: 0 !important;
            padding: 0 !important;
            border-top: 0 !important;
            background: transparent !important;
        }
        #contaFormModalOverlay .contas-form-actions .btn-submit {
            width: 100% !important;
            min-height: 48px !important;
            margin: 0 !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
        }
        body.light-mode #contaFormModalOverlay .contas-form-head {
            border-color: #e2e8f0 !important;
        }

        @media (max-width: 640px) {
            #contaFormModalOverlay {
                padding: 0 !important;
                align-items: stretch !important;
                justify-content: stretch !important;
            }
            #contaFormModalOverlay .conta-form-modal-box {
                width: 100vw !important;
                height: 100dvh !important;
                max-width: 100vw !important;
                max-height: 100dvh !important;
                border-radius: 0 !important;
            }
            #contaFormModalOverlay .contas-form-panel,
            #contaFormModalOverlay .contas-form-panel.active {
                height: 100dvh !important;
                max-height: 100dvh !important;
                padding: 0 18px !important;
            }
            #contaFormModalOverlay .contas-form-head {
                position: sticky !important;
                top: 0 !important;
                z-index: 5 !important;
                margin: 0 -18px 18px !important;
                padding: calc(16px + env(safe-area-inset-top)) 18px 14px !important;
                background: #070707 !important;
            }
            #contaFormModalOverlay .contas-form-row {
                display: block !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle .toggle-row {
                align-items: flex-start !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle .toggle-switch {
                margin-top: 2px !important;
            }
            #contaFormModalOverlay .contas-form-actions {
                position: sticky !important;
                bottom: 0 !important;
                z-index: 5 !important;
                grid-template-columns: minmax(0, 1fr) !important;
                margin: 0 -18px !important;
                padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
                border-top: 1px solid rgba(255,255,255,0.08) !important;
                background: #070707 !important;
            }
            #contaFormModalOverlay .contas-form-actions #btnCancelEditConta {
                order: 2 !important;
            }
            body.light-mode #contaFormModalOverlay .contas-form-head,
            body.light-mode #contaFormModalOverlay .contas-form-actions {
                background: #ffffff !important;
                border-color: #e2e8f0 !important;
            }
        }

        /* CONTA FORM MOBILE FINAL RESPONSIVE FIX */
        @media (max-width: 640px) {
            #contaFormModalOverlay {
                position: fixed !important;
                inset: 0 !important;
                width: 100vw !important;
                height: 100dvh !important;
                padding: 0 !important;
                align-items: stretch !important;
                justify-content: stretch !important;
                overflow: hidden !important;
            }
            #contaFormModalOverlay .conta-form-modal-box {
                width: 100vw !important;
                height: 100dvh !important;
                max-width: 100vw !important;
                max-height: 100dvh !important;
                min-width: 0 !important;
                margin: 0 !important;
                border: 0 !important;
                border-radius: 0 !important;
                overflow: hidden !important;
                display: flex !important;
                flex-direction: column !important;
            }
            #contaFormModalOverlay .contas-form-panel,
            #contaFormModalOverlay .contas-form-panel.active {
                width: 100% !important;
                height: 100dvh !important;
                max-height: 100dvh !important;
                min-width: 0 !important;
                padding: 0 !important;
                margin: 0 !important;
                overflow-y: auto !important;
                overflow-x: hidden !important;
                display: flex !important;
                flex-direction: column !important;
                align-items: stretch !important;
                box-sizing: border-box !important;
                -webkit-overflow-scrolling: touch !important;
            }
            #contaFormModalOverlay .contas-form-head {
                position: sticky !important;
                top: 0 !important;
                z-index: 10 !important;
                width: 100% !important;
                min-height: 76px !important;
                margin: 0 0 18px !important;
                padding: calc(16px + env(safe-area-inset-top)) 18px 14px !important;
                display: flex !important;
                align-items: center !important;
                justify-content: space-between !important;
                gap: 12px !important;
                box-sizing: border-box !important;
                background: #070707 !important;
                border-bottom: 1px solid rgba(255,255,255,0.08) !important;
            }
            #contaFormModalOverlay .contas-form-head > div {
                min-width: 0 !important;
                max-width: calc(100% - 54px) !important;
                font-size: 14px !important;
                line-height: 1.2 !important;
                overflow-wrap: anywhere !important;
            }
            #contaFormModalOverlay .contas-form-head .btn-close-modal {
                flex: 0 0 auto !important;
            }
            #contaFormModalOverlay .contas-form-panel > .form-label,
            #contaFormModalOverlay .contas-form-panel > .form-input,
            #contaFormModalOverlay .contas-form-panel > .contas-form-row,
            #contaFormModalOverlay .contas-form-panel > .conta-dashboard-toggle {
                width: calc(100% - 36px) !important;
                max-width: calc(100% - 36px) !important;
                margin-left: 18px !important;
                margin-right: 18px !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .form-label {
                margin-top: 0 !important;
                margin-bottom: 7px !important;
                line-height: 1.2 !important;
            }
            #contaFormModalOverlay .form-input,
            #contaFormModalOverlay .form-select {
                width: 100% !important;
                min-width: 0 !important;
                min-height: 48px !important;
                margin-top: 0 !important;
                margin-bottom: 14px !important;
                padding: 12px 14px !important;
                font-size: 16px !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .contas-form-row {
                display: block !important;
                gap: 0 !important;
            }
            #contaFormModalOverlay .contas-form-row .col {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                flex: none !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle {
                margin-top: 4px !important;
                margin-bottom: 18px !important;
                padding: 14px !important;
                border-radius: 8px !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle .toggle-row {
                display: grid !important;
                grid-template-columns: auto minmax(0, 1fr) !important;
                align-items: start !important;
                gap: 12px !important;
                width: 100% !important;
                margin: 0 !important;
                padding: 0 !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle .toggle-switch {
                margin: 2px 0 0 !important;
                flex: none !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle .toggle-label,
            #contaFormModalOverlay .conta-toggle-copy {
                display: block !important;
                min-width: 0 !important;
                max-width: 100% !important;
                overflow-wrap: anywhere !important;
            }
            #contaFormModalOverlay .contas-form-actions {
                position: sticky !important;
                bottom: 0 !important;
                z-index: 10 !important;
                width: 100% !important;
                margin: auto 0 0 !important;
                padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) !important;
                gap: 10px !important;
                box-sizing: border-box !important;
                background: #070707 !important;
                border-top: 1px solid rgba(255,255,255,0.08) !important;
            }
            #contaFormModalOverlay .contas-form-actions .btn-submit {
                width: 100% !important;
                min-width: 0 !important;
                min-height: 48px !important;
                margin: 0 !important;
                padding: 14px !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .contas-form-actions #btnCancelEditConta {
                order: 2 !important;
            }
            body.light-mode #contaFormModalOverlay .contas-form-head,
            body.light-mode #contaFormModalOverlay .contas-form-actions {
                background: #ffffff !important;
                border-color: #e2e8f0 !important;
            }
        }

        @media (max-width: 360px) {
            #contaFormModalOverlay .contas-form-panel > .form-label,
            #contaFormModalOverlay .contas-form-panel > .form-input,
            #contaFormModalOverlay .contas-form-panel > .contas-form-row,
            #contaFormModalOverlay .contas-form-panel > .conta-dashboard-toggle {
                width: calc(100% - 28px) !important;
                max-width: calc(100% - 28px) !important;
                margin-left: 14px !important;
                margin-right: 14px !important;
            }
            #contaFormModalOverlay .contas-form-head,
            #contaFormModalOverlay .contas-form-actions {
                padding-left: 14px !important;
                padding-right: 14px !important;
            }
        }

        /* CONTA FORM MOBILE FIELD POLISH */
        @media (max-width: 640px) {
            #contaFormModalOverlay #contaDataInicio,
            #contaFormModalOverlay #contaSaldoInicial,
            #contaFormModalOverlay #contaIcone,
            #contaFormModalOverlay #contaAbrev {
                max-width: 100% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .flatpickr-input,
            #contaFormModalOverlay input.flatpickr-input {
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .contas-form-row .col,
            #contaFormModalOverlay .contas-form-row .col > * {
                max-width: 100% !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay #contaIcone.form-select {
                appearance: none !important;
                -webkit-appearance: none !important;
                padding-right: 42px !important;
                background-position: right 14px center !important;
                background-size: 12px !important;
                line-height: 1.2 !important;
            }
            #contaFormModalOverlay .contas-form-row .col:has(#contaIcone) {
                position: relative !important;
            }
        }

        /* CONTA FORM DATE OVERFLOW HARD FIX */
        @media (max-width: 640px) {
            #contaFormModalOverlay .contas-form-row,
            #contaFormModalOverlay .contas-form-row .col {
                overflow-x: clip !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay #contaDataInicio,
            #contaFormModalOverlay input#contaDataInicio,
            #contaFormModalOverlay input.flatpickr-input,
            #contaFormModalOverlay input.flatpickr-mobile,
            #contaFormModalOverlay .flatpickr-mobile {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                inline-size: 100% !important;
                max-inline-size: 100% !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay input[type="date"],
            #contaFormModalOverlay input[type="text"] {
                max-width: 100% !important;
                box-sizing: border-box !important;
            }
        }
        /* CONTA FORM IOS DATE WIDTH FIX */
        @media (max-width: 640px) {
            #contaFormModalOverlay .contas-form-row:has(#contaDataInicio) {
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) !important;
                width: calc(100% - 36px) !important;
                max-width: calc(100% - 36px) !important;
                margin-left: 18px !important;
                margin-right: 18px !important;
                overflow: hidden !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .contas-form-row:has(#contaDataInicio) .col {
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                overflow: hidden !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay #contaDataInicio,
            #contaFormModalOverlay #contaDataInicio + input,
            #contaFormModalOverlay .contas-form-row:has(#contaDataInicio) input {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                inline-size: 100% !important;
                max-inline-size: 100% !important;
                margin-right: 0 !important;
                -webkit-appearance: none !important;
                appearance: none !important;
                box-sizing: border-box !important;
            }
        }
        /* CONTA FORM MOBILE SCROLL FIX */
        @media (max-width: 640px) {
            body.conta-form-open {
                overflow: hidden !important;
            }
            #contaFormModalOverlay.active {
                display: flex !important;
                overflow: hidden !important;
                overscroll-behavior: contain !important;
            }
            #contaFormModalOverlay .conta-form-modal-box {
                flex: 1 1 auto !important;
                min-height: 0 !important;
                overflow: hidden !important;
            }
            #contaFormModalOverlay .contas-form-panel,
            #contaFormModalOverlay .contas-form-panel.active {
                flex: 1 1 auto !important;
                height: 100% !important;
                min-height: 0 !important;
                max-height: none !important;
                overflow-y: scroll !important;
                overflow-x: hidden !important;
                overscroll-behavior-y: contain !important;
                touch-action: pan-y !important;
                padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
            }
            #contaFormModalOverlay .contas-form-head,
            #contaFormModalOverlay .contas-form-actions {
                flex: 0 0 auto !important;
            }
            #contaFormModalOverlay .contas-form-actions {
                position: static !important;
                margin: 4px 0 0 !important;
                padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
            }
        }
        /* CONTA FORM MOBILE FIELD STACK FIX */
        @media (max-width: 640px) {
            #contaFormModalOverlay .contas-form-row:has(#contaDataInicio) {
                display: block !important;
                width: calc(100% - 36px) !important;
                max-width: calc(100% - 36px) !important;
                margin: 0 18px !important;
                overflow: visible !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .contas-form-row:has(#contaDataInicio) .col {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                margin: 0 !important;
                overflow: visible !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .contas-form-row:has(#contaDataInicio) .form-label {
                display: block !important;
                margin: 0 0 7px !important;
                height: auto !important;
            }
            #contaFormModalOverlay #contaSaldoInicial,
            #contaFormModalOverlay #contaDataInicio,
            #contaFormModalOverlay #contaDataInicio + input {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                height: 48px !important;
                min-height: 48px !important;
                margin: 0 0 14px !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle {
                clear: both !important;
                position: relative !important;
                z-index: 1 !important;
            }
        }
        /* CONTA FORM BALANCE DATE LAYOUT */
        #contaFormModalOverlay .conta-balance-date-fields {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 12px !important;
            width: 100% !important;
            max-width: 100% !important;
            margin: 0 !important;
            position: relative !important;
            z-index: 2 !important;
            overflow: visible !important;
            clear: both !important;
            box-sizing: border-box !important;
        }
        #contaFormModalOverlay .conta-form-field {
            display: block !important;
            min-width: 0 !important;
            width: 100% !important;
            position: relative !important;
            overflow: visible !important;
            box-sizing: border-box !important;
        }
        #contaFormModalOverlay .conta-form-field .form-input {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
        }
        @media (max-width: 640px) {
            #contaFormModalOverlay .contas-form-panel > .conta-balance-date-fields {
                display: block !important;
                width: calc(100% - 36px) !important;
                max-width: calc(100% - 36px) !important;
                margin-left: 18px !important;
                margin-right: 18px !important;
                margin-bottom: 4px !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                overflow: visible !important;
            }
            #contaFormModalOverlay .conta-balance-date-fields .conta-form-field {
                display: block !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                margin: 0 !important;
                overflow: visible !important;
            }
            #contaFormModalOverlay .conta-balance-date-fields .form-label {
                display: block !important;
                margin: 0 0 7px !important;
            }
            #contaFormModalOverlay .conta-balance-date-fields .form-input,
            #contaFormModalOverlay .conta-balance-date-fields #contaDataInicio + input {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                height: 48px !important;
                min-height: 48px !important;
                margin: 0 0 14px !important;
                position: static !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle {
                margin-top: 0 !important;
                transform: none !important;
            }
        }
        .extrato-item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--card-border); }
        .extrato-item:last-child { border-bottom: none; }
        .extrato-icon { width: 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0; }
        .extrato-icon.receita { background: rgba(0,230,118,0.15); color: var(--neon-green); }
        .extrato-icon.despesa { background: rgba(255,71,87,0.15); color: var(--neon-red); }
        .extrato-icon.saldo-inicial { background: rgba(0,229,255,0.15); color: #00E5FF; }
        .extrato-info { flex: 1; min-width: 0; }
        .extrato-desc { font-weight: 600; font-size: 13px; color: var(--text-main); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .extrato-meta { font-size: 10px; color: var(--text-sec); margin-top: 2px; }
        .extrato-val { font-weight: 800; font-size: 14px; flex-shrink: 0; text-align: right; }
        .extrato-saldo-acum { font-size: 10px; color: var(--text-muted); text-align: right; margin-top: 2px; }
        .extrato-section-header { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); padding: 12px 0 6px; }
        .extrato-section-header.futuro { color: var(--neon-yellow); }
        .extrato-futuro { opacity: 0.7; }
        .extrato-futuro .extrato-desc::after { content: ' (previsto)'; font-size: 9px; color: var(--text-muted); }

        .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: 14px 16px; 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);
        }
        .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; }
        .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); }

        .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: 200px; overflow-y: auto;
        }
        .custom-select.open .custom-options { opacity: 1; visibility: visible; pointer-events: all; transform: translateY(0); }

        .custom-option {
            position: relative; display: block; padding: 10px 16px; font-size: 13px; color: var(--text-sec);
            cursor: pointer; transition: all 0.2s; 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); padding-left: 20px; }
        .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); }

        .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;
                background: rgba(255,71,87,0.08);
                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;
                max-width: none;
                height: min(82vh, 700px);
                padding: 18px;
                border: 1px solid rgba(255,255,255,0.09) !important;
                border-radius: 8px;
                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;
            }
            nav.sidebar.active {
                transform: translateY(0);
                box-shadow: 0 -18px 60px rgba(0,0,0,0.72);
            }
            .sidebar-overlay { position: fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.58); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); z-index: 55; display: none; opacity: 0; transition: 0.3s; }
            .sidebar-overlay.active { display: block; opacity: 1; }
            .brand { display: flex; justify-content: flex-start; margin-bottom: 18px; }
            .brand .logo-nexa { font-size: 22px; }
            .brand .logo-sys { font-size: 10px; }
            .new-btn-wrapper { margin-bottom: 10px; }
            .btn-new { border-radius: 8px; min-height: 48px; }
            .quick-menu { left: 0; top: 56px; flex-direction: row; border-radius: 8px; }
            .tools-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 8px !important; }
            .tools-grid .btn-menu-sec,
            .sidebar.compact .tools-grid .btn-menu-sec {
                min-height: 58px;
                border-radius: 8px;
                padding: 9px 5px !important;
                font-size: 9px !important;
                line-height: 1.1;
            }
            .btn-ai { border-radius: 8px; min-height: 42px; margin-top: 8px; }
            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-list {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 8px;
                padding-right: 0;
                min-height: 0;
            }
            .month-item,
            .sidebar.compact .month-item {
                margin-bottom: 0;
                border-radius: 8px;
                padding: 10px 12px !important;
                background: rgba(255,255,255,0.03);
                border-color: rgba(255,255,255,0.05);
            }
            .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;
            }
            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;
                background: rgba(255,71,87,0.1);
                color: var(--neon-red);
            }
            .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-search-row { align-items: stretch; }
            .feed-search-input,
            .feed-conta-wrap .custom-select-trigger,
            .status-btn {
                min-height: 40px;
                border-radius: 8px;
            }
            .feed-conta-wrap {
                flex: 0 0 136px;
                min-width: 136px;
                max-width: 136px;
            }
            .feed-conta-wrap .custom-select-trigger {
                width: 100%;
                min-width: 0;
                padding: 8px 34px 8px 10px;
                display: block;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                line-height: 22px;
            }
            .feed-conta-wrap .custom-select-trigger:after {
                position: absolute;
                right: 12px;
                flex-shrink: 0;
            }
            .filter-row { gap: 7px; }
            .filter-group { border-radius: 8px; }
            .f-btn { min-height: 34px; border-radius: 6px; font-size: 10px; letter-spacing: 0; }
            .status-dropdown { min-width: 96px; }
            .feed-summary { border-radius: 8px; padding: 14px; }
            .feed-list { padding-right: 0; padding-bottom: 24px; }
            .trans-item {
                border-radius: 8px;
                padding: 13px;
                align-items: flex-start;
                gap: 10px;
                margin-bottom: 10px !important;
            }
            .trans-item:hover { transform: none; }
            .category-chart-header { align-items: center; margin-bottom: 6px; }
            .category-chart-header .kpi-label { margin: 0; line-height: 32px; }
            .category-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) 54px;
                gap: 8px;
            }
            .category-detail-head { padding-inline: 8px; }
            .category-detail-list .legend-item { min-height: 42px; padding: 9px 8px; }
            .category-detail-list .l-val { font-size: 12px; }
            .category-detail-list .l-percent { min-width: 46px; padding: 4px 6px; }

            .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 .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 #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);
            }
            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;
            }
            .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(255,255,255,0.055);
            color: var(--text-muted);
            border: 1px solid rgba(255,255,255,0.12);
        }
        .chat-msg.user .chat-avatar {
            width: 34px;
            height: 34px;
            border-radius: 8px;
            background: linear-gradient(135deg, rgba(0,230,118,0.18), rgba(41,121,255,0.16));
            color: var(--neon-blue);
            border: 1px solid rgba(255,255,255,0.12);
            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: currentColor;
        }
        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(41,121,255,0.18) 0%, rgba(41,121,255,0.12) 100%);
            border-color: rgba(41,121,255,0.24);
        }

        .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: #7dd3fc;
            text-decoration: none;
            border-bottom: 1px solid rgba(125,211,252,0.35);
        }

        #advisorModalOverlay .form-input { margin-bottom: 0 !important; height: 48px !important; }
        #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;
            background:
                radial-gradient(circle at top left, rgba(41,121,255,0.12), transparent 32%),
                radial-gradient(circle at top right, rgba(213,0,249,0.1), transparent 28%),
                rgba(5,5,6,0.98);
        }
        #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(0,0,0,0.28);
            backdrop-filter: blur(18px);
        }
        #advisorModalOverlay .advisor-modal-title-wrap {
            min-width: 0;
        }
        #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;
        }
        #advisorModalOverlay .advisor-reset-btn:hover {
            transform: translateY(-1px);
            border-color: rgba(41,121,255,0.4);
            background: rgba(41,121,255,0.09);
        }
        #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(0,0,0,0.24);
            backdrop-filter: blur(16px);
        }
        #advisorModalOverlay .advisor-chat-textarea {
            min-height: 52px;
            max-height: 160px;
            resize: none;
            padding: 14px 16px;
            line-height: 1.45;
            overflow-y: auto;
        }
        #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: linear-gradient(135deg, rgba(41,121,255,1), rgba(0,191,255,0.82));
            box-shadow: 0 12px 24px rgba(41,121,255,0.26);
        }
        #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(255,255,255,0.05);
            border: 1px solid rgba(255,255,255,0.08);
            color: #e2e8f0;
            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-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;
        }
        #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: linear-gradient(135deg, rgba(213,0,249,1), rgba(41,121,255,0.92));
            color: #fff;
            font-weight: 900;
            cursor: pointer;
            box-shadow: 0 14px 30px rgba(120,40,200,0.22);
        }
        #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;
        }
        #advisorModalOverlay .advisor-chip-btn:hover,
        #advisorModalOverlay .advisor-action-btn:hover {
            transform: translateY(-1px);
            border-color: rgba(0,229,255,0.38);
            background: rgba(0,229,255,0.08);
        }
        #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-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(41,121,255,0.14);
            color: #7dd3fc;
        }
        #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;
        }
        @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(37,99,235,0.1), transparent 30%),
                radial-gradient(circle at top right, rgba(217,70,239,0.08), transparent 26%),
                #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(59,130,246,0.08) 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;
        }
        #advisorModalOverlay .advisor-summary-toggle:hover {
            border-color: rgba(59,130,246,0.45);
            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-blue);
            margin-top: 2px;
            flex-shrink: 0;
        }
        body.light-mode #advisorModalOverlay .advisor-summary-panel {
            background: linear-gradient(180deg, rgba(59,130,246,0.10) 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 { background: rgba(0,0,0,0.76); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); 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 #reportModalOverlay .modal-box.report-modal-shell, body.light-mode .report-controls, body.light-mode .report-kpi, body.light-mode .rep-chart-box, body.light-mode .rep-group-card, body.light-mode .report-empty-state { background: #ffffff !important; border-color: #e2e8f0 !important; }
        body.light-mode .report-body { background: #f8fafc; }
        body.light-mode .report-topbar { border-bottom-color: #e2e8f0; }
        body.light-mode .report-controls .form-input, body.light-mode .report-controls .form-select { background: #f8fafc; }
        body.light-mode .report-empty-state { border-color: #cbd5e1 !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 { color: #1d4ed8; }
        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 { background: rgba(0,0,0,0.78); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); 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; }
        }
        @media print {
            body * { visibility: hidden; }
            #reportModalOverlay, #reportModalOverlay * { visibility: visible; }
            #reportModalOverlay { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #fff; color: #000; }
            .modal-box { box-shadow: none; border: none; width: 100%; max-width: 100%; transform: none; background: #fff; }
            .close-modal-btn, .print-btn, .report-controls { display: none; }
            .report-table th { background: #eee; color: #000; }
            .report-table td { color: #000; border-bottom: 1px solid #ddd; }
            .report-kpi { border: 1px solid #ddd; background: #f9f9f9; }
            .report-kpi-val { color: #000; }
            h3 { color: #000 !important; }
        }

        @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%;
                    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); }
        #cloneModalOverlay .modal-box {
            width: min(520px, 94vw);
        }
        .clone-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px;
            align-items: end;
        }
        .clone-field { min-width: 0; }
        .clone-field .custom-select-wrapper,
        .clone-field .form-input { margin-bottom: 0; }
        .clone-field .custom-select-trigger,
        .clone-field .form-input { min-height: 48px; border-radius: 8px; }
        .clone-summary {
            margin-top: 16px;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
        }
        .clone-summary-card {
            border: 1px solid var(--card-border);
            border-radius: 8px;
            background: rgba(255,255,255,0.035);
            padding: 12px;
            min-width: 0;
        }
        .clone-summary-card span {
            display: block;
            color: var(--text-muted);
            font-size: 10px;
            font-weight: 900;
            text-transform: uppercase;
            margin-bottom: 6px;
        }
        .clone-summary-card strong {
            display: block;
            color: var(--text-main);
            font-size: 15px;
            font-weight: 900;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .clone-status {
            margin-top: 12px;
            padding: 10px 12px;
            border-radius: 8px;
            border: 1px solid rgba(41,121,255,0.2);
            background: rgba(41,121,255,0.08);
            color: var(--text-sec);
            font-size: 12px;
            font-weight: 700;
            line-height: 1.45;
        }
        .clone-status.warning {
            border-color: rgba(255,196,0,0.28);
            background: rgba(255,196,0,0.09);
            color: var(--neon-yellow);
        }
        .clone-status.danger {
            border-color: rgba(255,71,87,0.28);
            background: rgba(255,71,87,0.08);
            color: var(--neon-red);
        }
        .clone-helper-text {
            margin-top: 14px;
            color: var(--text-sec);
            font-size: 12px;
            line-height: 1.55;
        }
        #cloneSubmit[disabled] {
            opacity: 0.45;
            cursor: not-allowed;
            box-shadow: none;
        }
        body.light-mode .clone-summary-card {
            background: #f8fafc;
            border-color: #e2e8f0;
        }
        @media (max-width: 620px) {
            .clone-grid,
            .clone-summary {
                grid-template-columns: 1fr;
            }
        }
        .section-divider { margin-top:25px; padding-top:20px; border-top:1px solid var(--card-border); }
        .config-advisor-section {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .config-advisor-control {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 132px;
            gap: 12px;
            align-items: end;
        }
        .config-advisor-field { min-width: 0; }
        .config-advisor-field .form-label { margin-bottom: 8px; }
        .config-advisor-select-host .custom-select-wrapper { margin-bottom: 0; }
        .config-advisor-select-host .custom-select-trigger {
            min-height: 48px;
            padding: 13px 16px;
            border-radius: 10px;
            background: rgba(0,0,0,0.3);
            border-color: var(--card-border);
            font-size: 14px;
            font-weight: 700;
        }
        .config-advisor-select-host .custom-options { z-index: 260; }
        .config-advisor-select-host .custom-search { display: none; }
        .config-advisor-save {
            width: 100% !important;
            height: 48px !important;
            min-width: 0;
            padding: 0 16px !important;
            gap: 8px;
            border-radius: 10px;
            font-size: 13px;
            font-weight: 900;
            white-space: nowrap;
            background: var(--neon-blue) !important;
        }
        .config-advisor-hint {
            color: var(--text-sec);
            font-size: 12px;
            line-height: 1.55;
            max-width: 680px;
        }
        body.light-mode .config-advisor-select-host .custom-select-trigger,
        body.light-mode .config-advisor-select-host .custom-options {
            background: #ffffff;
            border-color: #cbd5e1;
        }
        @media (max-width: 680px) {
            .config-advisor-control { grid-template-columns: 1fr; }
            .config-advisor-save {
                width: auto !important;
                justify-self: flex-start;
            }
        }
        .email-settings-toggle {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 14px 16px;
            border-radius: 16px;
            border: 1px solid rgba(41, 121, 255, 0.24);
            background: rgba(41, 121, 255, 0.06);
            color: var(--neon-blue);
            font-size: 13px;
            font-weight: 800;
            letter-spacing: 0.02em;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        .email-settings-toggle:hover {
            border-color: rgba(41, 121, 255, 0.4);
            background: rgba(41, 121, 255, 0.1);
        }
        .email-settings-toggle i:last-child {
            transition: transform 0.2s ease;
        }
        .email-settings-section.is-open .email-settings-toggle i:last-child {
            transform: rotate(180deg);
        }
        .email-settings-content {
            margin-top: 12px;
        }
        .email-settings-content[hidden] {
            display: none !important;
        }
        .email-settings-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 15px;
        }
        .email-settings-grid .config-col {
            height: auto;
            min-height: 0;
            overflow: visible;
        }
        .auth-overlay {
            --auth-lime: #c6f53a;
            --auth-cyan: #28d7d0;
            --auth-coral: #ff435b;
            --auth-ink: #080b0d;
            --auth-panel: #111316;
            position: fixed;
            inset: 0;
            z-index: 5000;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 24px;
            background:
                radial-gradient(circle at 16% 24%, rgba(40, 215, 208, 0.16), transparent 28%),
                radial-gradient(circle at 78% 18%, rgba(255, 67, 91, 0.20), transparent 28%),
                radial-gradient(circle at 68% 88%, rgba(198, 245, 58, 0.11), transparent 26%),
                linear-gradient(135deg, #081113 0%, #060709 46%, #130608 100%);
            backdrop-filter: blur(18px) saturate(1.2);
            -webkit-backdrop-filter: blur(18px) saturate(1.2);
            overflow: hidden;
        }
        .auth-overlay::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            background-image:
                linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px),
                repeating-linear-gradient(115deg, transparent 0 28px, rgba(40,215,208,0.05) 28px 29px, transparent 29px 58px);
            background-size: 58px 58px, 58px 58px, 110px 110px;
            mask-image: linear-gradient(to bottom, rgba(0,0,0,0.82), transparent 86%);
            -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.82), transparent 86%);
            animation: authGridDrift 18s linear infinite;
        }
        .auth-overlay::after {
            content: "";
            position: absolute;
            inset: -45% -20%;
            pointer-events: none;
            background:
                repeating-linear-gradient(100deg, transparent 0 70px, rgba(255,255,255,0.026) 70px 71px, transparent 71px 128px);
            opacity: 0.72;
            transform: rotate(-5deg);
            animation: authScan 8s linear infinite;
        }
        .auth-overlay.active { display: flex; }
        .auth-shell {
            position: relative;
            z-index: 1;
            width: min(980px, 100%);
            max-height: calc(100svh - 48px);
            display: grid;
            grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.78fr);
            overflow: hidden;
            border: 1px solid rgba(255,255,255,0.12);
            border-top-color: rgba(255,255,255,0.20);
            border-radius: 8px;
            background:
                linear-gradient(145deg, rgba(16,18,20,0.94) 0%, rgba(5,7,8,0.98) 48%, rgba(12,7,8,0.96) 100%);
            box-shadow:
                0 34px 120px rgba(0,0,0,0.78),
                0 0 0 1px rgba(255,255,255,0.045) inset,
                0 0 80px rgba(40,215,208,0.08);
            isolation: isolate;
            animation: authShellIn 0.65s cubic-bezier(0.2, 0.9, 0.22, 1) both;
        }
        .auth-shell::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            background:
                linear-gradient(90deg, transparent, rgba(255,255,255,0.10), transparent);
            transform: translateX(-115%);
            animation: authLightSweep 4.6s ease-in-out infinite 0.7s;
            z-index: 2;
        }
        .auth-showcase {
            position: relative;
            min-height: 575px;
            padding: 34px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            border-right: 1px solid rgba(255,255,255,0.08);
            background:
                linear-gradient(90deg, rgba(5,8,9,0.88), rgba(5,8,9,0.28) 45%, rgba(5,8,9,0.05)),
                #071012;
            overflow: hidden;
        }
        .auth-showcase::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg, rgba(5,8,9,0.92), rgba(5,8,9,0.12) 54%, rgba(5,8,9,0.24)),
                radial-gradient(circle at 28% 68%, rgba(198,245,58,0.12), transparent 28%),
                radial-gradient(circle at 86% 28%, rgba(255,67,91,0.14), transparent 32%);
            opacity: 0.9;
            animation: authDiagonalDrift 14s linear infinite;
        }
        .auth-showcase::after {
            content: "";
            position: absolute;
            left: -80px;
            bottom: -80px;
            width: 210px;
            height: 210px;
            border: 1px solid rgba(40,215,208,0.22);
            border-radius: 50%;
            background:
                radial-gradient(circle, rgba(40,215,208,0.14), transparent 64%),
                repeating-linear-gradient(90deg, transparent 0 12px, rgba(255,255,255,0.032) 12px 13px);
            animation: authPanelFloat 7s ease-in-out infinite;
        }
        .auth-showcase > * { position: relative; z-index: 1; }
        .auth-hero-art {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 61% 50%;
            opacity: 0.94;
            transform: scale(1.02);
            filter: saturate(1.02) contrast(1.02);
            z-index: 0;
            animation: authHeroFloat 8s ease-in-out infinite;
        }
        .auth-showcase-top,
        .auth-showcase-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            color: var(--text-sec);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0;
        }
        .auth-badge,
        .auth-month,
        .auth-showcase-footer span {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 34px;
            padding: 0 12px;
            border: 1px solid rgba(255,255,255,0.10);
            border-radius: 8px;
            background: rgba(9,14,16,0.54);
            color: rgba(242,247,250,0.72);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            box-shadow: 0 10px 26px rgba(0,0,0,0.18);
        }
        .auth-badge i,
        .auth-showcase-footer i { color: var(--auth-lime); }
        .auth-showcase-title {
            max-width: 340px;
            margin: 36px 0 24px;
            color: #fff;
            font-size: 40px;
            line-height: 1.02;
            font-weight: 900;
            letter-spacing: 0;
            text-wrap: balance;
            text-shadow: 0 12px 34px rgba(0,0,0,0.45);
            position: relative;
            z-index: 2;
        }
        .auth-dashboard-preview {
            width: min(330px, 100%);
            border: 1px solid rgba(255,255,255,0.10);
            border-radius: 8px;
            background:
                linear-gradient(145deg, rgba(255,255,255,0.10), rgba(255,255,255,0.035)),
                rgba(12,14,16,0.58);
            box-shadow: 0 22px 58px rgba(0,0,0,0.36), 0 1px 0 rgba(255,255,255,0.08) inset;
            padding: 18px;
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            transform: rotate(-1.2deg) translateY(4px);
            transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
            position: relative;
            z-index: 2;
        }
        .auth-dashboard-preview:hover {
            transform: rotate(0deg) translateY(-3px);
            border-color: rgba(198,245,58,0.30);
            box-shadow: 0 26px 70px rgba(0,0,0,0.42), 0 0 38px rgba(40,215,208,0.10);
        }
        .auth-preview-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 18px;
        }
        .auth-preview-title {
            color: var(--text-main);
            font-size: 12px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0;
        }
        .auth-preview-status {
            color: var(--auth-lime);
            font-size: 11px;
            font-weight: 900;
            position: relative;
            padding-left: 13px;
        }
        .auth-preview-status::before {
            content: "";
            position: absolute;
            left: 0;
            top: 50%;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--auth-lime);
            box-shadow: 0 0 14px rgba(198,245,58,0.85);
            transform: translateY(-50%);
            animation: authStatusPulse 1.8s ease-in-out infinite;
        }
        .auth-preview-kpis {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
            margin-bottom: 18px;
        }
        .auth-preview-kpi {
            min-width: 0;
            padding: 12px 10px;
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 8px;
            background: rgba(255,255,255,0.045);
            transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
        }
        .auth-preview-kpi:hover {
            transform: translateY(-3px);
            background: rgba(255,255,255,0.07);
            border-color: rgba(255,255,255,0.16);
        }
        .auth-preview-kpi span {
            display: block;
            color: var(--text-muted);
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0;
            white-space: nowrap;
        }
        .auth-preview-kpi strong {
            display: block;
            margin-top: 8px;
            color: var(--text-main);
            font-size: 16px;
            font-weight: 900;
            letter-spacing: 0;
        }
        .auth-preview-kpi.receita strong { color: var(--auth-lime); }
        .auth-preview-kpi.despesa strong { color: var(--auth-coral); }
        .auth-preview-kpi.saldo strong { color: var(--auth-cyan); }
        .auth-bars {
            height: 120px;
            display: flex;
            align-items: flex-end;
            gap: 10px;
            padding-top: 16px;
            border-top: 1px solid rgba(255,255,255,0.08);
        }
        .auth-bars span {
            flex: 1;
            min-width: 14px;
            border-radius: 8px 8px 0 0;
            background: linear-gradient(180deg, rgba(198,245,58,0.90), rgba(198,245,58,0.18));
            box-shadow: 0 0 18px rgba(198,245,58,0.14);
            transform-origin: bottom;
            animation: authBarBounce 3.1s ease-in-out infinite;
        }
        .auth-bars span:nth-child(2n) { background: linear-gradient(180deg, rgba(40,215,208,0.86), rgba(40,215,208,0.16)); }
        .auth-bars span:nth-child(3n) { background: linear-gradient(180deg, rgba(255,67,91,0.82), rgba(255,67,91,0.15)); }
        .auth-bars span:nth-child(2) { animation-delay: 0.18s; }
        .auth-bars span:nth-child(3) { animation-delay: 0.34s; }
        .auth-bars span:nth-child(4) { animation-delay: 0.5s; }
        .auth-bars span:nth-child(5) { animation-delay: 0.22s; }
        .auth-bars span:nth-child(6) { animation-delay: 0.42s; }
        .auth-bars span:nth-child(7) { animation-delay: 0.12s; }
        .auth-box {
            width: 100%;
            min-width: 0;
            padding: 46px 42px;
            border: 0;
            background:
                linear-gradient(180deg, rgba(255,255,255,0.035), transparent 45%),
                rgba(9,10,12,0.82);
            box-shadow: none;
            position: relative;
            z-index: 1;
        }
        .auth-form-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 28px;
        }
        .auth-brand { display: flex; align-items: center; gap: 14px; min-width: 0; }
        .auth-brand-icon {
            width: 46px;
            height: 46px;
            display: grid;
            place-items: center;
            flex: 0 0 auto;
            border-radius: 8px;
            background:
                linear-gradient(135deg, rgba(198,245,58,0.22), rgba(40,215,208,0.16));
            border: 1px solid rgba(198,245,58,0.28);
            box-shadow: 0 14px 30px rgba(40,215,208,0.12);
            animation: authIconLift 3.6s ease-in-out infinite;
        }
        .auth-brand i { color: var(--auth-lime); font-size: 22px; }
        .auth-brand-title {
            font-size: 24px;
            line-height: 1;
            font-weight: 900;
            letter-spacing: 0;
            background: linear-gradient(90deg, #fff 0%, #eefbd2 45%, #8fe9e3 100%);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }
        .auth-kicker {
            margin-top: 5px;
            color: #9bded8;
            font-size: 11px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0;
        }
        .auth-lock-chip {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            flex: 0 0 auto;
            border: 1px solid rgba(255,255,255,0.10);
            border-radius: 8px;
            background: rgba(255,255,255,0.055);
            color: var(--text-sec);
            box-shadow: 0 12px 28px rgba(0,0,0,0.18);
        }
        .auth-copy {
            color: rgba(231,238,244,0.74);
            font-size: 14px;
            line-height: 1.55;
            margin-bottom: 24px;
            max-width: 340px;
        }
        .auth-error {
            display: none;
            color: var(--neon-red);
            font-size: 12px;
            font-weight: 800;
            line-height: 1.45;
            margin: 0 0 16px;
            padding: 12px 14px;
            border: 1px solid rgba(255,71,87,0.24);
            border-radius: 8px;
            background: rgba(255,71,87,0.08);
        }
        .auth-error.active { display: block; }
        .auth-error.success {
            color: var(--neon-green);
            border-color: rgba(0,230,118,0.24);
            background: rgba(0,230,118,0.08);
        }
        .auth-field { margin-bottom: 16px; }
        .auth-field .form-label {
            margin-bottom: 8px;
            letter-spacing: 0;
            color: rgba(231,238,244,0.66);
        }
        .auth-input-wrap {
            position: relative;
            border-radius: 8px;
            transition: transform 0.22s ease;
        }
        .auth-input-wrap:focus-within {
            transform: translateY(-2px);
        }
        .auth-input-wrap > i {
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: var(--text-muted);
            font-size: 14px;
            pointer-events: none;
        }
        .auth-input-wrap .form-input {
            min-height: 50px;
            margin-bottom: 0;
            padding-left: 44px;
            padding-right: 46px;
            border-radius: 8px;
            border-color: rgba(255,255,255,0.11);
            background:
                linear-gradient(180deg, rgba(255,255,255,0.058), rgba(255,255,255,0.025));
            box-shadow: 0 12px 28px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.04);
        }
        .auth-input-wrap .form-input:focus {
            border-color: rgba(40,215,208,0.56);
            box-shadow:
                0 0 0 3px rgba(40,215,208,0.13),
                0 16px 34px rgba(0,0,0,0.24),
                inset 0 1px 0 rgba(255,255,255,0.07);
            background: rgba(7,13,15,0.78);
        }
        .auth-input-wrap:focus-within > i {
            color: var(--auth-cyan);
        }
        .auth-input-wrap .form-input:focus + .auth-visibility-btn,
        .auth-input-wrap .form-input:focus ~ .auth-visibility-btn { color: var(--text-main); }
        .auth-visibility-btn {
            position: absolute;
            right: 8px;
            top: 50%;
            transform: translateY(-50%);
            width: 34px;
            height: 34px;
            display: grid;
            place-items: center;
            border: 0;
            border-radius: 8px;
            background: transparent;
            color: var(--text-sec);
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease;
        }
        .auth-visibility-btn:hover { background: rgba(255,255,255,0.07); color: var(--auth-lime); }
        .auth-forgot { display: flex; justify-content: flex-end; margin: -4px 0 18px; }
        .auth-forgot button {
            background: none;
            border: none;
            color: var(--text-sec);
            cursor: pointer;
            font-size: 12px;
            font-weight: 800;
            padding: 4px 0;
            transition: color 0.18s ease, transform 0.18s ease;
        }
        .auth-forgot button:hover { color: var(--auth-lime); transform: translateX(-2px); }
        .auth-reset-fields { display: grid; grid-template-columns: 1fr; gap: 0; }
        .auth-reset-helper {
            color: var(--text-sec);
            font-size: 12px;
            line-height: 1.55;
            margin: -4px 0 16px;
            padding: 12px 14px;
            border: 1px solid rgba(41,121,255,0.18);
            border-radius: 8px;
            background: rgba(41,121,255,0.07);
        }
        .auth-box [hidden] { display: none !important; }
        .auth-box .btn-submit {
            min-height: 52px;
            margin-top: 2px;
            border-radius: 8px;
            background:
                linear-gradient(90deg, #c6f53a 0%, #28d7d0 58%, #ff435b 125%) !important;
            color: #071012 !important;
            box-shadow: 0 16px 34px rgba(40,215,208,0.20), 0 0 0 1px rgba(255,255,255,0.18) inset;
            position: relative;
            overflow: hidden;
        }
        .auth-box .btn-submit::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(100deg, transparent, rgba(255,255,255,0.35), transparent);
            transform: translateX(-125%);
            transition: transform 0.45s ease;
        }
        .auth-box .btn-submit:hover {
            transform: translateY(-2px);
            box-shadow: 0 22px 42px rgba(198,245,58,0.22), 0 0 32px rgba(40,215,208,0.16);
        }
        .auth-box .btn-submit:hover::after {
            transform: translateX(125%);
        }
        .auth-box .btn-submit:disabled {
            cursor: wait;
            opacity: 0.72;
            transform: none;
        }
        .auth-mode-switch {
            margin-top: 18px;
            text-align: center;
            color: var(--text-sec);
            font-size: 12px;
            font-weight: 700;
        }
        .auth-mode-switch button {
            background: none;
            border: none;
            color: var(--auth-lime);
            cursor: pointer;
            font-weight: 900;
            padding: 4px;
            transition: color 0.18s ease, transform 0.18s ease;
        }
        .auth-mode-switch button:hover { color: #7ee7ff; transform: translateY(-1px); }
        body.light-mode .auth-overlay {
            background:
                radial-gradient(circle at 16% 24%, rgba(40,215,208,0.18), transparent 30%),
                radial-gradient(circle at 78% 18%, rgba(255,67,91,0.16), transparent 30%),
                radial-gradient(circle at 68% 88%, rgba(198,245,58,0.18), transparent 28%),
                rgba(248,250,252,0.86);
        }
        body.light-mode .auth-shell {
            background: linear-gradient(145deg, #ffffff, #f8fafc);
            border-color: rgba(15,23,42,0.10);
            box-shadow: 0 30px 100px rgba(15,23,42,0.18), 0 0 70px rgba(40,215,208,0.12);
        }
        body.light-mode .auth-showcase {
            background:
                linear-gradient(90deg, rgba(248,250,252,0.94), rgba(248,250,252,0.16) 54%, rgba(248,250,252,0.24)),
                #e8f7f5;
            border-right-color: #e2e8f0;
        }
        body.light-mode .auth-showcase-title { color: #0f172a; }
        body.light-mode .auth-badge,
        body.light-mode .auth-month,
        body.light-mode .auth-showcase-footer span,
        body.light-mode .auth-dashboard-preview,
        body.light-mode .auth-preview-kpi,
        body.light-mode .auth-lock-chip {
            background: rgba(255,255,255,0.62);
            border-color: #e2e8f0;
            color: #64748b;
        }
        body.light-mode .auth-preview-title,
        body.light-mode .auth-preview-kpi strong { color: #0f172a; }
        body.light-mode .auth-brand-title {
            background: linear-gradient(90deg, #0f172a 0%, #0f766e 48%, #be123c 115%);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
        }
        body.light-mode .auth-copy,
        body.light-mode .auth-field .form-label { color: #64748b; }
        body.light-mode .auth-input-wrap .form-input { background: #ffffff; }
        @keyframes authShellIn {
            from { opacity: 0; transform: translateY(22px) scale(0.97); }
            to { opacity: 1; transform: translateY(0) scale(1); }
        }
        @keyframes authGridDrift {
            to { background-position: 54px 54px, 54px 54px, 100px 100px; }
        }
        @keyframes authScan {
            from { transform: translateX(-8%) rotate(-5deg); }
            to { transform: translateX(8%) rotate(-5deg); }
        }
        @keyframes authDiagonalDrift {
            to { background-position: 180px 0, 0 0; }
        }
        @keyframes authLightSweep {
            0%, 46% { transform: translateX(-115%); opacity: 0; }
            58% { opacity: 0.72; }
            76%, 100% { transform: translateX(115%); opacity: 0; }
        }
        @keyframes authPanelFloat {
            0%, 100% { transform: rotate(22deg) translate3d(0,0,0); }
            50% { transform: rotate(18deg) translate3d(-10px,-12px,0); }
        }
        @keyframes authStatusPulse {
            0%, 100% { opacity: 0.55; transform: translateY(-50%) scale(0.9); }
            50% { opacity: 1; transform: translateY(-50%) scale(1.18); }
        }
        @keyframes authBarBounce {
            0%, 100% { transform: scaleY(0.86); filter: saturate(0.9); }
            50% { transform: scaleY(1.03); filter: saturate(1.35); }
        }
        @keyframes authIconLift {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-4px); }
        }
        @keyframes authHeroFloat {
            0%, 100% { transform: scale(1.02) translate3d(0,0,0); }
            50% { transform: scale(1.045) translate3d(-8px,-6px,0); }
        }
        body.economy-mode .auth-overlay::before,
        body.economy-mode .auth-overlay::after,
        body.economy-mode .auth-shell,
        body.economy-mode .auth-shell::before,
        body.economy-mode .auth-showcase::before,
        body.economy-mode .auth-showcase::after,
        body.economy-mode .auth-hero-art,
        body.economy-mode .auth-brand-icon,
        body.economy-mode .auth-preview-status::before,
        body.economy-mode .auth-bars span {
            animation: none !important;
        }
        @media (prefers-reduced-motion: reduce) {
            .auth-overlay::before,
            .auth-overlay::after,
            .auth-shell,
            .auth-shell::before,
            .auth-showcase::before,
            .auth-showcase::after,
            .auth-hero-art,
            .auth-brand-icon,
            .auth-preview-status::before,
            .auth-bars span {
                animation: none !important;
            }
            .auth-dashboard-preview,
            .auth-preview-kpi,
            .auth-input-wrap,
            .auth-box .btn-submit,
            .auth-mode-switch button,
            .auth-forgot button {
                transition: none !important;
            }
        }
        @media (max-width: 820px) {
            .auth-overlay { padding: 16px; align-items: center; }
            .auth-shell {
                width: min(430px, 100%);
                grid-template-columns: 1fr;
                overflow-y: auto;
            }
            .auth-showcase { display: none; }
            .auth-box { padding: 30px 28px; }
        }
        @media (max-width: 420px) {
            .auth-overlay { padding: 10px; }
            .auth-shell { max-height: calc(100svh - 20px); }
            .auth-box { padding: 24px 20px; }
            .auth-form-head { margin-bottom: 22px; }
            .auth-brand-title { font-size: 20px; }
            .auth-copy { font-size: 13px; }
            .auth-input-wrap .form-input { font-size: 16px; }
        }

        /* AUTH LOGIN REDESIGN V3 - mature fintech cockpit */
        .auth-overlay {
            --auth-paper: #f3efe7;
            --auth-cream: #d8f7e5;
            --auth-gold: #00e676;
            --auth-teal: #32f5c8;
            --auth-rose: #16a36a;
            --auth-graphite: #090b0e;
            --auth-panel: #121418;
            --auth-line: rgba(255,255,255,0.105);
            background:
                radial-gradient(circle at 50% 36%, rgba(0,230,118,0.09), transparent 30%),
                linear-gradient(180deg, rgba(0,0,0,0.06), rgba(0,30,14,0.16) 100%),
                linear-gradient(#000, #000);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        .auth-overlay::before {
            inset: -8%;
            height: auto;
            background-image:
                linear-gradient(rgba(0,230,118,0.18) 1px, transparent 1px),
                linear-gradient(90deg, rgba(0,230,118,0.15) 1px, transparent 1px);
            background-size: 90px 90px;
            background-position: 0 0;
            opacity: 0.44;
            transform: skewY(-7deg) scale(1.08);
            transform-origin: 50% 100%;
            animation: none;
        }
        .auth-overlay::after {
            inset: 0;
            background:
                linear-gradient(180deg, rgba(0,0,0,0.36), transparent 42%, rgba(0,0,0,0.70)),
                radial-gradient(ellipse at 50% 88%, rgba(0,230,118,0.22), transparent 50%);
            opacity: 0.66;
            transform: none;
            animation: none;
        }
        .auth-shell {
            width: min(1060px, 100%);
            grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.85fr);
            border-color: rgba(0,230,118,0.20);
            background:
                linear-gradient(145deg, rgba(7,12,10,0.68), rgba(2,3,3,0.74) 46%, rgba(5,10,8,0.64));
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            animation: none;
            box-shadow:
                0 38px 130px rgba(0,0,0,0.82),
                0 0 0 1px rgba(255,255,255,0.045) inset,
                0 0 90px rgba(0,230,118,0.10);
        }
        .auth-shell::before {
            display: none;
            animation: none;
        }
        .auth-showcase {
            min-height: 600px;
            padding: 34px 36px 32px;
            background:
                linear-gradient(90deg, rgba(0,0,0,0.42), rgba(0,0,0,0.26) 48%, rgba(0,0,0,0.18)),
                rgba(0,0,0,0.30);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        .auth-showcase::before {
            background:
                repeating-linear-gradient(120deg, rgba(0,230,118,0.065) 0 1px, transparent 1px 22px),
                linear-gradient(90deg, rgba(0,0,0,0.26), transparent 42%, rgba(0,0,0,0.22));
            opacity: 0.86;
            animation: none;
        }
        .auth-showcase::after {
            left: auto;
            right: -100px;
            bottom: -120px;
            width: 280px;
            height: 280px;
            border-color: rgba(0,230,118,0.18);
            background: radial-gradient(circle, rgba(0,230,118,0.10), transparent 68%);
            animation: none;
        }
        .auth-hero-art { display: none; }
        .auth-showcase-top,
        .auth-showcase-footer {
            color: rgba(243,239,231,0.62);
        }
        .auth-badge,
        .auth-month,
        .auth-showcase-footer span {
            min-height: 32px;
            border-color: rgba(0,230,118,0.18);
            background: rgba(0,18,10,0.38);
            color: rgba(225,255,238,0.70);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            box-shadow: 0 14px 34px rgba(0,0,0,0.22);
        }
        .auth-badge i,
        .auth-showcase-footer i { color: var(--auth-gold); }
        .auth-showcase-main {
            position: relative;
            z-index: 4;
            max-width: 420px;
            margin-top: 34px;
        }
        .auth-showcase > div:first-child { z-index: 4; }
        .auth-showcase-footer { z-index: 4; }
        .auth-eyebrow {
            color: var(--auth-gold);
            font-size: 11px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            margin-bottom: 14px;
        }
        .auth-showcase-title {
            max-width: 420px;
            margin: 0;
            font-size: 44px;
            line-height: 1.02;
            color: var(--auth-paper);
            text-shadow: 0 18px 44px rgba(0,0,0,0.58);
        }
        .auth-showcase-subtitle {
            max-width: 360px;
            margin-top: 18px;
            color: rgba(243,239,231,0.66);
            font-size: 14px;
            line-height: 1.6;
        }
        .auth-visual-stage {
            position: absolute;
            right: 18px;
            bottom: 42px;
            width: min(55%, 340px);
            aspect-ratio: 1;
            z-index: 2;
        }
        .auth-orbit {
            position: absolute;
            inset: 8%;
            border-radius: 50%;
            background:
                radial-gradient(circle at 50% 50%, rgba(232,255,241,0.08), transparent 31%),
                radial-gradient(circle at 50% 50%, rgba(0,230,118,0.14), transparent 52%);
            border: 1px solid rgba(0,230,118,0.14);
            box-shadow: inset 0 0 70px rgba(0,230,118,0.07), 0 30px 80px rgba(0,0,0,0.38);
            animation: authOrbitBreath 6s ease-in-out infinite;
        }
        .auth-orbit::before,
        .auth-orbit::after {
            content: "";
            position: absolute;
            inset: 11%;
            border-radius: 50%;
            border: 1px solid rgba(0,230,118,0.14);
        }
        .auth-orbit::after {
            inset: 24%;
            border-color: rgba(0,230,118,0.24);
            box-shadow: 0 0 36px rgba(0,230,118,0.10);
        }
        .auth-orbit-core {
            position: absolute;
            inset: 34%;
            border-radius: 50%;
            display: grid;
            place-items: center;
            color: var(--auth-paper);
            font-size: 28px;
            font-weight: 900;
            background:
                linear-gradient(145deg, rgba(255,255,255,0.13), rgba(255,255,255,0.02)),
                rgba(10,12,15,0.82);
            border: 1px solid rgba(0,230,118,0.22);
            box-shadow: 0 24px 70px rgba(0,0,0,0.42), 0 0 38px rgba(0,230,118,0.10);
        }
        .auth-orbit-dot {
            position: absolute;
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: var(--auth-teal);
            box-shadow: 0 0 20px rgba(78,216,207,0.86);
            animation: authOrbitDot 7s linear infinite;
            transform-origin: 106px 106px;
            left: calc(50% - 106px);
            top: calc(50% - 106px);
        }
        .auth-orbit-dot.alt {
            background: var(--auth-gold);
            box-shadow: 0 0 20px rgba(0,230,118,0.76);
            animation-duration: 10s;
            animation-direction: reverse;
            transform-origin: 78px 78px;
            left: calc(50% - 78px);
            top: calc(50% - 78px);
        }
        .auth-float-card {
            position: absolute;
            min-width: 132px;
            padding: 12px;
            border: 1px solid rgba(255,255,255,0.12);
            border-radius: 8px;
            background: rgba(5,13,10,0.54);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            box-shadow: 0 18px 50px rgba(0,0,0,0.34);
            animation: authFloatCard 5.5s ease-in-out infinite;
        }
        .auth-float-card span {
            display: block;
            color: rgba(243,239,231,0.54);
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
        }
        .auth-float-card strong {
            display: block;
            margin-top: 7px;
            color: var(--auth-paper);
            font-size: 16px;
            font-weight: 900;
        }
        .auth-float-card.primary {
            left: -2px;
            top: 34%;
            border-color: rgba(0,230,118,0.20);
        }
        .auth-float-card.secondary {
            right: 2px;
            bottom: 20%;
            border-color: rgba(0,230,118,0.18);
            animation-delay: 0.8s;
        }
        .auth-mini-wave {
            height: 34px;
            margin-top: 10px;
            display: flex;
            align-items: end;
            gap: 5px;
        }
        .auth-mini-wave i {
            flex: 1;
            border-radius: 6px 6px 0 0;
            background: linear-gradient(180deg, var(--auth-teal), rgba(0,230,118,0.14));
        }
        .auth-mini-wave i:nth-child(2n) { background: linear-gradient(180deg, var(--auth-gold), rgba(0,230,118,0.14)); }
        .auth-dashboard-preview { display: none; }
        .auth-box {
            padding: 54px 46px;
            overflow: hidden;
            background:
                linear-gradient(160deg, rgba(255,255,255,0.12), rgba(255,255,255,0.035) 38%, rgba(0,230,118,0.035) 100%),
                rgba(2,8,6,0.50);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            box-shadow:
                inset 1px 0 0 rgba(255,255,255,0.09),
                inset 0 1px 0 rgba(255,255,255,0.08),
                -24px 0 60px rgba(0,0,0,0.18);
        }
        .auth-box::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            background:
                linear-gradient(120deg, rgba(255,255,255,0.13), transparent 26%),
                radial-gradient(circle at 18% 12%, rgba(0,230,118,0.12), transparent 26%);
            opacity: 0.72;
        }
        .auth-box::after {
            content: "";
            position: absolute;
            inset: 1px;
            pointer-events: none;
            border-radius: inherit;
            border: 1px solid rgba(0,230,118,0.13);
            mask-image: none;
            -webkit-mask-image: none;
        }
        .auth-box > * {
            position: relative;
            z-index: 1;
        }
        .auth-brand {
            align-items: flex-start;
            gap: 12px;
        }
        .auth-brand-icon {
            width: 32px;
            height: 32px;
            padding: 0;
            margin-top: -2px;
            background: transparent;
            border: 0;
            border-radius: 0;
            box-shadow: none;
            animation: none;
        }
        .auth-brand-icon img {
            width: 32px;
            height: 32px;
            object-fit: contain;
            transform: none;
            filter: none;
        }
        .auth-brand i { color: var(--auth-gold); }
        .auth-brand-title {
            display: flex;
            flex-direction: row;
            align-items: baseline;
            justify-content: center;
            gap: 7px;
            background: none;
            -webkit-background-clip: initial;
            background-clip: initial;
            color: var(--auth-paper);
        }
        .auth-brand-title .auth-logo-nexa {
            font-size: 25px;
            line-height: 1;
            font-weight: 900;
            letter-spacing: 4px;
            margin-right: -4px;
        }
        .auth-brand-title .auth-logo-sys {
            align-self: baseline;
            font-size: 10px;
            line-height: 1;
            font-weight: 900;
            letter-spacing: 3px;
            margin-right: 0;
            color: var(--auth-gold);
            text-shadow: 0 0 10px rgba(0,230,118,0.42);
        }
        .auth-kicker { color: rgba(0,230,118,0.82); }
        .auth-copy,
        .auth-field .form-label { color: rgba(243,239,231,0.64); }
        .auth-input-wrap .form-input {
            border-color: rgba(255,255,255,0.11);
            background: rgba(255,255,255,0.038);
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
        }
        .auth-input-wrap .form-input:focus {
            border-color: rgba(0,230,118,0.58);
            box-shadow: 0 0 0 3px rgba(0,230,118,0.12), inset 0 1px 0 rgba(255,255,255,0.05);
            background: rgba(255,255,255,0.055);
        }
        .auth-input-wrap .form-input:-webkit-autofill,
        .auth-input-wrap .form-input:-webkit-autofill:hover,
        .auth-input-wrap .form-input:-webkit-autofill:focus,
        .auth-input-wrap .form-input:-webkit-autofill:active {
            border-color: rgba(0,230,118,0.58);
            -webkit-text-fill-color: var(--auth-paper);
            caret-color: var(--auth-paper);
            -webkit-box-shadow: 0 0 0 1000px #141a18 inset, 0 0 0 3px rgba(0,230,118,0.12), inset 0 1px 0 rgba(255,255,255,0.05);
            box-shadow: 0 0 0 1000px #141a18 inset, 0 0 0 3px rgba(0,230,118,0.12), inset 0 1px 0 rgba(255,255,255,0.05);
            transition: background-color 9999s ease-out, color 9999s ease-out;
        }
        .auth-input-wrap .form-input:autofill {
            border-color: rgba(0,230,118,0.58);
            color: var(--auth-paper);
            caret-color: var(--auth-paper);
            box-shadow: 0 0 0 1000px #141a18 inset, 0 0 0 3px rgba(0,230,118,0.12), inset 0 1px 0 rgba(255,255,255,0.05);
        }
        .auth-input-wrap:focus-within > i,
        .auth-visibility-btn:hover,
        .auth-forgot button:hover,
        .auth-mode-switch button { color: var(--auth-gold); }
        .auth-box .btn-submit {
            background: linear-gradient(90deg, #00e676 0%, #00c853 100%) !important;
            color: #00190c !important;
            box-shadow: 0 18px 38px rgba(0,230,118,0.22), 0 0 0 1px rgba(255,255,255,0.18) inset;
        }
        .auth-box .btn-submit:hover {
            box-shadow: 0 24px 48px rgba(0,230,118,0.30), 0 0 30px rgba(0,230,118,0.10);
        }
        @keyframes authGridDrive {
            from { background-position: 0 0, 0 0; }
            to { background-position: 0 90px, 90px 0; }
        }
        @keyframes authOrbitBreath {
            0%, 100% { transform: scale(0.98); opacity: 0.82; }
            50% { transform: scale(1.02); opacity: 1; }
        }
        @keyframes authOrbitDot {
            to { transform: rotate(360deg); }
        }
        @keyframes authFloatCard {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
        }
        @media (max-width: 980px) {
            .auth-visual-stage { opacity: 0.64; right: -30px; }
            .auth-showcase-main { max-width: 360px; }
            .auth-showcase-title { font-size: 38px; }
        }
        @media (max-width: 820px) {
            .auth-shell { width: min(430px, 100%); grid-template-columns: 1fr; }
            .auth-showcase { display: none; }
            .auth-box { padding: 32px 28px; }
        }
        @media (max-width: 420px) {
            .auth-box { padding: 26px 20px; }
        }
        body.economy-mode .auth-orbit,
        body.economy-mode .auth-orbit::after,
        body.economy-mode .auth-orbit-dot,
        body.economy-mode .auth-float-card {
            animation: none !important;
        }
        @media (prefers-reduced-motion: reduce) {
            .auth-orbit,
            .auth-orbit::after,
            .auth-orbit-dot,
            .auth-float-card {
                animation: none !important;
            }
        }
        #profileModalOverlay .modal-box {
            width: min(760px, 96%);
            max-height: 90vh;
            overflow-y: auto;
            padding: 0;
            border-radius: 18px;
            border-color: rgba(255,255,255,0.09);
            background: #070707;
            box-shadow: 0 34px 110px rgba(0,0,0,0.78), 0 0 0 1px rgba(255,255,255,0.028) inset;
            transform: none !important;
        }
        #profileModalOverlay.active .modal-box { transform: none !important; }
        .profile-modal-inner { position: relative; padding: 24px; }
        .profile-modal-top {
            display: flex; align-items: center; justify-content: space-between; gap: 16px;
            margin-bottom: 16px;
        }
        .profile-kicker {
            display: inline-flex; align-items: center; gap: 8px; color: var(--neon-green);
            font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.5px;
        }
        .profile-kicker i { font-size: 13px; }
        .profile-hero {
            position: relative;
            display: grid;
            gap: 18px;
            padding: 24px 24px 22px;
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 18px;
            background:
                radial-gradient(circle at top left, rgba(0,230,118,0.12), transparent 34%),
                radial-gradient(circle at bottom right, rgba(41,121,255,0.12), transparent 34%),
                linear-gradient(180deg, rgba(255,255,255,0.032), rgba(255,255,255,0.012)),
                #090909;
            overflow: hidden;
            border-bottom: 1px solid var(--card-border);
            margin-bottom: 18px;
        }
        .profile-hero::before {
            content: ""; position: absolute; inset: 0; pointer-events: none;
            background-image: linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
            background-size: 34px 34px; opacity: 0.08;
        }
        .profile-hero::after {
            content: ""; position: absolute; right: -80px; top: -80px; width: 220px; height: 220px; border-radius: 50%;
            background: radial-gradient(circle, rgba(213,0,249,0.18), transparent 70%);
            pointer-events: none; opacity: 0.6;
        }
        .profile-hero > * { position: relative; z-index: 1; }
        .profile-hero-main {
            display: grid;
            grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.9fr);
            gap: 18px;
            align-items: stretch;
        }
        .profile-identity-block {
            display: flex;
            align-items: center;
            gap: 20px;
            min-width: 0;
        }
        .profile-identity-copy {
            min-width: 0;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }
        .profile-hero-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 28px;
            padding: 0 10px;
            border-radius: 999px;
            background: rgba(255,255,255,0.05);
            border: 1px solid rgba(255,255,255,0.08);
            color: var(--text-sec);
            font-size: 10px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            margin-bottom: 12px;
        }
        .profile-photo-frame { position: relative; margin: 0; width: 132px; height: 132px; flex-shrink: 0; }
        .profile-photo-preview {
            width: 132px; height: 132px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.16);
            background: #101510; color: var(--neon-green); display: flex; align-items: center; justify-content: center;
            overflow: hidden; font-size: 42px; box-shadow: var(--profile-photo-shadow, 0 24px 64px rgba(0,0,0,0.48), 0 0 0 1px rgba(0,230,118,0.2));
            cursor: pointer;
        }
        .profile-photo-preview:hover { border-color: var(--neon-green); }
        .profile-photo-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .profile-photo-edit-btn {
            position: absolute; right: 6px; bottom: 6px; z-index: 2;
            width: 34px; height: 34px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.14);
            background: rgba(0,230,118,0.92); color: #001b0e; display: flex; align-items: center; justify-content: center;
            cursor: pointer; box-shadow: 0 14px 34px rgba(0,0,0,0.45); transition: 0.2s ease;
        }
        .profile-photo-edit-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
        .profile-display-name { color: var(--text-main); font-size: 30px; font-weight: 900; line-height: 1.05; margin-bottom: 0; }
        .profile-name-line { display: inline-flex; align-items: center; justify-content: flex-start; gap: 8px; max-width: 100%; }
        .profile-name-line .profile-display-name { margin-bottom: 0; overflow-wrap: anywhere; }
        .profile-display-email { color: var(--text-sec); font-size: 12px; font-weight: 800; margin-top: 8px; overflow-wrap: anywhere; }
        .profile-hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin: 16px 0 14px;
        }
        .profile-name-action {
            min-height: 36px;
            border-radius: 10px;
            border: 1px solid rgba(255,255,255,0.1);
            background: rgba(255,255,255,0.05);
            color: var(--text-main);
            font-size: 11px;
            font-weight: 900;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 0 12px;
            transition: 0.2s ease;
        }
        .profile-name-action { background: rgba(0,230,118,0.12); border-color: rgba(0,230,118,0.22); color: var(--neon-green); }
        .profile-name-action:hover {
            transform: translateY(-1px);
            border-color: rgba(255,255,255,0.18);
            color: var(--neon-green);
        }
        .profile-name-action:hover { border-color: rgba(0,230,118,0.4); }
        .profile-role-row {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px;
        }
        .profile-role-pill {
            display: inline-flex; align-items: center; gap: 7px; min-height: 28px;
            border: 1px solid rgba(0,230,118,0.28); border-radius: 8px; padding: 0 10px;
            background: rgba(0,230,118,0.09); color: var(--neon-green); font-size: 10px; font-weight: 900; text-transform: uppercase;
            margin-bottom: 0;
        }
        .profile-trust-copy {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            color: var(--text-sec);
            font-size: 11px;
            font-weight: 800;
        }
        .profile-hero-summary {
            position: relative;
            min-width: 0;
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 16px;
            padding: 18px;
            background: linear-gradient(145deg, rgba(8,15,12,0.94), rgba(8,12,20,0.88));
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 18px 44px rgba(0,0,0,0.22);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            overflow: hidden;
        }
        .profile-hero-summary::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: linear-gradient(135deg, rgba(0,230,118,0.08), transparent 45%, rgba(41,121,255,0.1));
        }
        .profile-hero-summary > * { position: relative; z-index: 1; }
        .profile-hero-summary-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 14px;
        }
        .profile-hero-summary-kicker {
            color: var(--text-sec);
            font-size: 10px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.14em;
        }
        .profile-hero-summary-status {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            min-height: 28px;
            padding: 0 10px;
            border-radius: 999px;
            background: rgba(0,230,118,0.12);
            border: 1px solid rgba(0,230,118,0.2);
            color: var(--neon-green);
            font-size: 10px;
            font-weight: 900;
            text-transform: uppercase;
            white-space: nowrap;
        }
        .profile-hero-summary-title {
            color: var(--text-main);
            font-size: 22px;
            font-weight: 900;
            line-height: 1.08;
        }
        .profile-hero-summary-copy {
            color: var(--text-sec);
            font-size: 12px;
            font-weight: 700;
            line-height: 1.5;
            margin-top: 8px;
        }
        .profile-hero-chip-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin-top: 18px;
        }
        .profile-hero-chip {
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 12px;
            background: rgba(255,255,255,0.04);
            padding: 12px;
            min-width: 0;
        }
        .profile-hero-chip.wide { grid-column: 1 / -1; }
        .profile-hero-chip span {
            display: block;
            color: var(--text-sec);
            font-size: 10px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            margin-bottom: 5px;
        }
        .profile-hero-chip strong {
            color: var(--text-main);
            font-size: 13px;
            font-weight: 900;
            overflow-wrap: anywhere;
        }
        .profile-stack { display: grid; gap: 12px; }
        .profile-section {
            position: relative;
            border: 1px solid rgba(255,255,255,0.09); border-radius: 8px; padding: 18px; background: #0a0a0a;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
        }
        .profile-section::before {
            content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 3px; border-radius: 0 8px 8px 0;
            background: var(--neon-green); opacity: 0.78;
        }
        .profile-section-title { font-size: 11px; color: var(--text-main); font-weight: 900; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
        .profile-section-title i {
            width: 28px; height: 28px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center;
            color: var(--neon-green); background: rgba(0,230,118,0.09); border: 1px solid rgba(0,230,118,0.18);
        }
        .profile-section-toggle {
            width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px;
            background: transparent; border: 0; padding: 0; color: inherit; cursor: pointer; text-align: left;
            appearance: none; font: inherit;
        }
        .profile-section-toggle .profile-section-title { margin-bottom: 0; }
        .profile-section-toggle-meta {
            color: var(--text-sec); font-size: 11px; font-weight: 800; line-height: 1.35;
            text-transform: uppercase; letter-spacing: 0.06em; text-align: right;
        }
        .profile-section-toggle-chevron { color: var(--text-sec); transition: transform 0.2s ease; }
        .profile-section.is-open .profile-section-toggle-chevron { transform: rotate(180deg); }
        .profile-section-content { margin-top: 14px; }
        .profile-section-content[hidden] { display: none !important; }
        .profile-name-editor {
            position: fixed; inset: 0; z-index: 220; display: none; align-items: center; justify-content: center;
            padding: 24px; background: rgba(0,0,0,0.72); backdrop-filter: blur(14px);
        }
        .profile-name-editor.active { display: flex; }
        .profile-action-editor {
            position: fixed; inset: 0; z-index: 220; display: none; align-items: center; justify-content: center;
            padding: 24px; background: rgba(0,0,0,0.72); backdrop-filter: blur(14px);
        }
        .profile-action-editor.active { display: flex; }
        .profile-photo-editor {
            position: fixed; inset: 0; z-index: 220; display: none; align-items: center; justify-content: center;
            padding: 24px; background: rgba(0,0,0,0.72); backdrop-filter: blur(16px);
        }
        .profile-photo-editor.active { display: flex; }
        .profile-photo-panel {
            width: min(430px, 100%); border: 1px solid rgba(0,230,118,0.24); border-radius: 8px;
            background: #090a09; padding: 20px; box-shadow: 0 22px 70px rgba(0,0,0,0.58);
        }
        .profile-crop-wrap {
            width: min(280px, 100%); aspect-ratio: 1; margin: 18px auto;
            border-radius: 8px; border: 1px solid rgba(0,230,118,0.35);
            background: #020302; padding: 8px; box-shadow: 0 16px 44px rgba(0,0,0,0.42);
        }
        #profileCropCanvas { width: 100%; height: 100%; display: block; border-radius: 8px; cursor: grab; touch-action: none; }
        #profileCropCanvas.dragging { cursor: grabbing; }
        .profile-zoom-row { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center; color: var(--text-sec); font-size: 12px; font-weight: 900; }
        .profile-zoom-row input { width: 100%; accent-color: var(--neon-green); }
        .profile-name-panel {
            width: min(430px, 100%); border: 1px solid rgba(0,230,118,0.24); border-radius: 8px;
            background: #090a09; padding: 20px; box-shadow: 0 22px 70px rgba(0,0,0,0.58);
        }
        .profile-action-panel {
            width: min(480px, 100%); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px;
            background: #090909; padding: 20px; box-shadow: 0 22px 70px rgba(0,0,0,0.58);
        }
        .profile-name-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
        .profile-name-panel-title { color: var(--text-main); font-size: 18px; font-weight: 900; line-height: 1.15; }
        .profile-name-panel-copy { color: var(--text-sec); font-size: 12px; font-weight: 700; line-height: 1.45; margin-top: 5px; }
        .profile-password-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
        .profile-password-grid .full { grid-column: 1 / -1; }
        .profile-actions-row { display: flex; gap: 10px; align-items: center; }
        .profile-option-list { display: grid; gap: 10px; }
        .profile-option-btn {
            width: 100%; min-height: 66px; border: 1px solid rgba(255,255,255,0.09); border-radius: 8px;
            background: #0a0a0a; color: var(--text-main); display: grid; grid-template-columns: 36px 1fr auto;
            align-items: center; gap: 12px; padding: 12px; cursor: pointer; text-align: left;
        }
        .profile-option-btn:hover { border-color: rgba(255,255,255,0.18); background: #0d0d0d; }
        .profile-option-icon {
            width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center;
            background: rgba(41,121,255,0.1); color: var(--neon-blue); border: 1px solid rgba(41,121,255,0.18);
        }
        .profile-option-title { font-size: 13px; font-weight: 900; margin-bottom: 3px; }
        .profile-option-copy { color: var(--text-sec); font-size: 11px; font-weight: 700; line-height: 1.35; }
        .profile-option-chevron { color: var(--text-sec); }
        .profile-sync-copy { color: var(--text-sec); font-size: 12px; line-height: 1.55; margin-bottom: 14px; }
        .profile-sync-hint { color: var(--text-sec); font-size: 11px; margin-top: -6px; margin-bottom: 14px; }
        .profile-sync-status {
            margin-top: 6px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(41,121,255,0.18);
            background: rgba(41,121,255,0.08); color: #dbeafe; font-size: 12px; line-height: 1.5;
        }
        .profile-sync-status.success { border-color: rgba(0,230,118,0.22); background: rgba(0,230,118,0.08); color: #dcfce7; }
        .profile-sync-status.warning { border-color: rgba(255,215,64,0.22); background: rgba(255,215,64,0.08); color: #fef3c7; }
        .profile-sync-status.error { border-color: rgba(255,71,87,0.22); background: rgba(255,71,87,0.08); color: #ffe4e6; }
        .profile-sync-preview { display: grid; gap: 10px; margin-top: 12px; }
        .profile-sync-preview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
        .profile-sync-preview-card {
            border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; background: rgba(255,255,255,0.03);
            padding: 12px 14px; width: 100%; text-align: left;
            appearance: none; font: inherit; color: inherit;
            transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
        }
        .profile-sync-preview-card.is-action { cursor: pointer; }
        .profile-sync-preview-card.is-action:hover {
            border-color: rgba(0,230,118,0.24); background: rgba(0,230,118,0.07); transform: translateY(-1px);
        }
        .profile-sync-preview-card.is-highlighted {
            border-color: rgba(0,230,118,0.28); background: rgba(0,230,118,0.08);
            box-shadow: inset 0 0 0 1px rgba(0,230,118,0.1);
        }
        .profile-sync-preview-card span { display: block; color: var(--text-sec); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; }
        .profile-sync-preview-card strong { display: block; color: var(--text-main); font-size: 16px; margin-top: 6px; }
        .profile-sync-preview-card small { display: block; color: var(--text-sec); font-size: 11px; margin-top: 4px; line-height: 1.45; }
        .profile-sync-preview-cta {
            display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; padding: 7px 11px;
            border-radius: 999px; background: rgba(0,230,118,0.12); color: var(--neon-green);
            font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.08em;
        }
        .profile-danger { border-color: rgba(255,71,87,0.2); background: rgba(255,71,87,0.035); }
        .profile-danger::before { background: var(--neon-red); }
        .profile-danger .profile-section-title { color: var(--neon-red); }
        .profile-danger .profile-section-title i { color: var(--neon-red); background: rgba(255,71,87,0.08); border-color: rgba(255,71,87,0.2); }
        .profile-danger-copy { color: var(--text-sec); font-size: 13px; line-height: 1.5; margin-bottom: 14px; }
        .btn-profile {
            border: 1px solid transparent; border-radius: 8px; padding: 12px 14px; font-size: 12px; font-weight: 900;
            cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px;
        }
        .profile-section > .btn-profile { margin-top: 14px; }
        .btn-profile.primary { background: var(--neon-green); color: #001b0e; }
        .btn-profile.blue { background: var(--neon-blue); color: #fff; }
        .btn-profile.danger { background: var(--neon-red); color: #fff; }
        .btn-profile.ghost { background: rgba(255,255,255,0.04); border-color: var(--card-border); color: var(--text-sec); }
        .btn-profile:hover { transform: translateY(-1px); }
        .btn-profile.is-syncing {
            background: rgba(255,215,64,0.14);
            border-color: rgba(255,215,64,0.3);
            color: #fef3c7;
        }
        .btn-profile.is-syncing i { animation: syncSpin 1s linear infinite; }
        body.light-mode .btn-profile.is-syncing {
            background: #fffbeb;
            border-color: #fde68a;
            color: #92400e;
        }
        body.light-mode #profileModalOverlay .modal-box { background: linear-gradient(135deg, #ffffff, #eff6ff 48%, #fff 80%); border-color: #e2e8f0; }
        body.light-mode .profile-hero {
            background:
                radial-gradient(circle at top left, rgba(16,185,129,0.1), transparent 34%),
                radial-gradient(circle at bottom right, rgba(59,130,246,0.1), transparent 34%),
                linear-gradient(145deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94));
            border-color: #e2e8f0;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
        }
        body.light-mode .profile-section { background: #f8fafc; border-color: #e2e8f0; }
        body.light-mode .profile-hero-eyebrow {
            background: rgba(255,255,255,0.84);
            border-color: #dbe4ef;
            color: #475569;
        }
        body.light-mode .profile-name-action {
            background: rgba(255,255,255,0.88);
            border-color: #dbe4ef;
            box-shadow: 0 1px 2px rgba(15,23,42,0.04);
        }
        body.light-mode .profile-name-action {
            background: rgba(16,185,129,0.12);
            border-color: rgba(16,185,129,0.24);
        }
        body.light-mode .profile-trust-copy { color: #475569; }
        body.light-mode .profile-hero-summary {
            background: linear-gradient(155deg, rgba(255,255,255,0.96), rgba(239,246,255,0.92) 60%, rgba(236,253,245,0.92));
            border-color: #dbeafe;
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.95), 0 16px 32px rgba(148,163,184,0.14);
        }
        body.light-mode .profile-hero-summary-kicker,
        body.light-mode .profile-hero-summary-copy { color: #475569; }
        body.light-mode .profile-hero-summary-status {
            background: rgba(16,185,129,0.12);
            border-color: rgba(16,185,129,0.22);
            color: #059669;
        }
        body.light-mode .profile-hero-chip {
            background: rgba(255,255,255,0.88);
            border-color: #dbe4ef;
        }
        body.light-mode .profile-option-btn {
            background: #ffffff;
            border-color: #dbe4ef;
            color: #0f172a;
            box-shadow: 0 1px 2px rgba(15,23,42,0.04);
        }
        body.light-mode .profile-option-btn:hover {
            background: #f1f5f9;
            border-color: #cbd5e1;
        }
        body.light-mode .profile-option-title { color: #0f172a; }
        body.light-mode .profile-option-copy,
        body.light-mode .profile-option-chevron { color: #475569; }
        body.light-mode .profile-sync-copy,
        body.light-mode .profile-sync-hint,
        body.light-mode .profile-sync-preview-card small,
        body.light-mode .profile-section-toggle-meta { color: #475569; }
        body.light-mode .profile-sync-status { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }
        body.light-mode .profile-sync-status.success { color: #166534; background: #ecfdf5; border-color: #bbf7d0; }
        body.light-mode .profile-sync-status.warning { color: #92400e; background: #fffbeb; border-color: #fde68a; }
        body.light-mode .profile-sync-status.error { color: #b91c1c; background: #fff1f2; border-color: #fecdd3; }
        body.light-mode .profile-sync-preview-card { background: #ffffff; border-color: #dbe4ef; }
        body.light-mode .profile-sync-preview-card.is-action:hover { background: #ecfdf5; border-color: #86efac; }
        body.light-mode .profile-sync-preview-card.is-highlighted { background: #ecfdf5; border-color: #86efac; }
        body.light-mode .profile-sync-preview-cta { background: rgba(16,185,129,0.12); color: #059669; }
        body.light-mode .profile-option-icon {
            background: #eff6ff;
            border-color: #bfdbfe;
            color: var(--neon-blue);
        }
        body.light-mode .profile-option-btn .profile-option-icon[style*="255,71,87"] {
            background: #fef2f2 !important;
            border-color: #fecaca !important;
            color: var(--neon-red) !important;
        }
        body.light-mode .profile-photo-preview {
            background: #ecfdf5;
            border-color: #bbf7d0;
            --profile-photo-shadow: 0 18px 34px rgba(148,163,184,0.16), 0 0 0 4px rgba(255,255,255,0.92);
        }
        body.light-mode .profile-photo-edit-btn {
            border-color: #a7f3d0;
            box-shadow: 0 10px 24px rgba(148,163,184,0.18);
        }
        body.light-mode .profile-name-panel,
        body.light-mode .profile-photo-panel,
        body.light-mode .profile-action-panel { background: #fff; border-color: #e2e8f0; }
        @media (max-width: 700px) {
            #profileModalOverlay { align-items: flex-end; }
            #profileModalOverlay .modal-box { width: 100% !important; max-width: 100%; max-height: 94vh; border-radius: 24px 24px 0 0; }
            .profile-modal-inner { padding: 14px 14px calc(22px + env(safe-area-inset-bottom)); }
            .profile-modal-inner::before {
                content: ""; display: block; width: 44px; height: 4px; border-radius: 8px;
                background: rgba(255,255,255,0.22); margin: 0 auto 14px;
            }
            .profile-modal-top { margin-bottom: 12px; }
            .profile-kicker { font-size: 10px; }
            .profile-hero { padding: 20px 16px 18px; margin-bottom: 14px; gap: 14px; }
            .profile-hero-main { grid-template-columns: 1fr; gap: 14px; }
            .profile-identity-block { flex-direction: column; align-items: center; gap: 14px; text-align: center; }
            .profile-identity-copy { align-items: center; }
            .profile-hero-eyebrow { margin-bottom: 10px; }
            .profile-photo-frame { width: 108px; height: 108px; }
            .profile-photo-preview { width: 108px; height: 108px; box-shadow: var(--profile-photo-shadow, 0 18px 42px rgba(0,0,0,0.4), 0 0 0 7px rgba(0,230,118,0.08)); }
            .profile-photo-edit-btn { width: 32px; height: 32px; right: 5px; bottom: 5px; }
            .profile-display-name { font-size: 20px; max-width: 100%; overflow-wrap: anywhere; }
            .profile-display-email { overflow-wrap: anywhere; }
            .profile-name-line { justify-content: center; }
            .profile-hero-actions,
            .profile-role-row { justify-content: center; }
            .profile-name-action { width: 100%; justify-content: center; }
            .profile-hero-summary { padding: 16px; border-radius: 14px; }
            .profile-hero-summary-head { flex-direction: column; align-items: flex-start; }
            .profile-hero-chip-grid { grid-template-columns: 1fr; }
            .profile-hero-chip.wide { grid-column: auto; }
            .profile-section { padding: 16px; }
            .profile-section-toggle { grid-template-columns: 1fr auto; }
            .profile-section-toggle-meta { grid-column: 1 / -1; text-align: left; margin-top: -2px; }
            .profile-name-editor,
            .profile-photo-editor,
            .profile-action-editor { align-items: flex-end; padding: 12px; }
            .profile-name-panel,
            .profile-photo-panel,
            .profile-action-panel { width: 100%; }
            .profile-password-grid { grid-template-columns: 1fr; }
            .profile-actions-row { flex-direction: column; align-items: stretch; }
            .btn-profile { width: 100%; }
        }

        /* EXTRATO MOBILE LAYOUT FIX */
        @media (max-width: 640px) {
            #extratoModalOverlay.active {
                display: flex !important;
                align-items: stretch !important;
                justify-content: stretch !important;
                padding: 0 !important;
                overflow: hidden !important;
            }
            #extratoModalOverlay > .modal-box {
                width: 100vw !important;
                max-width: 100vw !important;
                height: 100dvh !important;
                max-height: 100dvh !important;
                margin: 0 !important;
                padding: 18px !important;
                border-radius: 0 !important;
                border-left: 0 !important;
                border-right: 0 !important;
                display: flex !important;
                flex-direction: column !important;
                overflow: hidden !important;
                box-sizing: border-box !important;
            }
            #extratoModalOverlay > .modal-box > div:first-child {
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) auto !important;
                gap: 12px !important;
                align-items: start !important;
                margin-bottom: 14px !important;
                flex: 0 0 auto !important;
            }
            #extratoModalOverlay #extratoTitle {
                max-width: 100% !important;
                font-size: 22px !important;
                line-height: 1.1 !important;
                overflow-wrap: anywhere !important;
            }
            #extratoModalOverlay #extratoSubtitle {
                max-width: 100% !important;
                line-height: 1.35 !important;
                overflow-wrap: anywhere !important;
            }
            #extratoModalOverlay #extratoSaldoAtual {
                white-space: nowrap !important;
                font-size: 19px !important;
            }
            #extratoModalOverlay > .modal-box > div:nth-child(2) {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 10px !important;
                margin-bottom: 14px !important;
                align-items: end !important;
                flex: 0 0 auto !important;
                min-width: 0 !important;
            }
            #extratoModalOverlay > .modal-box > div:nth-child(2) > div {
                min-width: 0 !important;
                width: 100% !important;
            }
            #extratoModalOverlay #extratoStart,
            #extratoModalOverlay #extratoEnd {
                display: block !important;
                position: static !important;
                width: 100% !important;
                max-width: 152px !important;
                min-width: 0 !important;
                height: 44px !important;
                min-height: 44px !important;
                margin: 0 !important;
                padding: 10px 10px !important;
                font-size: 15px !important;
                text-align: center !important;
                white-space: nowrap !important;
                box-sizing: border-box !important;
                float: none !important;
            }
            #extratoModalOverlay #extratoStart + input,
            #extratoModalOverlay #extratoEnd + input,
            #extratoModalOverlay .flatpickr-mobile {
                display: none !important;
            }
            #extratoModalOverlay > .modal-box > div:nth-child(2) > button {
                width: 100% !important;
                min-width: 0 !important;
                height: 46px !important;
                margin: 0 !important;
                padding: 0 12px !important;
                border-radius: 8px !important;
                box-sizing: border-box !important;
            }
            #extratoContent {
                flex: 1 1 auto !important;
                min-height: 0 !important;
                overflow-y: auto !important;
                overflow-x: hidden !important;
                padding: 0 0 calc(18px + env(safe-area-inset-bottom)) !important;
                -webkit-overflow-scrolling: touch !important;
            }
            #extratoModalOverlay .extrato-item {
                display: grid !important;
                grid-template-columns: 44px minmax(0, 1fr) !important;
                grid-template-areas:
                    "icon info"
                    "icon value" !important;
                align-items: center !important;
                gap: 6px 12px !important;
                padding: 14px 0 !important;
                width: 100% !important;
                min-width: 0 !important;
                overflow: hidden !important;
            }
            #extratoModalOverlay .extrato-icon {
                grid-area: icon !important;
                width: 44px !important;
                height: 44px !important;
                border-radius: 8px !important;
            }
            #extratoModalOverlay .extrato-info {
                grid-area: info !important;
                min-width: 0 !important;
                width: 100% !important;
            }
            #extratoModalOverlay .extrato-item > div:last-child,
            #extratoModalOverlay .extrato-item > .extrato-val {
                grid-area: value !important;
                min-width: 0 !important;
                width: 100% !important;
                text-align: left !important;
            }
            #extratoModalOverlay .extrato-desc,
            #extratoModalOverlay .extrato-meta,
            #extratoModalOverlay .extrato-val,
            #extratoModalOverlay .extrato-saldo-acum {
                white-space: normal !important;
                overflow: visible !important;
                text-overflow: clip !important;
                overflow-wrap: anywhere !important;
                text-align: left !important;
            }
            #extratoModalOverlay .extrato-val {
                font-size: 15px !important;
            }
            #extratoModalOverlay .extrato-section-header {
                line-height: 1.35 !important;
                overflow-wrap: anywhere !important;
            }
        }
        /* CONTA FORM MOBILE HARD RESET - must stay at the end of the main stylesheet */
        @media (max-width: 640px) {
            #contaFormModalOverlay.active {
                display: block !important;
                position: fixed !important;
                inset: 0 !important;
                width: 100vw !important;
                height: 100dvh !important;
                overflow: hidden !important;
                padding: 0 !important;
            }
            #contaFormModalOverlay .conta-form-modal-box {
                display: block !important;
                position: fixed !important;
                inset: 0 !important;
                width: 100vw !important;
                height: 100dvh !important;
                max-width: none !important;
                max-height: none !important;
                overflow: hidden !important;
                padding: 0 !important;
                margin: 0 !important;
                border: 0 !important;
                border-radius: 0 !important;
            }
            #contaFormModalOverlay .contas-form-panel,
            #contaFormModalOverlay .contas-form-panel.active {
                display: block !important;
                position: relative !important;
                width: 100vw !important;
                height: 100dvh !important;
                min-height: 100dvh !important;
                max-height: none !important;
                overflow-y: auto !important;
                overflow-x: hidden !important;
                padding: 0 18px calc(28px + env(safe-area-inset-bottom)) !important;
                margin: 0 !important;
                box-sizing: border-box !important;
                -webkit-overflow-scrolling: touch !important;
            }
            #contaFormModalOverlay .contas-form-head {
                position: sticky !important;
                top: 0 !important;
                z-index: 20 !important;
                width: calc(100% + 36px) !important;
                margin: 0 -18px 18px !important;
                padding: calc(16px + env(safe-area-inset-top)) 18px 14px !important;
                background: #070707 !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .contas-form-panel > .form-label,
            #contaFormModalOverlay .contas-form-panel > .form-input,
            #contaFormModalOverlay .contas-form-panel > .contas-form-row,
            #contaFormModalOverlay .contas-form-panel > .conta-balance-date-fields,
            #contaFormModalOverlay .contas-form-panel > .conta-dashboard-toggle,
            #contaFormModalOverlay .contas-form-panel > .contas-form-actions {
                position: static !important;
                z-index: auto !important;
                width: 100% !important;
                max-width: 100% !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
                transform: none !important;
                box-sizing: border-box !important;
            }
            #contaFormModalOverlay .contas-form-row,
            #contaFormModalOverlay .conta-balance-date-fields {
                display: block !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                overflow: visible !important;
                clear: both !important;
            }
            #contaFormModalOverlay .contas-form-row .col,
            #contaFormModalOverlay .conta-form-field {
                display: block !important;
                width: 100% !important;
                height: auto !important;
                min-height: 0 !important;
                max-height: none !important;
                overflow: visible !important;
                margin: 0 !important;
                padding: 0 !important;
                clear: both !important;
            }
            #contaFormModalOverlay .form-label {
                display: block !important;
                position: static !important;
                height: auto !important;
                min-height: 0 !important;
                margin: 0 0 7px !important;
                clear: both !important;
            }
            #contaFormModalOverlay .form-input,
            #contaFormModalOverlay .form-select,
            #contaFormModalOverlay #contaDataInicio + input {
                display: block !important;
                position: static !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                height: 48px !important;
                min-height: 48px !important;
                margin: 0 0 14px !important;
                box-sizing: border-box !important;
                float: none !important;
            }
            #contaFormModalOverlay .conta-dashboard-toggle {
                display: block !important;
                height: auto !important;
                min-height: 0 !important;
                margin-top: 4px !important;
                margin-bottom: 18px !important;
                clear: both !important;
                overflow: visible !important;
            }
            #contaFormModalOverlay .contas-form-actions {
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) !important;
                gap: 10px !important;
                height: auto !important;
                min-height: 0 !important;
                margin: 0 !important;
                padding: 0 0 calc(18px + env(safe-area-inset-bottom)) !important;
                border-top: 0 !important;
                background: transparent !important;
                clear: both !important;
            }
            #contaFormModalOverlay .contas-form-actions .btn-submit {
                width: 100% !important;
                min-height: 48px !important;
                margin: 0 !important;
            }
            body.light-mode #contaFormModalOverlay .contas-form-head {
                background: #ffffff !important;
            }
        }
        /* CONTA ICON CUSTOM SELECT */
        #contaFormModalOverlay #contaIcone {
            display: none !important;
        }
        #contaFormModalOverlay #custom-conta-icone-container {
            width: 100% !important;
            min-width: 0 !important;
        }
        #contaFormModalOverlay #custom-conta-icone-container .custom-select-wrapper {
            margin-bottom: 14px !important;
        }