:root { --bg: #0f141a; --side: #161b22; --border: #2d3748; --cyan: #36d399; --blue: #00c3ff; --text: #e2e8f0; --red: #ff416c; --yellow: #f1c40f; --orange: #ff9f43; --green: #22c55e; --btn-dark: #21262d; --font-base: 14px; --font-small: 12px; --font-xs: 11px; }
    * { box-sizing: border-box; }
    body { font-family: Inter, "Segoe UI", Arial, sans-serif; font-size: var(--font-base); background: var(--bg); color: var(--text); margin: 0; display: flex; min-height: 100vh; overflow-x: hidden; }
    body.ui-compact { --font-base: 13px; }
    body.ui-large { --font-base: 15px; }
    body.ui-compact .card,
    body.ui-compact .modal-section { padding: 8px; }
    body.ui-large .btn-dark,
    body.ui-large .btn-cyan,
    body.ui-large input,
    body.ui-large select { min-height: 38px; }
    
    .top-right-actions { position: absolute; top: 15px; right: 20px; display: flex; align-items: center; gap: 15px; z-index: 100; }
    .sys-version { font-size: 11px; color: var(--cyan); font-weight: bold; opacity: 0.8; }

    .login-bg, .lock-bg { position: fixed; inset: 0; background: #0d1117; display: flex; justify-content: center; align-items: center; z-index: 10000; padding: 16px; overflow-y: auto; }
    .lock-bg { z-index: 50000; background: rgba(13, 17, 23, 0.98); display: none; flex-direction: column; }

    /* ── Layout dividido da tela de login ── */
    .login-bg { padding: 0; align-items: stretch; }

    .login-left {
        width: 42%;
        min-height: 100vh;
        background: linear-gradient(160deg, #141c2e 0%, #0f141a 60%, #0d1520 100%);
        border-right: 1px solid rgba(54,211,153,0.12);
        display: flex;
        flex-direction: column;
        padding: 28px 32px 24px;
        position: relative;
        overflow: hidden;
    }
    .login-left .logo-container {
        position: relative;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 16px;
        min-height: unset;
        height: 80px;
    }
    .login-left .logo-container img {
        width: 72px;
        height: 72px;
        object-fit: contain;
        position: relative;
        z-index: 2;
        filter: drop-shadow(0 0 8px rgba(0,255,156,0.3));
    }
    .login-left .jarvis-glow-sphere {
        width: 70px;
        height: 70px;
        position: absolute;
        left: 0;
    }
    .login-left .social-links {
        justify-content: flex-start;
        align-items: center;
        gap: 14px;
        margin-top: 36px;
        padding-top: 0;
        flex-wrap: wrap;
    }
    .login-left::before {
        content: '';
        position: absolute;
        top: -80px; left: -80px;
        width: 320px; height: 320px;
        background: radial-gradient(circle, rgba(0,195,255,0.08) 0%, transparent 70%);
        pointer-events: none;
    }
    .login-left::after {
        content: '';
        position: absolute;
        bottom: -60px; right: -60px;
        width: 260px; height: 260px;
        background: radial-gradient(circle, rgba(54,211,153,0.07) 0%, transparent 70%);
        pointer-events: none;
    }
    .login-left-top-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 14px;
        margin-bottom: 32px;
    }
    .login-left-content {
        flex: 1;
        display: flex;
        flex-direction: column;
    }
    .login-brand-title {
        font-size: 1.72em;
        font-weight: 800;
        letter-spacing: 2px;
        color: var(--cyan);
        margin: 0 0 6px;
        text-shadow: 0 0 20px rgba(54,211,153,0.3);
    }
    .login-brand-sub {
        font-size: 0.95em;
        color: #8b949e;
        margin: 0 0 32px;
    }
    .login-features {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }
    .login-feature-item {
        display: flex;
        align-items: center;
        gap: 13px;
        font-size: 0.96em;
        line-height: 1.35;
        color: #d3dbe6;
    }
    .login-feature-icon {
        font-size: 1.18em;
        width: 32px;
        height: 32px;
        background: rgba(54,211,153,0.08);
        border: 1px solid rgba(54,211,153,0.2);
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }
    .login-left-footer {
        font-size: 0.68em;
        color: #4a5568;
        margin: 0;
        text-align: center;
    }

    .login-right {
        flex: 1;
        background: #f0f4f8;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 32px 24px;
        position: relative;
        min-height: 100vh;
        overflow-y: auto;
    }
    .login-form-box {
        width: 100%;
        max-width: 380px;
    }
    .login-form-title {
        font-size: 1.5em;
        font-weight: 700;
        color: #1e293b;
        margin: 0 0 6px;
        letter-spacing: -0.3px;
    }
    .login-form-sub {
        font-size: 0.82em;
        color: #64748b;
        margin: 0 0 24px;
    }
    .login-input {
        display: block;
        width: 100%;
        background: #ffffff;
        color: #1e293b;
        border: 1.5px solid #cbd5e1;
        padding: 11px 14px;
        border-radius: 10px;
        margin-bottom: 12px;
        font-size: 0.92rem;
        outline: none;
        transition: border-color 0.2s;
        box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    }
    .login-input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(54,211,153,0.12); }
    .login-input::placeholder { color: #94a3b8; }
    .login-btn-enter {
        width: 100%;
        margin-top: 4px;
        padding: 12px !important;
        font-size: 0.92rem !important;
        border-radius: 10px;
        letter-spacing: 0.5px;
    }
    .login-divider {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 16px 0;
        color: #94a3b8;
        font-size: 0.78em;
    }
    .login-divider::before, .login-divider::after {
        content: '';
        flex: 1;
        height: 1px;
        background: #cbd5e1;
    }
    .login-btn-link {
        background: none;
        border: none;
        color: var(--cyan);
        font-size: 0.82em;
        cursor: pointer;
        display: block;
        width: 100%;
        text-align: center;
        padding: 6px;
        margin-bottom: 10px;
        font-weight: bold;
    }
    .login-btn-link:hover { opacity: 0.8; }
    .login-btn-criar {
        width: 100%;
        background: #ffffff !important;
        color: #1e293b !important;
        border: 1.5px solid #cbd5e1 !important;
        border-radius: 10px;
        text-align: center;
        font-size: 0.82em !important;
        padding: 11px !important;
    }
    .login-btn-criar:hover { border-color: var(--cyan) !important; color: var(--cyan) !important; }
    
    .login-card {
        background: var(--side);
        padding: 20px 22px;
        border-radius: 16px;
        border: 1px solid var(--border);
        width: 90%;
        max-width: 300px;
        text-align: center;
        box-shadow: 0 0 30px rgba(0,0,0,0.5);
        position: relative;
    }

    .logo-container {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 10px;
        min-height: 70px;
    }

    .login-card img {
        width: 90px;
        position: relative;
        z-index: 2;
        margin: 0;
        filter: drop-shadow(0 0 8px rgba(0,255,156,0.3));
    }
        
    .jarvis-glow-sphere {
        position: absolute;
        width: 65px;
        height: 65px;
        background: radial-gradient(circle, var(--blue) 0%, rgba(0,195,255,0) 70%);
        border-radius: 50%;
        box-shadow: 0 0 30px rgba(0,195,255,0.5);
        animation: pulseSphere 2s infinite ease-in-out;
        pointer-events: none;
        z-index: 1;
        margin: 0;
    }

    @keyframes pulseSphere { 0%, 100% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(1.08); opacity: 1; } }

    .notification-bell { font-size: 1.6em; cursor: pointer; display: flex; align-items: center; justify-content: center; position: relative; width: 30px; height: 30px; transition: transform 0.16s ease, filter 0.16s ease; }
    .bell-badge { position: absolute; top: -2px; right: -2px; background: var(--red); color: white; border-radius: 50%; padding: 1px 5px; font-size: 10px; font-weight: bold; display: none; border: 1px solid var(--side); }

    .wa-link { color: #25d366; text-decoration: none; font-size: 0.85em; font-weight: bold; display: block; margin-top: 20px; }

    .social-links { display: flex; justify-content: center; gap: 10px; margin-top: 14px; }
    .social-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; color: #fff; text-decoration: none; transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease; opacity: 0.82; }
    .social-btn:hover { opacity: 1; transform: translateY(-2px) scale(1.06); box-shadow: 0 10px 22px rgba(0,0,0,0.22); }
    .social-instagram { background: radial-gradient(circle at 30% 110%, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
    .social-youtube { background: #ff0000; }
    .social-facebook { background: #1877f2; }
    .social-tiktok { background: #010101; border: 1px solid #2d3748; }
    .social-whatsapp { background: #25d366; }
    .sidebar { width: 280px; min-width: 280px; background: var(--side); border-right: 1px solid var(--border); padding: 20px; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow: hidden; }
    .sidebar-menu { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
    .sidebar-footer { flex-shrink: 0; padding-top: 12px; }
    .sidebar-footer > .btn-dark[onclick="logout()"] { margin: 0; position: static; }
    .sidebar img { width: 180px; margin: 10px auto 10px; display: block; }
    h3 { font-size: 0.75em; color: var(--blue); margin: 15px 0 8px; text-transform: uppercase; letter-spacing: 1px; }
    input, select, label { display: block; text-align: left; width: 100%; }
    input, select { background: #0d1117; color: #fff; border: 1px solid var(--border); padding: 9px 10px; border-radius: 8px; margin-bottom: 7px; outline: none; font-size: 0.92rem; }
    label { font-size: 0.72rem; color: var(--blue); margin-bottom: 3px; font-weight: bold; text-transform: uppercase; }
    .btn-cyan { background: #15382e; color: #c9ffea; padding: 9px 10px !important; width: 100%; border: 1px solid rgba(54,211,153,0.72); border-radius: 7px; font-weight: bold; cursor: pointer; text-transform: uppercase; font-size: 0.82rem !important; text-align: center; line-height: 1.2; min-height: 34px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.04); }
    .btn-dark { background: #21262d; color: var(--text); padding: 8px 10px !important; width: 100%; border: 1px solid var(--border); border-radius: 7px; margin-bottom: 5px; text-align: left; cursor: pointer; font-size: 0.82rem !important; line-height: 1.2; min-height: 32px; }
    .btn-filter-active { border-color: var(--cyan) !important; color: var(--cyan) !important; background: #1c222d !important; }
    .main { flex: 1; padding: 18px; overflow-y: visible; display: flex; flex-direction: column; font-size: 1rem; }
    .header-box { background: var(--side); padding: 12px 14px; border-radius: 10px; border-left: 4px solid var(--cyan); margin-bottom: 14px; display: flex; align-items: center; gap: 12px; position: relative; }
    #clock { font-size: 0.82em; color: var(--blue); opacity: 0.9; margin-top: 4px; font-weight: bold; }
    
    .cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 9px; margin-bottom: 14px; }
    .card { background: var(--side); padding: 10px; border-radius: 8px; border: 1px solid var(--border); border-left: 4px solid var(--cyan); transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease; }
    .card h4 { margin: 0; font-size: 0.74rem; opacity: 0.72; color: var(--blue); text-transform: uppercase; }
    .card .val { display: block; margin-top: 4px; font-size: 1.05rem; font-weight: bold; color: var(--cyan); line-height: 1.15; }
    .chart-panel { background:#161b22; border-radius:8px; padding:10px 12px; margin:8px 0 12px; border:1px solid #2d3748; height:150px; position:relative; }
    .chart-panel canvas { display:block; width:100% !important; height:100% !important; }
    .finance-summary { background: linear-gradient(145deg, #161b22 0%, #141a22 100%); border: 1px solid #2d3748; border-radius: 10px; padding: 11px 12px; margin: 8px 0 12px; box-shadow: 0 8px 24px rgba(0,0,0,0.14); }
    .finance-summary-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 7px; }
    .finance-summary-heading h3 { margin: 1px 0 0; color: #e2e8f0; font-size: 0.8rem; letter-spacing: 0.35px; }
    .finance-summary-kicker { display: block; color: #8b949e; font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px; }
    .finance-summary-status { color: var(--blue); background: rgba(52,152,219,0.1); border: 1px solid rgba(52,152,219,0.28); border-radius: 999px; padding: 3px 7px; font-size: 0.62rem; white-space: nowrap; }
    .finance-charts-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(180px, 0.75fr); gap: 10px; align-items: stretch; }
    .finance-chart-box { position: relative; min-width: 0; height: 150px; background: rgba(13,17,23,0.42); border: 1px solid rgba(68,83,104,0.55); border-radius: 8px; padding: 6px 8px; }
    .finance-chart-box canvas { display: block; width: 100% !important; height: 100% !important; }
    .finance-chart-donut { padding: 7px; }
    .finance-mini-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 9px; }
    .finance-mini-card { min-width: 0; background: rgba(28,34,45,0.78); border: 1px solid #2d3748; border-radius: 8px; padding: 8px 10px; position: relative; overflow: hidden; }
    .finance-mini-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: currentColor; }
    .finance-mini-card.is-income { color: var(--green); }
    .finance-mini-card.is-expense { color: var(--red); }
    .finance-mini-card.is-balance { color: var(--blue); }
    .finance-mini-label { display: flex; align-items: center; gap: 6px; color: #cbd5e1; font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.45px; }
    .finance-indicator-name { margin-left: auto; color: #718096; font-size: 0.54rem; font-weight: 600; letter-spacing: 0.25px; }
    .finance-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
    .finance-mini-card strong { display: block; margin-top: 3px; color: currentColor; font-size: 0.94rem; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .finance-mini-card small { display: block; margin-top: 2px; color: #8b949e; font-size: 0.62rem; }
    .header-box .top-right-actions { align-items: flex-end; flex-direction: column; gap: 7px; }
    .weather-dashboard-row { display: flex; justify-content: flex-end; margin: 0; width: 100%; }
    .weather-card { width: 100%; max-width: 320px; border-left-color: var(--blue) !important; padding: 8px 9px !important; background: linear-gradient(145deg, #1b2330 0%, #151c26 100%) !important; }
    .weather-card-main { display: flex; align-items: center; gap: 8px; min-width: 0; }
    .weather-temp { color: var(--cyan); font-size: 1.48rem; font-weight: 900; line-height: 1; min-width: 46px; letter-spacing: 0; text-shadow: 0 0 10px rgba(54, 211, 153, 0.18); }
    .weather-info { min-width: 0; flex: 1; display: grid; gap: 4px; }
    .weather-city-row { display: flex; align-items: center; gap: 5px; min-width: 0; }
    .weather-city-row strong { flex: 1; min-width: 0; color: #f8fafc; font-size: 0.86rem; font-weight: 800; line-height: 1.18; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .weather-info span { color: #cbd5e1; font-size: 0.72rem; font-weight: 600; line-height: 1.18; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .weather-config-btn { width: 18px; height: 18px; flex: 0 0 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; border: 1px solid #405069; background: #212b3a; color: var(--cyan); cursor: pointer; font-size: 0.62rem; padding: 0; }
    .weather-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin-top: 7px; }
    .weather-metrics span { min-width: 0; min-height: 25px; display: flex; align-items: center; justify-content: space-between; gap: 3px; border: 1px solid rgba(83,100,122,0.65); border-radius: 6px; background: rgba(13,17,23,0.4); color: #b6c2d0; padding: 4px 5px; font-size: 0.62rem; font-weight: 600; line-height: 1.12; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .weather-metrics b { color: #f8fafc; font-size: 0.68rem; font-weight: 800; }
    .saldo-banco-box { margin-top: 7px; background: #1c222d; padding: 6px 9px; border-radius: 6px; border: 1px solid var(--blue); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 0.76em; width: 100%; box-sizing: border-box; }
    .saldo-banco-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
    .saldo-eye-btn { background: transparent; border: none; color: var(--cyan); cursor: pointer; font-size: 1.05em; padding: 0 2px; line-height: 1; }
    .saldo-action { cursor: pointer; opacity: 0.85; white-space: nowrap; }
    .saldo-action:hover { opacity: 1; color: var(--cyan); }
    
    .lembrete-item, .agenda-item, .veiculo-item { background: #1c222d; padding: 8px 9px; border-radius: 8px; margin-bottom: 7px; border: 1px solid var(--border); text-align: left; font-size: 0.86em; line-height: 1.25; }
    .lembrete-item.vencido, .agenda-item.cancelado, .veiculo-item.vencido { border-left: 4px solid var(--red); }
    .lembrete-item.hoje, .agenda-item.hoje, .veiculo-item.hoje { border-left: 4px solid var(--orange); }
    .lembrete-item.futuro, .agenda-item.agendado, .veiculo-item.futuro { border-left: 4px solid var(--blue); }
    .agenda-item.concluido { border-left: 4px solid var(--green); }
    .veiculo-item.concluido { border-left: 4px solid var(--green); }
    .lembrete-meta, .agenda-meta, .veiculo-meta { font-size: 0.78em; opacity: 0.75; margin-top: 3px; }
    .recorrente-item { background: #1c222d; padding: 8px 9px; border-radius: 8px; margin-bottom: 7px; border: 1px solid var(--border); font-size: 1rem; line-height: 1.4; transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease; }
    .recorrente-card-principal { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; min-width: 0; }
    .recorrente-card-cabecalho { display: flex; align-items: center; gap: 6px 9px; flex-wrap: wrap; min-width: 0; }
    .recorrente-card-titulo { color: var(--text); font-size: 1rem; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
    .recorrente-card-status { font-size: 0.875rem !important; font-weight: 600; line-height: 1.3; white-space: normal; }
    .recorrente-card-detalhes { display: flex; flex-wrap: wrap; gap: 3px 7px; margin-top: 5px; color: #b8c8d8; font-size: 0.875rem !important; line-height: 1.4; opacity: 1; overflow-wrap: anywhere; }
    .recorrente-card-detalhes span:not(:last-child)::after { content: " ·"; color: #8290a3; }
    .recorrente-card-valor { color: var(--text); font-weight: 700; }
    .recorrente-card-observacao { display: block; margin-top: 5px; color: #b8c8d8; font-size: 0.875rem !important; line-height: 1.4; opacity: 1; overflow-wrap: anywhere; }
    .recorrente-card-pago { background: rgba(34,197,94,0.15); color: var(--green); border: 1px solid var(--green); border-radius: 5px; font-size: 0.75rem; font-weight: 700; padding: 3px 7px; letter-spacing: 0.3px; }
    .recorrente-card-botoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 7px; }
    .btn-mini.recorrente-card-btn { width: 100%; margin: 0; min-height: 38px; font-size: 0.875rem !important; font-weight: 700; white-space: normal; }
    .recorrente-card-btn-pago { background: var(--modal-success-soft); color: var(--green); border-color: rgba(34,197,94,0.5); }
    @media (max-width: 620px) {
        .recorrente-card-titulo { font-size: 0.9375rem; }
        .recorrente-card-status,
        .recorrente-card-detalhes,
        .recorrente-card-observacao { font-size: 0.8125rem !important; }
        .recorrente-card-botoes { grid-template-columns: 1fr; }
        .btn-mini.recorrente-card-btn { font-size: 0.875rem !important; }
    }
    .recorrente-header { display: flex; justify-content: space-between; font-size: 0.78em; color: #8b949e; margin-bottom: 4px; gap: 8px; }
    .badge { font-size: 0.68em; padding: 2px 5px; border-radius: 4px; font-weight: bold; }
    .badge-pj { border: 1px solid var(--yellow); color: var(--yellow); }
    .badge-pf { border: 1px solid var(--blue); color: var(--blue); }
    .badge-entrada { border: 1px solid var(--green); color: var(--green); }
    .btn-mini { background: #15382e; color: #c9ffea; border: 1px solid rgba(34,197,94,0.65); padding: 3px 7px; border-radius: 4px; font-size: 0.7em; font-weight: bold; cursor: pointer; min-height: 24px; }
    #lista-agenda-painel,
    #lista-lembretes-painel,
    #lista-veiculos-painel,
    #lista-previsao-recorrentes { max-height: 286px !important; overflow-y: auto !important; padding: 2px 4px 2px 1px; scrollbar-gutter: stable; }
    .dashboard-mini-card { height: 174px; min-height: 174px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto minmax(38px, auto) auto auto; gap: 6px 10px; align-content: start; padding: 10px 11px !important; margin-bottom: 8px !important; border-radius: 10px !important; background: linear-gradient(145deg, #1b2330 0%, #171e28 100%) !important; border: 1px solid #354255 !important; border-left-width: 3px !important; box-shadow: 0 5px 14px rgba(0,0,0,0.14); overflow: hidden; }
    .dashboard-mini-card:last-child { margin-bottom: 1px !important; }
    .dashboard-mini-top { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 8px; min-width: 0; }
    .dashboard-mini-date { color: #aeb9c8; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.25px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dashboard-mini-center { grid-column: 1 / -1; min-width: 0; }
    .dashboard-mini-title { display: -webkit-box; color: #f4f7fb; font-size: 0.86rem; line-height: 1.2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .dashboard-mini-description { display: -webkit-box; margin-top: 3px; color: #93a1b3; font-size: 0.7rem; line-height: 1.25; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .dashboard-mini-value { grid-column: 1 / -1; grid-row: 3; align-self: center; color: var(--cyan); font-size: 1.05rem; font-weight: 800; letter-spacing: -0.2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dashboard-mini-value.is-text { font-size: 0.87rem; letter-spacing: 0; }
    .dashboard-mini-footer { grid-column: 1; grid-row: 4; display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; }
    .dashboard-mini-days { font-size: 0.66rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dashboard-mini-badge { display: inline-flex; align-items: center; max-width: 118px; min-height: 20px; padding: 2px 7px; border: 1px solid #53647a; border-radius: 999px; background: #243044; color: #cbd5e1; font-size: 0.58rem; font-weight: 700; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dashboard-mini-card .badge { border-radius: 999px; background: rgba(13,17,23,0.48); padding: 3px 8px; font-size: 0.62rem; }
    .dashboard-mini-action { grid-column: 2; grid-row: 4; align-self: end; min-width: 82px; min-height: 29px !important; margin: 0 !important; border-radius: 7px; text-align: center; white-space: nowrap; }
    .dashboard-mini-action.is-complete { display: inline-flex; align-items: center; justify-content: center; background: rgba(34,197,94,0.1); border: 1px solid rgba(34,197,94,0.38); color: var(--green); font-size: 0.62rem; font-weight: 700; padding: 5px 7px; }
    .dashboard-mini-card.is-paid { opacity: 0.72; }
    .dashboard-mini-card.is-paid .dashboard-mini-title { text-decoration: line-through; }
    #painelAgenda-grid > .card { min-width: 0; transition: grid-column 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
    #painelAgenda-grid > .card.painel-dashboard-expandido { grid-column: span 2; box-shadow: 0 10px 28px rgba(0,0,0,0.22); }
    .painel-dashboard-expandido > div[id^="painel"] { animation: painelDashboardAbrir 0.22s ease both; }
    .painel-dashboard-expandido #lista-agenda-painel,
    .painel-dashboard-expandido #lista-lembretes-painel,
    .painel-dashboard-expandido #lista-veiculos-painel,
    .painel-dashboard-expandido #lista-previsao-recorrentes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-height: 382px !important; padding: 3px 7px 3px 2px; }
    .painel-dashboard-expandido .dashboard-mini-card { height: 184px; min-height: 184px; margin-bottom: 0 !important; }
    .dashboard-mini-badges { display: inline-flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 5px; min-width: 0; }
    .dashboard-status-badge { display: inline-flex; align-items: center; min-height: 21px; padding: 3px 7px; border: 1px solid #53647a; border-radius: 999px; background: #243044; color: #d7e0ec; font-size: 0.58rem; font-weight: 800; line-height: 1; white-space: nowrap; }
    .dashboard-status-badge.is-today,
    .dashboard-status-badge.is-medium { color: #ffd58a; border-color: rgba(255,159,67,0.55); background: rgba(255,159,67,0.12); }
    .dashboard-status-badge.is-tomorrow { color: #ffe8a3; border-color: rgba(241,196,15,0.5); background: rgba(241,196,15,0.1); }
    .dashboard-status-badge.is-future,
    .dashboard-status-badge.is-low { color: #8cddff; border-color: rgba(0,195,255,0.45); background: rgba(0,195,255,0.1); }
    .dashboard-status-badge.is-danger,
    .dashboard-status-badge.is-high { color: #ff9bb1; border-color: rgba(255,65,108,0.55); background: rgba(255,65,108,0.12); }
    .dashboard-status-badge.is-paid { color: #8ff0b0; border-color: rgba(34,197,94,0.5); background: rgba(34,197,94,0.1); }
    .dashboard-status-badge.is-pending { color: #cbd5e1; border-color: #53647a; background: #253246; }
    .dashboard-status-badge.is-vehicle { color: #91ffe0; border-color: rgba(54,211,153,0.5); background: rgba(54,211,153,0.1); }
    .dashboard-mini-footer { flex-wrap: wrap; align-content: center; }
    .dashboard-mini-badge { max-width: none; }
    .dashboard-mini-value { max-width: 100%; overflow: visible; text-overflow: clip; font-size: clamp(0.94rem, 1.35vw, 1.15rem); }
    .dashboard-empty-state { grid-column: 1 / -1; min-height: 116px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border: 1px dashed #405069; border-radius: 10px; background: rgba(22,27,34,0.58); color: #8290a3; text-align: center; }
    .dashboard-empty-state span { font-size: 1.35rem; filter: grayscale(0.35); opacity: 0.8; }
    .dashboard-empty-state strong { color: #aeb9c8; font-size: 0.74rem; font-weight: 700; }
    #lista-agenda-painel,
    #lista-lembretes-painel,
    #lista-veiculos-painel,
    #lista-previsao-recorrentes { scrollbar-width: thin; scrollbar-color: #53647a #171e28; }
    #lista-agenda-painel::-webkit-scrollbar,
    #lista-lembretes-painel::-webkit-scrollbar,
    #lista-veiculos-painel::-webkit-scrollbar,
    #lista-previsao-recorrentes::-webkit-scrollbar { width: 5px; }
    #lista-agenda-painel::-webkit-scrollbar-track,
    #lista-lembretes-painel::-webkit-scrollbar-track,
    #lista-veiculos-painel::-webkit-scrollbar-track,
    #lista-previsao-recorrentes::-webkit-scrollbar-track { background: #171e28; border-radius: 999px; }
    #lista-agenda-painel::-webkit-scrollbar-thumb,
    #lista-lembretes-painel::-webkit-scrollbar-thumb,
    #lista-veiculos-painel::-webkit-scrollbar-thumb,
    #lista-previsao-recorrentes::-webkit-scrollbar-thumb { background: #53647a; border-radius: 999px; }
    @keyframes painelDashboardAbrir {
        from { opacity: 0; transform: translateY(-4px); }
        to { opacity: 1; transform: translateY(0); }
    }
    @media (hover: hover) and (pointer: fine) {
        .dashboard-mini-card:hover { transform: translateY(-2px); border-color: #60738c !important; box-shadow: 0 8px 20px rgba(0,0,0,0.2); }
    }
    @media (max-width: 1100px) and (min-width: 769px) {
        #painelAgenda-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
        #painelAgenda-grid > .card.painel-dashboard-expandido { grid-column: 1 / -1; }
    }
    .notificacoes-resumo { background: #161b22; border: 1px solid var(--border); border-radius: 8px; margin-bottom: 9px; padding: 9px 10px; text-align: left; }
    .notificacoes-resumo strong { color: var(--cyan); display: block; font-size: 0.82em; margin-bottom: 7px; text-transform: uppercase; }
    .notificacoes-resumo div { display: flex; flex-wrap: wrap; gap: 5px; }
    .notificacoes-resumo span { border: 1px solid var(--border); border-radius: 999px; color: #aeb8c4; font-size: 0.68em; font-weight: bold; padding: 2px 7px; }
    .notificacoes-tabs { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px !important; margin-top: 8px; }
    .notificacoes-tabs button { background: #21262d; border: 1px solid var(--border); border-radius: 8px; color: #aeb8c4; cursor: pointer; font-size: 0.72em; font-weight: bold; min-height: 32px; padding: 7px 8px; transition: transform 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease; }
    .notificacoes-tabs button.is-active { background: #102018; border-color: var(--cyan); color: var(--cyan); }
    .notificacoes-tabs button.is-danger { color: #ff9aa5; }
    .notificacoes-tabs button.is-danger.is-active { background: #2a151a; border-color: var(--red); color: var(--red); }
    .notificacoes-lista { display: grid; gap: 8px; max-height: min(36vh, 330px); overflow-y: auto; padding-right: 4px; text-align: left; animation: uiContentEnter 0.2s ease both; }
    .notificacoes-grupo { display: grid; gap: 8px; }
    .notificacoes-grupo-titulo { color: var(--cyan); font-size: 0.76em; font-weight: bold; letter-spacing: 0.04em; margin: 4px 0 0; text-transform: uppercase; }
    .notificacao-card { background: #1c222d; border: 1px solid var(--border); border-left: 3px solid var(--blue); border-radius: 8px; padding: 9px 10px; transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease; }
    .notificacao-card.atrasado { border-left-color: var(--red); }
    .notificacao-card.cliente_recorrente { border-left-color: var(--green); }
    .notificacao-card.cliente_recorrente.atrasado { border-left-color: var(--red); }
    .notificacao-card.veiculo { border-left-color: var(--cyan); }
    .notificacao-card strong { display: block; color: var(--text); font-size: 0.86em; line-height: 1.25; margin-bottom: 4px; }
    .notificacao-card p { color: #b7c2d0; font-size: 0.78em; line-height: 1.35; margin: 0; }
    .notificacao-meta { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; }
    .notificacao-meta span { border: 1px solid var(--border); border-radius: 999px; color: #8b949e; font-size: 0.68em; font-weight: bold; padding: 2px 7px; }
    .notificacao-action { width: 100%; margin-top: 2px; }
    .notificacoes-footer { align-items: center; display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 10px; text-align: left; }
    .notificacoes-footer > span { color: #8b949e; font-size: 0.72em; font-weight: bold; text-transform: uppercase; }
    .notificacoes-footer > div { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
    .notificacoes-footer button { margin: 0 !important; width: auto; }
    .pagamento-cliente-form select[size] { min-height: 104px; max-height: 190px; overflow-y: auto; }
    .pagamento-cliente-resumo { display: grid; gap: 5px; color: #b7c2d0; font-size: 0.82em; margin-bottom: 9px; }
    .pagamento-cliente-note,
    .pagamento-cliente-help { color: #8b949e; font-size: 0.76em; line-height: 1.35; margin: 0 0 8px; }
    .pagamento-cliente-help { margin: -2px 0 0; }
    .pagamento-tipo-opcoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 5px 0 10px; }
    .pagamento-tipo-opcao { display: flex; align-items: center; gap: 7px; width: auto; min-height: 34px; margin: 0; padding: 7px 9px; border: 1px solid var(--border); border-radius: 8px; background: rgba(13,17,23,0.34); color: var(--text); cursor: pointer; text-transform: none; }
    .pagamento-tipo-opcao input { width: auto; margin: 0; accent-color: var(--blue); }
    .pagamento-tipo-opcao:has(input:checked) { border-color: var(--blue); background: rgba(111,159,200,0.12); }
    .pagamento-outro-dizimo { margin: 0 0 10px; padding: 9px 10px; border: 1px solid rgba(198,161,91,0.35); border-radius: 8px; background: rgba(198,161,91,0.07); }
    .pagamento-outro-dizimo .pagamento-tipo-opcoes { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 0; }

    .table-container { background: var(--side); border-radius: 12px; border: 1px solid var(--border); overflow-x: auto; }
    table { width: 100%; border-collapse: collapse; text-align: center; min-width: 650px; }
    th { padding: 10px; color: var(--blue); border-bottom: 1px solid var(--border); background: #1c222d; font-size: 0.76em; text-transform: uppercase; }
    td { padding: 10px; border-bottom: 1px solid var(--border); font-size: 0.88em; }
    td:last-child { white-space: nowrap; }
    .table-actions { display: inline-flex; align-items: center; justify-content: center; flex-wrap: nowrap; gap: 6px; min-width: max-content; white-space: nowrap; }
    .table-action-btn { width: 32px; height: 32px; min-width: 32px; min-height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 8px; background: rgba(33,38,45,0.86); color: var(--text); cursor: pointer; font-size: 1rem; line-height: 1; padding: 0; text-decoration: none; transition: transform 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease; }
    .table-action-btn:hover { transform: translateY(-1px); }
    .table-action-btn[onclick*="mostrarReciboLancamento"] { background: rgba(123, 97, 255, 0.14); border-color: rgba(123, 97, 255, 0.48); color: #b9adff; }
    .table-action-btn[onclick*="abrirModal('editarReg'"] { background: rgba(198, 161, 91, 0.12); border-color: rgba(198, 161, 91, 0.48); color: var(--orange); }
    .table-action-btn.is-delete { background: rgba(173, 100, 112, 0.12); border-color: rgba(173, 100, 112, 0.48); color: var(--red); }
    td:last-child > span[onclick] { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; min-height: 30px; vertical-align: middle; }
    td:last-child > span[onclick] + span[onclick] { margin-left: 7px; }
    @media (max-width: 420px) {
        .table-actions { flex-wrap: nowrap; gap: 5px; white-space: nowrap; }
        .table-action-btn { width: 30px; height: 30px; min-width: 30px; min-height: 30px; }
        td:last-child { white-space: nowrap; }
    }
    .modal { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.85); z-index: 20000; justify-content: center; align-items: center; padding: 12px; backdrop-filter: blur(5px); animation: uiOverlayIn 0.2s ease both; }
    .modal-content { background: var(--side); padding: 18px 22px; border-radius: 14px; border: 1px solid var(--border); width: 100%; max-width: 420px; text-align: center; max-height: 94vh; overflow-y: auto; animation: uiModalIn 0.22s cubic-bezier(.2,.8,.2,1) both; transform-origin: center; }
    .modal-content > button[onclick="fecharModal()"]:not(.profile-scroll-btn) {
        position: sticky;
        bottom: 0;
        z-index: 3;
        box-shadow: 0 -10px 18px rgba(22, 27, 34, 0.92);
    }
    .profile-scroll-btn {
        position: static !important;
        box-shadow: none !important;
    }
    .profile-fixed-actions {
        position: sticky;
        bottom: -18px;
        z-index: 4;
        display: grid;
        gap: 8px;
        margin: 12px -4px -18px;
        padding: 10px 4px 14px;
        background: linear-gradient(180deg, rgba(22, 27, 34, 0.78), var(--side) 30%);
        box-shadow: 0 -12px 20px rgba(22, 27, 34, 0.94);
    }
    .profile-fixed-actions button {
        margin: 0 !important;
    }
    .modal-content h3 { font-size: 0.92em; margin: 0 0 10px; letter-spacing: 0.5px; }
    .modal-content label { font-size: 0.66em !important; margin: 7px 0 3px !important; line-height: 1.15; }
    .modal-content input,
    .modal-content select { padding: 7px 10px !important; min-height: 34px; margin-bottom: 6px !important; font-size: 0.86em !important; border-radius: 7px; }
    .modal-content button { font-size: 0.76em !important; padding: 7px 9px !important; min-height: 30px; line-height: 1.2; }
    .modal-section { text-align: left; background: #1c222d; padding: 12px; border-radius: 10px; border: 1px solid var(--border); margin-bottom: 12px; }
    .modal-section-title { color: var(--cyan); font-size: 0.72em; font-weight: bold; text-transform: uppercase; margin: 0 0 8px; letter-spacing: 0.5px; }
    .modal-content:has(.recibo-pagamento-section) {
        max-width: min(720px, calc(100vw - 24px));
        text-align: left;
    }
    .modal-content:has(.recibo-pagamento-section) h3 {
        text-align: center;
        margin-bottom: 14px;
    }
    .recibo-pagamento-section {
        padding: 14px !important;
    }
    .recibo-pagamento-textarea {
        display: block;
        width: 100%;
        min-height: 168px;
        max-height: 48vh;
        resize: vertical;
        overflow: auto;
        padding: 14px 15px !important;
        margin: 0 !important;
        border-radius: 10px;
        font-size: 1rem !important;
        line-height: 1.55 !important;
        white-space: pre-wrap;
    }
    .recibo-pagamento-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 9px;
        margin-top: 12px !important;
        align-items: stretch;
    }
    .recibo-pagamento-actions button {
        width: 100%;
        min-height: 38px !important;
        margin: 0 !important;
        text-align: center;
        justify-content: center;
        white-space: normal;
    }
    .cobranca-cliente-section {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        min-width: 0;
        overflow: hidden;
    }
    .cobranca-cliente-textarea {
        box-sizing: border-box;
        display: block;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 210px;
        padding: 14px 15px !important;
        line-height: 1.55 !important;
        overflow-x: hidden;
        overflow-y: auto;
        resize: vertical;
        white-space: pre-wrap;
        overflow-wrap: break-word;
    }
    .cobranca-cliente-actions {
        min-width: 0;
    }
    @media (max-width: 640px) {
        .recibo-pagamento-actions {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }
    @media (max-width: 380px) {
        .recibo-pagamento-actions {
            grid-template-columns: 1fr;
        }
    }
    .clientes-rec-layout { display: grid; gap: 12px; }
    .clientes-rec-lista { max-height: 260px; overflow-y: auto; padding-right: 4px; }
    .clientes-rec-card { background: #161b22; border: 1px solid var(--border); border-left: 3px solid var(--cyan); border-radius: 8px; padding: 9px 10px; margin-bottom: 8px; text-align: left; }
    .clientes-rec-card b { display: block; color: var(--cyan); font-size: 0.86em; margin-bottom: 4px; }
    .clientes-rec-card span { display: block; opacity: 0.78; font-size: 0.76em; line-height: 1.35; }
    .clientes-header { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
    .clientes-count { color: #8b949e; font-size: 0.68em; font-weight: bold; text-transform: uppercase; white-space: nowrap; }
    .clientes-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0 0 10px; }
    .clientes-tab-btn { background: #21262d; border: 1px solid var(--border); border-radius: 7px; color: #8b949e; cursor: pointer; font-size: 0.68em !important; font-weight: bold; min-height: 34px !important; overflow-wrap: anywhere; padding: 6px 5px !important; text-align: center; text-transform: uppercase; width: 100%; }
    .clientes-tab-btn.is-active { background: #102018; border-color: var(--cyan); color: var(--cyan); }
    .clientes-tab-section { display: none; }
    .clientes-tab-section.is-active { display: block; }
    .clientes-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
    .clientes-form-full { grid-column: 1 / -1; }
    .clientes-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; margin-bottom: 10px; }
    .clientes-lista { max-height: 300px; overflow-y: auto; overflow-x: hidden; padding-right: 4px; }
    .cliente-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; background: #161b22; border: 1px solid var(--border); border-left: 3px solid var(--blue); border-radius: 8px; padding: 10px 11px; margin-bottom: 8px; }
    .cliente-card > div { min-width: 0; }
    .cliente-card.recorrente { border-left-color: var(--cyan); }
    .cliente-name { color: #f0f6fc; font-size: 0.92em; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
    .cliente-meta { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; min-width: 0; }
    .cliente-pill { border: 1px solid var(--border); border-radius: 7px; color: #aeb8c4; font-size: 0.72em; font-weight: 600; line-height: 1.25; max-width: 100%; overflow-wrap: anywhere; padding: 3px 7px; }
    .cliente-pill.recorrente { border-color: var(--cyan); color: var(--cyan); }
    .cliente-actions { display: flex; gap: 8px; align-items: center; }
    .cliente-action { background: #21262d; border: 1px solid var(--border); border-radius: 6px; color: var(--text); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; font-size: 0.86em; padding: 0 !important; min-height: 28px !important; }
    .cliente-action.cobranca-ia { background: rgba(123, 97, 255, 0.14); border-color: rgba(123, 97, 255, 0.48); color: #b9adff; }
    .cliente-action.delete { color: var(--red); }
    .categoria-resumo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 9px; }
    .categoria-resumo span { background: #161b22; border: 1px solid var(--border); border-radius: 7px; color: #aeb8c4; font-size: 0.72em; font-weight: bold; padding: 7px 8px; text-align: center; text-transform: uppercase; }
    .categoria-sugestoes { display: flex; flex-wrap: wrap; gap: 6px; }
    .categoria-sugestoes button { background: #102018; border: 1px solid rgba(0,255,156,0.35); border-radius: 7px; color: var(--cyan); cursor: pointer; font-size: 0.72em; font-weight: bold; min-height: 28px; padding: 5px 8px; width: auto; }
    .categoria-lista { max-height: 270px; overflow-y: auto; padding-right: 4px; text-align: left; }
    .categoria-row-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; background: #161b22; border: 1px solid var(--border); border-left: 3px solid var(--cyan); border-radius: 8px; padding: 9px 10px; margin-bottom: 8px; }
    .categoria-nome { color: var(--text); display: block; font-size: 0.86em; font-weight: bold; line-height: 1.25; overflow-wrap: anywhere; }
    .categoria-meta { color: #8b949e; display: block; font-size: 0.7em; line-height: 1.35; margin-top: 4px; }
    .categoria-actions { display: flex; gap: 6px; align-items: center; }
    .categoria-empty { color: #8b949e; font-size: 0.78em; }
    .plano-form-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; margin-bottom: 10px; }
    .plano-form-row input,
    .plano-form-row button { margin: 0 !important; }
    .planos-lista { max-height: 230px; overflow-y: auto; padding-right: 4px; }
    .plano-card { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; background: #161b22; border: 1px solid var(--border); border-left: 3px solid var(--cyan); border-radius: 8px; padding: 9px 10px; margin-bottom: 8px; }
    .plano-card span { color: var(--text); font-size: 0.84em; font-weight: bold; line-height: 1.25; overflow-wrap: anywhere; }
    .empty-state { color: #8b949e; font-size: 0.78em; margin: 12px 0; text-align: center; }
    .cliente-link-section { background: #102018; border-color: rgba(0,255,156,0.35); }
    .cliente-link-help { color: #8b949e; font-size: 0.78em; line-height: 1.35; margin: 0 0 8px; }
    .solicitacoes-lista { max-height: 190px; overflow-y: auto; padding-right: 4px; }
    .solicitacao-card { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; background: #161b22; border: 1px solid var(--border); border-left: 3px solid var(--yellow); border-radius: 8px; padding: 9px 10px; margin-bottom: 8px; }
    .solicitacao-card b { color: var(--cyan); display: block; font-size: 0.84em; margin-bottom: 4px; }
    .solicitacao-card span { color: #8b949e; display: block; font-size: 0.72em; line-height: 1.35; }
    .solicitacao-actions { display: flex; gap: 6px; align-items: center; }
    .btn-mini-red { background: var(--red); color: #fff; }
    .clientes-modal-content { max-width: 460px; padding: 14px 18px; }
    .clientes-modal-content .modal-section { padding: 9px 10px; margin-bottom: 9px; }
    .clientes-modal-content .clientes-header { margin-bottom: 7px; }
    .clientes-modal-content label { margin-top: 5px !important; }
    .clientes-modal-content input,
    .clientes-modal-content select { min-height: 30px; padding: 6px 9px !important; margin-bottom: 4px !important; font-size: 0.82em !important; }
    .clientes-modal-content .clientes-lista { max-height: 250px; }
    .cliente-form-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; margin-top: 8px; }
    .cliente-form-actions .btn-cyan,
    .cliente-form-actions .btn-dark { margin: 0 !important; }
    .cliente-form-actions .btn-dark { text-align: center; }
    .duplicidade-modal { display: grid; gap: 10px; }
    .duplicidade-modal h3 { margin-bottom: 0; }
    .duplicidade-subtitle { color: #8b949e; font-size: 0.78em; line-height: 1.35; margin: 0; }
    .duplicidade-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .duplicidade-cliente-card { background: #161b22; border: 1px solid var(--border); border-radius: 8px; display: grid; gap: 8px; min-width: 0; padding: 10px; text-align: left; }
    .duplicidade-card-top { align-items: center; display: flex; gap: 8px; justify-content: space-between; color: var(--cyan); font-size: 0.72em; font-weight: 800; text-transform: uppercase; }
    .duplicidade-card-top > div { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }
    .duplicidade-badge { border: 1px solid rgba(34,197,94,0.45); border-radius: 999px; color: var(--green); font-size: 0.66em; font-weight: 800; line-height: 1; padding: 3px 6px; text-transform: uppercase; white-space: nowrap; }
    .duplicidade-badge.is-warning { border-color: rgba(210,153,34,0.55); color: var(--yellow); }
    .duplicidade-nome { color: var(--text); display: block; font-size: 0.9em; line-height: 1.25; overflow-wrap: anywhere; }
    .duplicidade-info-grid { display: grid; gap: 6px; }
    .duplicidade-info-grid span { border-top: 1px solid rgba(139,148,158,0.16); color: #c0cad6; display: grid; gap: 2px; font-size: 0.76em; line-height: 1.25; min-width: 0; padding-top: 6px; }
    .duplicidade-info-grid b { color: #8b949e; font-size: 0.76em; text-transform: uppercase; }
    .duplicidade-actions { display: grid; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .duplicidade-btn { border: 1px solid var(--border); border-radius: 7px; cursor: pointer; font-size: 0.76em; font-weight: 800; line-height: 1; margin: 0 !important; min-height: 30px; padding: 8px 10px; text-align: center; white-space: nowrap; width: 100%; }
    .duplicidade-btn.is-edit { background: #202a36; border-color: #405069; color: #cbd5e1; }
    .duplicidade-btn.is-delete { background: #341b1f; border-color: rgba(248,113,113,0.45); color: #f8b4b4; }
    .duplicidade-btn.is-keep { background: #132a3a; border-color: rgba(88,166,255,0.45); color: #9ed0ff; }
    .duplicidade-btn.is-keep-both { background: #10251b; border-color: rgba(34,197,94,0.42); color: #8ee6b2; grid-column: 1 / -1; }
    .duplicidade-btn.is-cancel { background: #21262d; color: #aeb8c4; grid-column: 1 / -1; }
    .duplicidade-check-section { margin-bottom: 9px !important; padding: 8px 9px !important; }
    .duplicidade-check-head { align-items: center; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-bottom: 6px; text-align: left; }
    .duplicidade-check-head span { color: #b7c2d0; font-size: 0.76em; font-weight: 600; min-width: 0; }
    .duplicidade-resumo { align-items: start; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; text-align: left; }
    .duplicidade-resumo.is-empty { color: #8b949e; display: block; font-size: 0.76em; }
    .duplicidade-resumo ul { color: #c0cad6; display: grid; gap: 3px; font-size: 0.76em; line-height: 1.3; list-style-position: inside; margin: 0; min-width: 0; padding: 0; }
    .duplicidade-resumo li { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .duplicidade-compact-btn { background: #21262d; border: 1px solid var(--border); border-radius: 7px; color: #cbd5e1; cursor: pointer; font-size: 0.72em !important; font-weight: 600; line-height: 1; margin: 0 !important; min-height: 26px !important; padding: 6px 9px !important; text-align: center; white-space: nowrap; width: auto; }
    .cliente-recorrente-fields.is-hidden { display: none; }
    .adm-modal-content { max-width: 720px; }
    .adm-summary-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; margin-bottom: 12px; text-align: center; }
    .adm-summary-card { background: #0d1117; border: 1px solid var(--border); border-radius: 8px; padding: 8px 6px; }
    .adm-summary-card strong { display: block; font-size: 1.35em; line-height: 1.1; }
    .adm-summary-card span { display: block; font-size: 0.66em; opacity: 0.72; text-transform: uppercase; margin-top: 3px; }
    .adm-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-bottom: 10px; }
    .adm-filter-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
    .adm-filter-row button { width: auto; margin: 0; text-align: center; }
    .adm-user-list { max-height: 430px; overflow-y: auto; padding-right: 4px; }
    .adm-user-row { text-align: left; border: 1px solid var(--border); border-left: 4px solid var(--cyan); background: #161b22; border-radius: 8px; padding: 10px; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; margin-bottom: 8px; }
    .adm-user-row.is-blocked { opacity: 0.58; border-left-color: var(--red); }
    .adm-user-name { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-weight: bold; }
    .adm-user-meta { opacity: 0.64; display: block; margin-top: 3px; font-size: 0.78em; line-height: 1.35; }
    .adm-user-pills { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
    .adm-pill { border: 1px solid var(--border); border-radius: 999px; padding: 2px 6px; font-size: 0.66em; font-weight: bold; color: #8b949e; }
    .adm-actions { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
    .adm-icon-btn { background: #21262d; border: 1px solid var(--border); border-radius: 6px; color: var(--text); cursor: pointer; width: 30px; height: 30px; padding: 0 !important; min-height: 30px !important; }
    .adm-renew-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 8px; }
    .adm-renew-grid button { margin: 0; text-align: center; }
    .ia-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 8px 0 12px; }
    .ia-summary div { background: #0d1117; border: 1px solid var(--border); border-radius: 8px; padding: 8px; text-align: left; }
    .ia-summary span { color: #8b949e; display: block; font-size: 0.62em; font-weight: bold; text-transform: uppercase; }
    .ia-summary strong { color: var(--cyan); display: block; font-size: 0.82em; margin-top: 3px; }
    .ia-result-list { max-height: 420px; overflow-y: auto; margin-top: 8px; padding-right: 4px; }
    .ia-card { border-left: 4px solid var(--cyan); border-radius: 8px; margin-bottom: 9px; padding: 10px 11px; text-align: left; }
    .ia-card-head { align-items: center; display: flex; gap: 6px; font-size: 0.72em; margin-bottom: 5px; text-transform: uppercase; }
    .ia-card-text { font-size: 0.86em; line-height: 1.42; }
    
    /* Linha de edição interna nos modais gerenciáveis */
    .edit-inline-container { display: flex; flex-direction: column; gap: 8px; background: #0d1117; padding: 10px; border-radius: 8px; border: 1px solid var(--border); margin: 5px 0; width: 100%; }
    .edit-inline-btns { display: flex; gap: 6px; }
    .btn-action-small { padding: 5px 9px; border-radius: 6px; font-size: 0.74em; font-weight: bold; border: none; cursor: pointer; text-transform: uppercase; }

    .alert-box { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.9); z-index: 30000; justify-content: center; align-items: center; padding: 20px; animation: uiOverlayIn 0.2s ease both; }
    .alert-content { background: #1c222d; padding: 25px; border-radius: 15px; border: 2px solid var(--cyan); width: 100%; max-width: 320px; text-align: center; animation: uiModalIn 0.22s cubic-bezier(.2,.8,.2,1) both; }
    .alert-box[data-kind="success"] .alert-content { border-color: var(--green); }
    .alert-box[data-kind="warning"] .alert-content { border-color: var(--yellow); }
    .alert-box[data-kind="error"] .alert-content { border-color: var(--red); }
    .tag-saida { color: var(--red); font-weight: bold; font-size: 0.7em; border: 1px solid var(--red); padding: 1px 4px; border-radius: 4px; margin-right: 4px; }
    .tag-conta { color: var(--blue); font-weight: bold; font-size: 0.7em; border: 1px solid var(--blue); padding: 1px 4px; border-radius: 4px; margin-right: 4px; }
    .dashboard-parcela-paga { display: inline-block; margin-top: 2px; color: var(--blue); font-size: 0.72em; font-style: normal; font-weight: 600; line-height: 1.2; white-space: nowrap; }
    .tag-transferencia { color: var(--cyan); font-weight: bold; font-size: 0.7em; border: 1px solid var(--cyan); padding: 1px 4px; border-radius: 4px; margin-right: 4px; }
    .install-banner { margin-top: 10px; background: rgba(0, 255, 156, 0.08); border: 1px solid rgba(0, 255, 156, 0.42); border-radius: 10px; padding: 9px 10px; align-items: center; justify-content: space-between; gap: 10px; color: #e6edf3; max-width: 560px; }
    .install-banner strong { display: block; color: var(--cyan); font-size: 0.82rem; line-height: 1.2; }
    .install-banner span { display: block; color: #8b949e; font-size: 0.72rem; line-height: 1.3; margin-top: 2px; }
    .install-banner-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
    .install-banner button { border: none; cursor: pointer; font-weight: bold; border-radius: 7px; min-height: 30px; }
    #btnInstallApp { background: var(--cyan); color: #000; padding: 6px 10px; font-size: 0.76rem; }
    .install-dismiss { background: #21262d; color: #8b949e; width: 30px; padding: 0; font-size: 1rem; }
    #main .header-box > span { font-size: 1.9em !important; }
    #saudacao { font-size: 1.3em; line-height: 1.15; }
    #statusTag { font-size: 0.7em !important; margin-top: 4px !important; }
    #main .filtros-row { gap: 6px !important; margin-top: 10px !important; }
    #main .filtros-row .btn-dark { font-size: 0.78em; padding: 4px 10px !important; }
    #main #filtro-data { height: 28px !important; font-size: 0.78em; padding: 2px 7px !important; }
    #painelAgenda-grid { gap: 9px !important; margin-bottom: 12px !important; }
    #painelAgenda-grid .card h3 { font-size: 0.72em !important; line-height: 1.2; letter-spacing: 0.5px; }
    #painelAgenda-grid .painel-arrow { font-size: 0.68em !important; }
    #painelAgenda-grid .btn-dark { font-size: 0.66em !important; padding: 1px 7px !important; min-height: 22px; }
    #lista-agenda-painel,
    #lista-lembretes-painel,
    #lista-previsao-recorrentes { font-size: 0.92em; }
    #main .cards-grid[style*="repeat(3,1fr)"] { gap: 9px !important; margin-bottom: 12px; }
    .busca-row { display: flex; gap: 10px; margin-bottom: 12px; }
    #busca,
    #dataF { font-size: 0.86em; padding: 8px 10px; }
    @media (max-width: 768px) {
        body { flex-direction: column; height: auto; }

        /* Login mobile — esconde lado esquerdo, mostra só formulário */
        .login-bg { flex-direction: column; padding: 0; align-items: stretch; }
        .login-left { display: none; }
        .login-right {
            min-height: 100vh;
            background: #1a2236;
            justify-content: center;
            padding: 70px 20px 30px;
            align-items: center;
        }
        .login-form-box { max-width: 100%; }
        /* Logo mobile no topo do formulário */
        .login-form-box::before {
            content: '';
            display: block;
            width: 70px;
            height: 70px;
            background: url('../assets/images/logo.png') center/contain no-repeat;
            margin: 0 auto 10px;
        }
        .login-form-title { color: #e2e8f0; font-size: 1.3em; text-align: center; }
        .login-form-sub { color: #8b949e; text-align: center; }
        .login-input {
            background: #0d1117 !important;
            color: #e2e8f0 !important;
            border-color: #2d3748 !important;
        }
        .login-input::placeholder { color: #4a5568 !important; }
        .login-btn-criar {
            background: #21262d !important;
            color: #e2e8f0 !important;
            border-color: #2d3748 !important;
        }
        .login-btn-link { color: var(--cyan); }
        .login-divider { color: #4a5568; }
        .login-divider::before, .login-divider::after { background: #2d3748; }

        .lock-bg { align-items: center; padding: 56px 14px 18px; }
        .sidebar { width: 100%; min-width: 0; border-right: none; padding: 14px; }
        .sidebar img { width: 150px; margin: 6px auto 8px; }
        body { font-size: 13px; }
        .main { padding: 12px; font-size: 1rem; }
        .cards-grid { grid-template-columns: 1fr 1fr !important; gap: 8px; }
        .card { padding: 9px; }
        .card .val { font-size: 0.98em; }

        /* Header box empilha verticalmente no mobile */
        .header-box { flex-direction: column; align-items: flex-start; gap: 7px; padding: 10px; margin-bottom: 12px; }
        .header-box > span { display: none; }
        .install-banner { width: 100%; align-items: flex-start; }
        #saudacao { font-size: 1.15em; }

        /* Saldo banco em coluna no mobile */
        .saldo-banco-box { flex-direction: column; align-items: flex-start; gap: 6px; }
        .saldo-banco-box > span:first-of-type { font-weight: bold; }

        /* Ações do saldo em linha com quebra */
        .saldo-actions-row { display: flex; flex-wrap: wrap; gap: 10px; }

        /* Botões de filtro em linha com scroll horizontal se necessário */
        .filtros-row { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
        .filtros-row button { flex: 1; min-width: 60px; font-size: 0.72em !important; padding: 5px 4px !important; min-height: 30px; }
        .filtros-row input[type="month"] { flex: 1; min-width: 100px; }

        /* Top right actions dentro do header no mobile */
        #main .header-box .top-right-actions { position: static; margin-top: 4px; width: 100%; align-items: flex-end; }
        .header-box .weather-dashboard-row { max-width: 100%; }
        .header-box .weather-card { width: min(100%, 260px); }

        /* Painéis colapsáveis em coluna no mobile */
        #painelAgenda-grid { grid-template-columns: 1fr !important; }
        #painelAgenda-grid > .card.painel-dashboard-expandido { grid-column: 1; }
        .painel-dashboard-expandido #lista-agenda-painel,
        .painel-dashboard-expandido #lista-lembretes-painel,
        .painel-dashboard-expandido #lista-veiculos-painel,
        .painel-dashboard-expandido #lista-previsao-recorrentes { grid-template-columns: 1fr; max-height: 360px !important; }
        .painel-dashboard-expandido .dashboard-mini-card { height: auto; min-height: 178px; }
        #main .cards-grid[style*="repeat(3,1fr)"] { grid-template-columns: 1fr 1fr !important; }
        #lista-agenda-painel,
        #lista-lembretes-painel,
        #lista-veiculos-painel,
        #lista-previsao-recorrentes { max-height: 300px !important; }
        .dashboard-mini-card { height: 168px; min-height: 168px; }
        .dashboard-mini-value { font-size: 1rem; }
        .finance-summary { padding: 10px; }
        .finance-charts-grid { grid-template-columns: 1fr; }
        .finance-chart-box { height: 155px; }
        .finance-chart-donut { height: 170px; }
        .finance-mini-cards { grid-template-columns: 1fr; gap: 7px; }
        .finance-mini-card { padding: 8px 10px; }
        .busca-row { flex-direction: column; gap: 8px; }
        #busca,
        #dataF { font-size: 0.82em; min-width: 0; }

        /* Tabela com scroll horizontal */
        .table-container { overflow-x: auto; -webkit-overflow-scrolling: touch; }

        /* Modal ocupa mais tela no mobile */
        .modal { align-items: flex-start; padding: 10px 12px; }
        .modal-content { padding: 14px 14px; max-height: calc(100vh - 20px); border-radius: 12px; }
        .modal-content input,
        .modal-content select { min-height: 33px; font-size: 0.84em !important; }
        .modal-section { padding: 10px; margin-bottom: 10px; }
        .clientes-rec-lista { max-height: 240px; }
        .clientes-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .clientes-tab-btn { min-height: 36px !important; }
        .clientes-form-grid,
        .clientes-toolbar,
        .plano-form-row { grid-template-columns: 1fr; }
        .cliente-card { grid-template-columns: 1fr; align-items: stretch; }
        .plano-card { grid-template-columns: 1fr; align-items: stretch; }
        .cliente-actions { justify-content: flex-end; }
        .cliente-name { font-size: 0.94em; }
        .cliente-pill { font-size: 0.74em; }
        .solicitacao-card { grid-template-columns: 1fr; align-items: stretch; }
        .solicitacao-actions { justify-content: flex-end; }
        .cliente-form-actions { grid-template-columns: 1fr; }
        .adm-summary-grid { grid-template-columns: repeat(2, 1fr); }
        .adm-toolbar { grid-template-columns: 1fr; }
        .adm-user-row { grid-template-columns: 1fr; }
        .adm-actions { justify-content: flex-start; }
        .adm-renew-grid { grid-template-columns: 1fr 1fr; }
        .clientes-modal-content { max-width: 100%; padding: 12px; }
        .duplicidade-cards,
        .duplicidade-actions { grid-template-columns: 1fr; }
        .duplicidade-btn.is-keep-both,
        .duplicidade-btn.is-cancel { grid-column: auto; }
        .duplicidade-card-top { align-items: flex-start; flex-direction: column; }
        .duplicidade-card-top > div { justify-content: flex-start; }
        .duplicidade-check-head,
        .duplicidade-resumo { grid-template-columns: 1fr; }
        .duplicidade-compact-btn { width: 100%; }
        .duplicidade-resumo li { white-space: normal; }
        .notificacoes-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .notificacoes-lista { max-height: 52vh; }
        .notificacoes-footer { grid-template-columns: 1fr; }
        .notificacoes-footer > div { justify-content: stretch; }
        .notificacoes-footer button { flex: 1; }
        .ia-summary { grid-template-columns: 1fr; }

        .chart-panel { height: 120px; padding: 8px; }

        /* Saldo banco row no mobile */
        .saldo-banco-row { flex-wrap: wrap; }

        /* Tabela — oculta colunas menos importantes no mobile pequeno */
        table th:nth-child(3), table td:nth-child(3),
        table th:nth-child(5), table td:nth-child(5) { display: none; }

        /* Modal — fecha bem na tela */
        .modal { padding: 8px; align-items: flex-end; }
        .modal-content {
            max-height: 92vh;
            border-radius: 16px 16px 10px 10px;
            padding: 16px 14px 14px;
            margin-bottom: 4px;
        }

        /* Botão fechar modal sempre visível */
        .modal-content > button[onclick="fecharModal()"] {
            position: sticky;
            bottom: 0;
        }

        /* Lock screen mobile */
        .lock-bg { align-items: center; padding: 30px 14px; }
        .lock-bg .login-card { max-width: 320px; width: 100%; }
    }

    @media (max-width: 360px) {
        .main { padding: 10px; }
        #main .cards-grid[style*="repeat(3,1fr)"] { grid-template-columns: 1fr !important; }
        .cards-grid { grid-template-columns: 1fr !important; }
        .card .val { font-size: 0.98rem; }
    }

    /* ── Accordion sidebar ─────────────────────────────── */
    .accordion-section { margin-bottom: 4px; }
    .accordion-header {
        width: 100%; background: #21262d; color: var(--text);
        border: 1px solid var(--border); border-radius: 8px;
        padding: 9px 10px; cursor: pointer; font-size: 0.9em;
        font-weight: bold; text-transform: uppercase; letter-spacing: 0.5px;
        display: flex; justify-content: space-between; align-items: center;
        transition: background 0.2s, border-color 0.2s;
    }
    .accordion-header:hover { background: #2d3748; border-color: var(--cyan); }
    .accordion-header.active { border-color: var(--cyan); color: var(--cyan); }
    .accordion-arrow { font-size: 0.85em; opacity: 0.7; transition: transform 0.2s; }
    .accordion-body { padding: 8px 0 2px; display: none; }
    .accordion-body label { font-size: 0.78rem; }
    .accordion-body input,
    .accordion-body select { font-size: 0.98rem; min-height: 38px; }
    .accordion-body .btn-dark,
    .accordion-body .btn-cyan { margin-bottom: 5px; font-size: 0.92rem !important; padding: 9px 10px !important; min-height: 36px; }
    .sidebar-footer > .btn-dark[onclick="logout()"] {
        position: static;
    }

    /* Legibilidade geral: mais contraste e textos internos menos pequenos. */
    :root {
        --bg: #10161d;
        --side: #19212b;
        --border: #3a4656;
        --btn-dark: #2b3441;
        --text-muted: #b9c4d2;
        --surface-soft: #202a36;
        --font-base: 15px;
        --font-small: 13px;
        --font-xs: 12px;
    }

    body {
        color: #edf3fb;
        font-size: var(--font-base);
    }

    input,
    select,
    textarea {
        background: #18212c !important;
        border-color: #4a5a6d !important;
        color: #f7fbff !important;
        font-size: 0.98rem !important;
        min-height: 40px;
    }

    input::placeholder,
    textarea::placeholder {
        color: #c1cbd8;
        opacity: 0.9;
    }

    input[type="date"],
    input[type="month"] {
        background: #253246 !important;
        border-color: var(--cyan) !important;
        color-scheme: dark;
        color: #fff !important;
        font-weight: 700;
    }

    input[type="date"]::-webkit-calendar-picker-indicator,
    input[type="month"]::-webkit-calendar-picker-indicator {
        background-color: var(--cyan);
        border-radius: 5px;
        cursor: pointer;
        filter: none;
        opacity: 1;
        padding: 3px;
    }

    .btn-dark,
    .accordion-header,
    .cliente-action,
    .adm-icon-btn,
    .notificacoes-tabs button,
    .clientes-tab-btn {
        background: var(--btn-dark) !important;
        border-color: #48576a !important;
        color: #edf3fb !important;
    }

    .btn-dark:hover,
    .accordion-header:hover,
    .cliente-action:hover,
    .adm-icon-btn:hover,
    .clientes-tab-btn:hover,
    .notificacoes-tabs button:hover {
        background: #354153 !important;
        border-color: var(--cyan) !important;
    }

    .btn-cyan:hover,
    .btn-mini:hover {
        background: #1b4638;
        border-color: rgba(54,211,153,0.95);
        color: #effff8;
    }

    .btn-cyan,
    .btn-dark {
        font-size: 0.92rem !important;
        min-height: 38px;
    }

    .modal-content {
        background: #1b2430;
        border-color: #46566a;
        box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
    }

    .modal-content h3 {
        font-size: 1.05rem !important;
    }

    .modal-content label {
        color: #6fd9ff;
        font-size: 0.78rem !important;
        opacity: 1;
    }

    .modal-content input,
    .modal-content select {
        font-size: 0.95rem !important;
        min-height: 39px;
    }

    .modal-content button {
        font-size: 0.88rem !important;
        min-height: 36px;
    }

    .modal-section,
    .lembrete-item,
    .agenda-item,
    .veiculo-item,
    .recorrente-item,
    .notificacao-card,
    .clientes-rec-card,
    .cliente-card,
    .plano-card,
    .solicitacao-card,
    .adm-user-row,
    .card {
        background: var(--surface-soft) !important;
        border-color: #445368 !important;
    }

    .card h4,
    .modal-section-title,
    h3 {
        opacity: 1;
        font-size: 0.86rem;
    }

    .card .val {
        font-size: 1.15rem;
    }

    .cliente-name,
    .clientes-rec-card b,
    .solicitacao-card b,
    .plano-card span,
    .notificacao-card strong {
        color: #ffffff;
        font-size: 1rem;
    }

    .cliente-pill,
    .badge,
    .adm-pill,
    .tag-conta,
    .tag-transferencia,
    .notificacao-meta span,
    .notificacoes-resumo span {
        background: #253246;
        border-color: #526479;
        color: #dce6f2;
        font-size: 0.8rem;
    }

    .tag-saida {
        background: rgba(248, 81, 73, 0.12);
        border-color: var(--red);
        color: var(--red);
        font-size: 0.8rem;
    }

    .cliente-pill.recorrente,
    .clientes-tab-btn.is-active,
    .notificacoes-tabs button.is-active,
    .btn-filter-active {
        background: #113324 !important;
        border-color: var(--cyan) !important;
        color: var(--cyan) !important;
    }

    .notificacoes-tabs button.is-danger {
        color: #ff9aa8 !important;
    }

    .notificacoes-tabs button.is-danger.is-active {
        background: #331820 !important;
        border-color: var(--red) !important;
        color: #ff8fa3 !important;
    }

    .notificacao-card.atrasado {
        background: #2a1821 !important;
        border-color: rgba(255,65,108,0.5) !important;
        border-left-color: var(--red) !important;
    }

    .notificacao-card.atrasado strong {
        color: #ffd7df !important;
    }

    .notificacao-card.atrasado .notificacao-meta span {
        background: #3a1e28 !important;
        border-color: rgba(255,65,108,0.58) !important;
        color: #ffd7df !important;
    }

    .lembrete-item.vencido,
    .agenda-item.cancelado,
    .veiculo-item.vencido {
        border-left-color: var(--red) !important;
    }

    .cliente-action {
        width: 32px;
        height: 32px;
        min-height: 32px !important;
        font-size: 0.98rem !important;
    }

    .clientes-tab-btn {
        font-size: 0.8rem !important;
        min-height: 40px !important;
    }

    .clientes-count,
    .empty-state,
    .cliente-link-help,
    .solicitacao-card span,
    .clientes-rec-card span,
    .lembrete-meta,
    .agenda-meta,
    .veiculo-meta,
    .recorrente-header,
    .notificacoes-footer > span,
    .pagamento-cliente-help,
    .adm-user-meta,
    .install-banner span {
        color: var(--text-muted) !important;
        opacity: 1 !important;
        font-size: 0.86rem !important;
    }

    th {
        background: #253246 !important;
        font-size: 0.86rem;
    }

    td {
        color: #edf3fb;
        font-size: 0.96rem;
    }

    #main .filtros-row .btn-dark {
        font-size: 0.9rem !important;
        min-height: 36px;
        padding: 6px 12px !important;
        text-align: center;
    }

    #main #filtro-data {
        height: 36px !important;
        font-size: 0.92rem !important;
        padding: 5px 10px !important;
    }

    #painelAgenda-grid .card h3 {
        font-size: 0.9rem !important;
    }

    #painelAgenda-grid .btn-dark {
        background: #344256 !important;
        border-color: #5b6f87 !important;
        color: #ffffff !important;
        font-size: 0.92rem !important;
        min-height: 28px !important;
        padding: 3px 10px !important;
    }

    #lista-agenda-painel,
    #lista-lembretes-painel,
    #lista-veiculos-painel,
    #lista-previsao-recorrentes {
        color: #edf3fb;
        font-size: 1rem !important;
    }

    ::-webkit-scrollbar-thumb {
        background: #718096;
        border-radius: 999px;
    }

    @media (max-width: 768px) {
        body {
            font-size: 14px;
        }

        .modal-content input,
        .modal-content select {
            font-size: 0.94rem !important;
            min-height: 38px;
        }

        .filtros-row button {
            font-size: 0.86rem !important;
            min-height: 36px;
        }

        #busca,
        #dataF {
            font-size: 0.94rem !important;
        }
    }

    .clientes-modal-content input,
    .clientes-modal-content select,
    .clientes-modal-content button {
        font-size: 0.92rem !important;
        min-height: 38px !important;
    }

    .clientes-modal-content .modal-section {
        background: #202a36 !important;
        padding: 12px !important;
    }

    .modal-content small,
    .modal-content p,
    td small,
    .recorrente-item small,
    .adm-user-row small,
    .ia-card small {
        color: #c4cfdd !important;
        font-size: 0.86rem !important;
        opacity: 1 !important;
        line-height: 1.35;
    }

    .modal-content p[style*="opacity"],
    .modal-content small[style*="opacity"],
    td small[style*="opacity"],
    div[style*="opacity:0.6"],
    div[style*="opacity:0.65"],
    span[style*="opacity:0.6"],
    small[style*="opacity:0.6"],
    small[style*="opacity:0.65"],
    small[style*="opacity:0.7"] {
        opacity: 1 !important;
    }

    .table-container {
        border-color: #445368;
    }

    .saldo-banco-box {
        background: #202a36 !important;
        font-size: 0.9rem !important;
    }

    .bell-badge,
    .btn-mini,
    .btn-action-small {
        font-size: 0.82rem !important;
        min-height: 28px;
    }

    /* UX econômica: animações curtas, sem filtros pesados ou loops contínuos */
    @keyframes uiOverlayIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    @keyframes uiOverlayOut {
        from { opacity: 1; }
        to { opacity: 0; }
    }

    @keyframes uiModalIn {
        from { opacity: 0; transform: translateY(8px) scale(0.97); }
        to { opacity: 1; transform: translateY(0) scale(1); }
    }

    @keyframes uiModalOut {
        from { opacity: 1; transform: translateY(0) scale(1); }
        to { opacity: 0; transform: translateY(6px) scale(0.98); }
    }

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

    @keyframes uiPulseUpdate {
        0% { box-shadow: 0 0 0 0 rgba(54, 211, 153, 0); }
        45% { box-shadow: 0 0 0 4px rgba(54, 211, 153, 0.18); }
        100% { box-shadow: 0 0 0 0 rgba(54, 211, 153, 0); }
    }

    @keyframes uiBadgeUpdate {
        0% { transform: scale(0.78); }
        55% { transform: scale(1.16); }
        100% { transform: scale(1); }
    }

    .modal.is-closing,
    .alert-box.is-closing {
        animation: uiOverlayOut 0.17s ease both;
        pointer-events: none;
    }

    .modal.is-closing .modal-content,
    .alert-box.is-closing .alert-content {
        animation: uiModalOut 0.17s ease both;
    }

    .is-updated { animation: uiPulseUpdate 0.5s ease; }
    .bell-badge.is-updated { animation: uiBadgeUpdate 0.34s ease; }

    .card.is-selected {
        border-color: rgba(54, 211, 153, 0.72) !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
        transform: translateY(-1px);
    }

    .status-vencido { background: rgba(255, 65, 108, 0.09) !important; border-left-color: var(--red) !important; }
    .status-hoje { background: rgba(241, 196, 15, 0.10) !important; border-left-color: var(--yellow) !important; }
    .status-amanha { background: rgba(0, 195, 255, 0.09) !important; border-left-color: var(--blue) !important; }
    .status-pago { background: rgba(34, 197, 94, 0.09) !important; border-left-color: var(--green) !important; }

    button,
    .btn-cyan,
    .btn-dark,
    .btn-mini,
    .cliente-action,
    .saldo-action {
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.14s ease, filter 0.14s ease, border-color 0.14s ease, background-color 0.14s ease, color 0.14s ease, opacity 0.14s ease;
    }

    button:active,
    .btn-cyan:active,
    .btn-dark:active,
    .btn-mini:active,
    .cliente-action:active,
    .saldo-action:active {
        transform: scale(0.975);
        filter: brightness(1.08);
    }

    button:disabled {
        cursor: wait;
        opacity: 0.68;
    }

    button.is-busy::after {
        content: "";
        display: inline-block;
        width: 0.72em;
        height: 0.72em;
        margin-left: 7px;
        border: 2px solid currentColor;
        border-right-color: transparent;
        border-radius: 50%;
        vertical-align: -0.08em;
        animation: uiSpin 0.65s linear infinite;
    }

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

    .jarvis-toast-stack {
        position: fixed;
        top: max(14px, env(safe-area-inset-top));
        right: 14px;
        z-index: 60000;
        display: grid;
        gap: 8px;
        width: min(360px, calc(100vw - 28px));
        pointer-events: none;
    }

    .jarvis-toast {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        color: #eef7f3;
        background: #1b2430;
        border: 1px solid #46566a;
        border-left: 4px solid var(--cyan);
        border-radius: 10px;
        padding: 10px 11px;
        box-shadow: 0 12px 30px rgba(0,0,0,0.34);
        pointer-events: auto;
        animation: uiToastIn 0.22s ease both;
    }

    .jarvis-toast.is-error { border-left-color: var(--red); }
    .jarvis-toast.is-warning { border-left-color: var(--yellow); }
    .jarvis-toast.is-success { border-left-color: var(--green); }
    .jarvis-toast-icon { font-size: 1.12rem; }
    .jarvis-toast-message { font-size: 0.88rem; line-height: 1.35; overflow-wrap: anywhere; }
    .jarvis-toast-close { width: 28px; min-height: 28px !important; padding: 0 !important; border: 0; background: transparent; color: #aeb8c4; font-size: 1rem !important; cursor: pointer; }
    .jarvis-toast.is-leaving { animation: uiToastOut 0.18s ease both; }

    @keyframes uiToastIn {
        from { opacity: 0; transform: translateY(-8px) scale(0.98); }
        to { opacity: 1; transform: translateY(0) scale(1); }
    }

    @keyframes uiToastOut {
        from { opacity: 1; transform: translateY(0); }
        to { opacity: 0; transform: translateY(-6px); }
    }

    @media (hover: hover) and (pointer: fine) {
        .card:hover,
        .notificacao-card:hover,
        .recorrente-item:hover {
            transform: translateY(-2px);
            border-color: #5a6d84 !important;
            box-shadow: 0 8px 22px rgba(0,0,0,0.2);
        }
    }

    @media (max-width: 600px) {
        .jarvis-toast-stack {
            left: 12px;
            right: 12px;
            width: auto;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .modal,
        .modal-content,
        .alert-box,
        .alert-content,
        .notificacoes-lista,
        .jarvis-toast,
        .is-updated,
        .bell-badge.is-updated {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
        }

        button,
        .card,
        .notificacao-card,
        .recorrente-item {
            transition-duration: 0.01ms !important;
        }
    }

    .sys-version,
    #clock,
    #statusTag {
        opacity: 1 !important;
        font-size: 0.86rem !important;
    }

    /* Painéis expansíveis: acabamento final acima das regras globais de legibilidade. */
    #painelAgenda-grid .dashboard-mini-card {
        background: linear-gradient(145deg, #1b2330 0%, #171e28 100%) !important;
        border-color: #405069 !important;
    }

    #painelAgenda-grid .dashboard-mini-card .dashboard-mini-title {
        color: #f7f9fc !important;
    }

    #painelAgenda-grid .dashboard-mini-card .dashboard-mini-description,
    #painelAgenda-grid .dashboard-mini-card .dashboard-mini-date {
        color: #9eacbd !important;
        opacity: 1 !important;
    }

    /* Dashboard: refinamento visual compacto */
    #main .header-box {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) minmax(260px, 320px);
        align-items: start;
        min-height: 0;
        padding: 10px 14px;
        gap: 10px;
        border-left-width: 3px;
        border-radius: 12px;
        background: linear-gradient(135deg, rgba(25, 33, 43, 0.98), rgba(20, 27, 35, 0.98));
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
    }

    .dashboard-header-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        grid-column: 1;
        grid-row: 1;
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        border: 1px solid rgba(54, 211, 153, 0.22);
        border-radius: 10px;
        background: rgba(13, 17, 23, 0.42);
        font-size: 1.25rem !important;
    }

    .dashboard-header-content {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        min-width: 0;
        padding-right: 0;
    }

    #main .header-box .top-right-actions {
        position: static;
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        align-self: start;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 8px;
        width: 100%;
        max-width: 320px;
        margin: 0;
        z-index: 1;
    }

    #main .header-box .weather-dashboard-row {
        width: 100%;
        max-width: 320px;
    }

    #main #saudacao {
        font-size: 1.08rem;
        letter-spacing: -0.2px;
    }

    .dashboard-header-meta {
        display: flex;
        align-items: center;
        gap: 7px;
        margin-top: 3px;
    }

    .dashboard-header-meta #clock,
    .dashboard-header-meta #statusTag {
        margin: 0 !important;
        font-size: 0.66rem !important;
        line-height: 1.2;
    }

    .dashboard-header-meta #statusTag {
        display: inline-flex;
        align-items: center;
        min-height: 20px;
        padding: 2px 7px;
        border: 1px solid rgba(54, 211, 153, 0.28);
        border-radius: 999px;
        background: rgba(54, 211, 153, 0.08);
    }

    #main .saldo-banco-box {
        width: fit-content;
        max-width: 100%;
        margin-top: 6px;
        padding: 5px 8px;
        gap: 7px 12px;
        border-color: rgba(52, 152, 219, 0.42);
        border-radius: 8px;
        background: rgba(13, 17, 23, 0.38);
    }

    #main .saldo-actions-row {
        display: flex;
        align-items: center;
        gap: 9px;
        color: #9cabbc;
        font-size: 0.94em;
    }

    #main .filtros-row {
        margin-top: 7px !important;
    }

    .dashboard-panel-card {
        border-top-color: rgba(74, 89, 111, 0.56);
        border-right-color: rgba(74, 89, 111, 0.56);
        border-bottom-color: rgba(74, 89, 111, 0.56);
        background: linear-gradient(145deg, rgba(26, 34, 44, 0.96), rgba(20, 27, 35, 0.96));
    }

    .dashboard-panel-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 27px;
        cursor: pointer;
        border-radius: 7px;
    }

    .dashboard-finance-card {
        position: relative;
        overflow: hidden;
        border-left-width: 3px;
        background: linear-gradient(145deg, #18212b, #141b23);
    }

    .dashboard-finance-card::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(120deg, rgba(255, 255, 255, 0.025), transparent 48%);
    }

    .dashboard-finance-card.is-primary {
        min-height: 76px;
        padding: 13px 14px;
        box-shadow: 0 7px 20px rgba(0, 0, 0, 0.14);
    }

    .dashboard-finance-card.is-primary h4 {
        color: #b7c4d2;
        opacity: 1;
    }

    .dashboard-finance-card.is-primary .val {
        margin-top: 8px;
        font-size: 1.22rem;
        letter-spacing: -0.35px;
    }

    .dashboard-finance-card.is-net {
        background: linear-gradient(145deg, rgba(255, 159, 67, 0.11), #171d24 58%);
        box-shadow: 0 8px 24px rgba(255, 159, 67, 0.08);
    }

    .dashboard-finance-card.is-secondary {
        min-height: 59px;
        padding: 10px 12px;
        background: rgba(22, 27, 34, 0.74);
        box-shadow: none;
    }

    .dashboard-finance-card.is-secondary h4 {
        color: #8391a2;
        font-size: 0.68rem;
    }

    .dashboard-finance-card.is-secondary .val {
        color: #aeb9c8 !important;
        font-size: 0.94rem;
    }

    .dashboard-empty-state {
        min-height: 130px;
        padding: 16px 12px;
        gap: 6px;
        border-color: #3b4a60;
        background: linear-gradient(145deg, rgba(22, 27, 34, 0.76), rgba(18, 24, 31, 0.68));
    }

    .dashboard-empty-state strong {
        max-width: 210px;
        font-size: 0.76rem;
        line-height: 1.35;
    }

    .dashboard-empty-action {
        width: auto;
        min-height: 27px;
        margin-top: 3px;
        padding: 4px 11px;
        border: 1px solid rgba(54, 211, 153, 0.38);
        border-radius: 7px;
        background: rgba(54, 211, 153, 0.08);
        color: #91f0cf;
        cursor: pointer;
        font-size: 0.66rem;
        font-weight: 700;
    }

    #main .finance-summary {
        padding: 13px 14px;
        border-color: #344257;
        border-radius: 12px;
        background: linear-gradient(145deg, #18202a, #131920);
        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
    }

    #main .finance-summary-heading {
        margin-bottom: 10px;
    }

    #main .finance-summary-heading h3 {
        font-size: 0.88rem;
    }

    #main .finance-chart-box {
        height: 165px;
        padding: 8px 10px;
        border-color: rgba(68, 83, 104, 0.72);
        border-radius: 10px;
        background: rgba(9, 13, 18, 0.42);
    }

    #main .finance-chart-donut {
        padding: 8px 6px 3px;
    }

    #main .finance-mini-card {
        padding: 9px 11px;
        border-color: #344257;
        transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
    }

    @media (hover: hover) and (pointer: fine) {
        .dashboard-panel-card:hover,
        .dashboard-finance-card:hover {
            transform: translateY(-2px);
            border-top-color: #52647c;
            border-right-color: #52647c;
            border-bottom-color: #52647c;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
        }

        .dashboard-panel-header:hover {
            background: rgba(255, 255, 255, 0.025);
        }

        .dashboard-empty-action:hover {
            border-color: rgba(54, 211, 153, 0.72);
            background: rgba(54, 211, 153, 0.14);
            color: #c9ffea;
        }

        #main .finance-mini-card:hover {
            transform: translateY(-1px);
            border-color: #52647c;
            background: rgba(32, 40, 52, 0.9);
        }
    }

    @media (max-width: 768px) {
        #main .header-box {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            align-items: start;
            padding: 10px 11px;
        }

        #main .dashboard-header-icon {
            display: none;
        }

        .dashboard-header-content {
            grid-column: 1;
            grid-row: auto;
            padding-right: 0;
        }

        #main .header-box .top-right-actions {
            align-self: start;
            grid-column: 1;
            grid-row: auto;
            margin: 0;
            width: 100%;
            max-width: 100%;
            justify-self: stretch;
        }

        #main .header-box .weather-card {
            width: 100%;
            max-width: 280px;
        }

        .dashboard-header-meta {
            flex-wrap: wrap;
        }

        #main .saldo-banco-box {
            width: 100%;
            align-items: flex-start;
        }

        #main .saldo-actions-row {
            gap: 10px;
        }

        .dashboard-finance-card.is-primary {
            min-height: 72px;
            padding: 11px 12px;
        }

        .dashboard-finance-card.is-primary .val {
            font-size: 1.08rem;
        }

        .dashboard-finance-card.is-secondary {
            min-height: 56px;
        }

        #main .finance-chart-box {
            height: 170px;
        }

        #main .finance-chart-donut {
            height: 185px;
        }
    }

    @media (max-width: 480px) {
        .dashboard-finance-card.is-net {
            grid-column: 1 / -1;
        }

        .dashboard-empty-state {
            min-height: 122px;
        }
    }

    /* Paleta SaaS escura harmonizada: menor saturação e fadiga visual. */
    :root {
        --bg: #11161d;
        --side: #18202a;
        --border: #374352;
        --cyan: #72ad9a;
        --blue: #6f9fc8;
        --text: #dce4ed;
        --red: #d2707e;
        --yellow: #c7aa62;
        --orange: #c58b62;
        --green: #65a389;
        --btn-dark: #27313d;
        --text-muted: #a8b3c1;
        --surface-soft: #1d2631;
    }

    body {
        background: var(--bg);
        color: var(--text);
    }

    h3,
    label,
    .modal-section-title,
    .finance-summary-status,
    #clock {
        color: var(--blue);
    }

    .btn-cyan,
    .btn-mini {
        background: #253b35;
        border-color: rgba(114, 173, 154, 0.58);
        color: #d5e8e1;
    }

    .btn-cyan:hover,
    .btn-mini:hover {
        background: #2d4840;
        border-color: rgba(114, 173, 154, 0.78);
        color: #edf7f3;
    }

    .btn-mini-red {
        background: #4a2c33;
        border-color: rgba(210, 112, 126, 0.62);
        color: #f0cbd1;
    }

    .btn-dark:hover,
    .accordion-header:hover,
    .cliente-action:hover,
    .adm-icon-btn:hover,
    .clientes-tab-btn:hover,
    .notificacoes-tabs button:hover {
        background: #303b49 !important;
        border-color: #536579 !important;
    }

    input:focus,
    select:focus,
    textarea:focus {
        border-color: rgba(111, 159, 200, 0.8) !important;
        box-shadow: 0 0 0 3px rgba(111, 159, 200, 0.12) !important;
    }

    input[type="date"],
    input[type="month"] {
        border-color: #536579 !important;
    }

    input[type="date"]::-webkit-calendar-picker-indicator,
    input[type="month"]::-webkit-calendar-picker-indicator {
        background-color: #6f879f;
    }

    .card,
    .modal-section,
    .lembrete-item,
    .agenda-item,
    .veiculo-item,
    .recorrente-item,
    .notificacao-card,
    .clientes-rec-card,
    .cliente-card,
    .plano-card,
    .solicitacao-card,
    .adm-user-row {
        border-color: #3b4858 !important;
    }

    .cliente-pill.recorrente,
    .clientes-tab-btn.is-active,
    .notificacoes-tabs button.is-active,
    .btn-filter-active {
        background: #243a35 !important;
        border-color: rgba(114, 173, 154, 0.62) !important;
        color: #9bc8b9 !important;
    }

    .categoria-sugestoes button {
        background: #243a35;
        border-color: rgba(114, 173, 154, 0.45);
        color: #9bc8b9;
    }

    .notificacoes-tabs button.is-danger {
        color: #dda0aa !important;
    }

    .notificacoes-tabs button.is-danger.is-active {
        background: #3a282e !important;
        border-color: rgba(210, 112, 126, 0.62) !important;
        color: #e2a8b1 !important;
    }

    .notificacao-card.atrasado {
        background: #30242a !important;
        border-color: rgba(210, 112, 126, 0.38) !important;
        border-left-color: var(--red) !important;
    }

    .notificacao-card.atrasado strong,
    .notificacao-card.atrasado .notificacao-meta span {
        color: #e5c5ca !important;
    }

    .notificacao-card.atrasado .notificacao-meta span {
        background: #3a2930 !important;
        border-color: rgba(210, 112, 126, 0.42) !important;
    }

    .status-vencido {
        background: rgba(210, 112, 126, 0.08) !important;
    }

    .status-hoje {
        background: rgba(199, 170, 98, 0.08) !important;
    }

    .status-amanha {
        background: rgba(111, 159, 200, 0.08) !important;
    }

    .status-pago {
        background: rgba(101, 163, 137, 0.08) !important;
    }

    .dashboard-status-badge.is-today,
    .dashboard-status-badge.is-medium {
        color: #d5b985;
        border-color: rgba(197, 139, 98, 0.42);
        background: rgba(197, 139, 98, 0.09);
    }

    .dashboard-status-badge.is-tomorrow {
        color: #d5c18e;
        border-color: rgba(199, 170, 98, 0.42);
        background: rgba(199, 170, 98, 0.08);
    }

    .dashboard-status-badge.is-future,
    .dashboard-status-badge.is-low {
        color: #9dbbd4;
        border-color: rgba(111, 159, 200, 0.4);
        background: rgba(111, 159, 200, 0.08);
    }

    .dashboard-status-badge.is-danger,
    .dashboard-status-badge.is-high {
        color: #dfa0aa;
        border-color: rgba(210, 112, 126, 0.44);
        background: rgba(210, 112, 126, 0.09);
    }

    .dashboard-status-badge.is-paid,
    .dashboard-status-badge.is-vehicle {
        color: #9fc6b8;
        border-color: rgba(101, 163, 137, 0.42);
        background: rgba(101, 163, 137, 0.08);
    }

    .finance-dot {
        box-shadow: none;
    }

    .dashboard-finance-card.is-net {
        background: linear-gradient(145deg, rgba(197, 139, 98, 0.08), #171d24 58%);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
    }

    .alert-content {
        border-width: 1px;
        border-color: rgba(114, 173, 154, 0.62);
    }

    .alert-box[data-kind="success"] .alert-content {
        border-color: rgba(101, 163, 137, 0.68);
    }

    .alert-box[data-kind="warning"] .alert-content {
        border-color: rgba(199, 170, 98, 0.68);
    }

    .alert-box[data-kind="error"] .alert-content {
        border-color: rgba(210, 112, 126, 0.68);
    }

    .install-banner {
        background: rgba(114, 173, 154, 0.07);
        border-color: rgba(114, 173, 154, 0.34);
    }

    #btnInstallApp {
        background: #5e917f;
        color: #f3faf7;
    }

    .notificacao-card.aniversario {
        border-left-color: var(--yellow) !important;
    }

    .notificacao-aniversario-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        margin-top: 9px;
    }

    .notificacao-aniversario-actions button {
        width: 100%;
        min-height: 32px !important;
        margin: 0 !important;
        padding: 6px 7px !important;
        text-align: center;
        font-size: 0.68rem !important;
    }

    .notificacao-whatsapp-btn {
        border-color: rgba(101, 163, 137, 0.55) !important;
        color: #9fc6b8 !important;
    }

    .notificacao-mensagem-gerada {
        width: 100%;
        min-height: 128px;
        margin: 8px 0 0;
        padding: 10px 11px;
        resize: vertical;
        border: 1px solid #465568;
        border-radius: 8px;
        background: #151d26 !important;
        color: #dce4ed !important;
        font-family: inherit;
        font-size: 0.78rem !important;
        line-height: 1.45;
    }

    @media (max-width: 520px) {
        .notificacao-aniversario-actions {
            grid-template-columns: 1fr;
        }
    }

    /* Identidade Azul Tech e temas visuais */
    :root,
    html[data-theme="dark"] {
        --bg: #111720;
        --side: #18212c;
        --border: #364555;
        --cyan: #4f8fc9;
        --blue: #78a6cf;
        --text: #dce5ee;
        --red: #d2707e;
        --yellow: #c7aa62;
        --orange: #c58b62;
        --green: #65a389;
        --btn-dark: #273340;
        --text-muted: #a9b5c2;
        --surface-soft: #1e2834;
    }

    .profile-appearance-section {
        margin-top: 12px;
    }

    .profile-appearance-help {
        margin: 5px 0 0;
        color: var(--text-muted);
        font-size: 0.72rem;
        line-height: 1.4;
    }

    html[data-theme="light"] {
        --bg: #f3f6fa;
        --side: #f8fafc;
        --border: #d7dee8;
        --cyan: #2f78b7;
        --blue: #477fae;
        --text: #243242;
        --red: #b85f6d;
        --yellow: #9b7d36;
        --orange: #ad7049;
        --green: #4f8b72;
        --btn-dark: #e9eef4;
        --text-muted: #657487;
        --surface-soft: #f1f5f9;
    }

    html[data-theme="light"] body {
        background: var(--bg);
        color: var(--text);
    }

    html[data-theme="light"] .sidebar,
    html[data-theme="light"] .header-box,
    html[data-theme="light"] .card,
    html[data-theme="light"] .finance-summary,
    html[data-theme="light"] .modal-content,
    html[data-theme="light"] .modal-section,
    html[data-theme="light"] .table-container,
    html[data-theme="light"] .notificacao-card,
    html[data-theme="light"] .lembrete-item,
    html[data-theme="light"] .agenda-item,
    html[data-theme="light"] .veiculo-item,
    html[data-theme="light"] .recorrente-item,
    html[data-theme="light"] .cliente-card,
    html[data-theme="light"] .clientes-rec-card,
    html[data-theme="light"] .plano-card,
    html[data-theme="light"] .solicitacao-card,
    html[data-theme="light"] .adm-user-row,
    html[data-theme="light"] .alert-content {
        background: var(--side) !important;
        border-color: var(--border) !important;
        color: var(--text);
        box-shadow: 0 8px 24px rgba(38, 55, 74, 0.08);
    }

    html[data-theme="light"] .dashboard-panel-card,
    html[data-theme="light"] .dashboard-finance-card,
    html[data-theme="light"] .dashboard-mini-card,
    html[data-theme="light"] .finance-mini-card,
    html[data-theme="light"] .finance-chart-box,
    html[data-theme="light"] .notificacoes-resumo {
        background: #f5f8fb !important;
        border-color: var(--border) !important;
        color: var(--text);
    }

    html[data-theme="light"] .btn-dark,
    html[data-theme="light"] .accordion-header,
    html[data-theme="light"] .cliente-action,
    html[data-theme="light"] .adm-icon-btn,
    html[data-theme="light"] .notificacoes-tabs button,
    html[data-theme="light"] .clientes-tab-btn {
        background: var(--btn-dark) !important;
        border-color: #c3d0dd !important;
        color: #334457 !important;
    }

    html[data-theme="light"] .btn-dark:hover,
    html[data-theme="light"] .accordion-header:hover,
    html[data-theme="light"] .cliente-action:hover,
    html[data-theme="light"] .adm-icon-btn:hover,
    html[data-theme="light"] .notificacoes-tabs button:hover,
    html[data-theme="light"] .clientes-tab-btn:hover {
        background: #dce6f0 !important;
        border-color: #9db2c6 !important;
    }

    html[data-theme="light"] input,
    html[data-theme="light"] select,
    html[data-theme="light"] textarea {
        background: #f9fbfd !important;
        border-color: #c8d2de !important;
        color: #263649 !important;
    }

    html[data-theme="light"] input::placeholder,
    html[data-theme="light"] textarea::placeholder {
        color: #8291a2;
    }

    html[data-theme="light"] input[type="date"],
    html[data-theme="light"] input[type="month"] {
        background: #f9fbfd !important;
        color-scheme: light;
        color: #263649 !important;
    }

    html[data-theme="light"] .modal,
    html[data-theme="light"] .alert-box {
        background: rgba(35, 49, 65, 0.38);
    }

    html[data-theme="light"] .card h4,
    html[data-theme="light"] .dashboard-mini-title,
    html[data-theme="light"] .cliente-name,
    html[data-theme="light"] .notificacao-card strong,
    html[data-theme="light"] td {
        color: #263649 !important;
    }

    html[data-theme="light"] .dashboard-mini-description,
    html[data-theme="light"] .dashboard-mini-date,
    html[data-theme="light"] .notificacao-card p,
    html[data-theme="light"] .recorrente-header,
    html[data-theme="light"] .lembrete-meta,
    html[data-theme="light"] .agenda-meta,
    html[data-theme="light"] .veiculo-meta {
        color: #657487 !important;
    }

    html[data-theme="light"] th {
        background: #e7eef5 !important;
        color: #376b97;
    }

    html[data-theme="light"] .cliente-pill,
    html[data-theme="light"] .badge,
    html[data-theme="light"] .adm-pill,
    html[data-theme="light"] .notificacao-meta span,
    html[data-theme="light"] .notificacoes-resumo span,
    html[data-theme="light"] .dashboard-mini-badge,
    html[data-theme="light"] .dashboard-status-badge {
        background: #e9eff5;
        border-color: #c2cfdb;
        color: #536579;
    }

    html[data-theme="light"] .login-left {
        background: linear-gradient(160deg, #18324d, #11283e);
    }

    html[data-theme="light"] .login-right {
        background: #eef3f8;
    }

    .btn-cyan,
    .btn-mini:not(.btn-mini-red),
    #btnInstallApp {
        background: #274c6b;
        border-color: rgba(79, 143, 201, 0.68);
        color: #e4f1fb;
    }

    .btn-cyan:hover,
    .btn-mini:not(.btn-mini-red):hover,
    #btnInstallApp:hover {
        background: #315d82;
        border-color: rgba(120, 166, 207, 0.82);
        color: #f3f8fc;
    }

    .cliente-pill.recorrente,
    .clientes-tab-btn.is-active,
    .notificacoes-tabs button.is-active,
    .btn-filter-active,
    .categoria-sugestoes button {
        background: rgba(79, 143, 201, 0.11) !important;
        border-color: rgba(79, 143, 201, 0.58) !important;
        color: #82b3dc !important;
    }

    html[data-theme="light"] .btn-cyan,
    html[data-theme="light"] .btn-mini:not(.btn-mini-red),
    html[data-theme="light"] #btnInstallApp {
        background: #2f78b7;
        border-color: #2f78b7;
        color: #ffffff;
    }

    html[data-theme="light"] .btn-cyan:hover,
    html[data-theme="light"] .btn-mini:not(.btn-mini-red):hover,
    html[data-theme="light"] #btnInstallApp:hover {
        background: #28689f;
        border-color: #28689f;
    }

    html[data-theme="light"] .cliente-pill.recorrente,
    html[data-theme="light"] .clientes-tab-btn.is-active,
    html[data-theme="light"] .notificacoes-tabs button.is-active,
    html[data-theme="light"] .btn-filter-active,
    html[data-theme="light"] .categoria-sugestoes button {
        background: #e0edf8 !important;
        border-color: #8eb4d4 !important;
        color: #2f6f9f !important;
    }

    /* Troca de tema: anima somente cores, sem movimentar ou redimensionar layout. */
    html.theme-ready body,
    html.theme-ready .sidebar,
    html.theme-ready .header-box,
    html.theme-ready .card,
    html.theme-ready .finance-summary,
    html.theme-ready .finance-chart-box,
    html.theme-ready .modal-content,
    html.theme-ready .modal-section,
    html.theme-ready .table-container,
    html.theme-ready .notificacao-card,
    html.theme-ready .recorrente-item,
    html.theme-ready .cliente-card,
    html.theme-ready .clientes-rec-card,
    html.theme-ready .plano-card,
    html.theme-ready .solicitacao-card,
    html.theme-ready input,
    html.theme-ready select,
    html.theme-ready textarea,
    html.theme-ready button {
        transition-property: background-color, color, border-color, box-shadow;
        transition-duration: 0.16s;
        transition-timing-function: ease-out;
    }

    /* Proteções gerais para telas pequenas e WebView Android. */
    html,
    body {
        max-width: 100%;
    }

    .main,
    .header-box,
    .cards-grid,
    .finance-summary,
    #painelAgenda-grid,
    .modal-content {
        min-width: 0;
    }

    img,
    canvas {
        max-width: 100%;
    }

    @media (max-width: 768px) {
        body {
            width: 100%;
            min-height: 100dvh;
            padding-bottom: env(safe-area-inset-bottom);
        }

        .sidebar,
        .main {
            width: 100%;
            max-width: 100vw;
        }

        .sidebar {
            padding-left: max(14px, env(safe-area-inset-left));
            padding-right: max(14px, env(safe-area-inset-right));
        }

        .main {
            padding-left: max(12px, env(safe-area-inset-left));
            padding-right: max(12px, env(safe-area-inset-right));
        }

        .modal {
            min-height: 100dvh;
            padding-bottom: max(8px, env(safe-area-inset-bottom));
        }

        .modal-content {
            width: 100%;
            max-width: 100%;
            max-height: calc(100dvh - 16px);
            overscroll-behavior: contain;
            -webkit-overflow-scrolling: touch;
        }

        .finance-summary-heading,
        .clientes-header,
        .notificacoes-footer > div,
        .cliente-actions,
        .solicitacao-actions {
            flex-wrap: wrap;
        }

        .finance-summary-status,
        .clientes-count {
            white-space: normal;
        }

        .dashboard-mini-card {
            height: auto;
            min-height: 164px;
        }

        button,
        .btn-cyan,
        .btn-dark,
        .btn-mini,
        .cliente-action,
        .adm-icon-btn {
            min-height: 40px;
            touch-action: manipulation;
        }

        .cliente-action,
        .adm-icon-btn {
            min-width: 40px;
        }

        .notificacoes-lista,
        .clientes-lista,
        .clientes-rec-lista {
            overscroll-behavior: contain;
            -webkit-overflow-scrolling: touch;
        }

        .table-container {
            max-width: 100%;
            overscroll-behavior-x: contain;
        }
    }

    @media (max-width: 420px) {
        .dashboard-header-meta,
        .saldo-banco-row,
        .saldo-actions-row {
            width: 100%;
        }

        .finance-chart-box,
        #main .finance-chart-box {
            min-height: 180px;
        }

        .notificacoes-tabs,
        .clientes-tabs {
            grid-template-columns: 1fr 1fr !important;
        }

        .notificacoes-tabs button,
        .clientes-tab-btn {
            overflow-wrap: anywhere;
        }
    }

/* Ajuste fino da hierarquia de cores — ações mais claras sem excesso de saturação */
:root,
html[data-theme="dark"] {
    --cyan: #5a9bd4;
    --blue: #82add2;
    --green: #6cad91;
    --red: #c7727e;
}

.btn-cyan,
.btn-mini:not(.btn-mini-red),
#btnInstallApp {
    background: #2e628b;
    border-color: #4b83af;
    color: #f0f7fc;
}

.btn-cyan:hover,
.btn-mini:not(.btn-mini-red):hover,
#btnInstallApp:hover {
    background: #3976a4;
    border-color: #639bc6;
}

/* Recebimentos e baixas mantêm prioridade visual positiva */
button[onclick*="confirmarPagamentoClienteRecorrente"],
button[onclick*="registrarPagamentoClienteRecorrente"],
button[onclick*="registrarPagamentoNotificacao"],
button[onclick*="confirmarBaixaContaRecorrente"],
button[onclick*="darBaixaContaRecorrente"],
button[onclick*="concluirAgenda"],
button[onclick*="concluirVeiculo"],
button[onclick*="concluirLembrete"] {
    background: #356f5c !important;
    border-color: #57977f !important;
    color: #ecf8f3 !important;
}

button[onclick*="confirmarPagamentoClienteRecorrente"]:hover,
button[onclick*="registrarPagamentoClienteRecorrente"]:hover,
button[onclick*="registrarPagamentoNotificacao"]:hover,
button[onclick*="confirmarBaixaContaRecorrente"]:hover,
button[onclick*="darBaixaContaRecorrente"]:hover,
button[onclick*="concluirAgenda"]:hover,
button[onclick*="concluirVeiculo"]:hover,
button[onclick*="concluirLembrete"]:hover {
    background: #41836c !important;
    border-color: #6aa990 !important;
}

/* Exclusões e alertas permanecem reconhecíveis, com vermelho mais sereno */
.btn-mini-red,
.cliente-action.delete,
button[onclick*="admExcluirUser"],
button[onclick*="deletar"],
button[onclick*="excluir"],
button[onclick*="cancelarAssinatura"] {
    background: #493139 !important;
    border-color: #8e5964 !important;
    color: #e9bac1 !important;
}

.btn-mini-red:hover,
.cliente-action.delete:hover,
button[onclick*="admExcluirUser"]:hover,
button[onclick*="deletar"]:hover,
button[onclick*="excluir"]:hover,
button[onclick*="cancelarAssinatura"]:hover {
    background: #5b3942 !important;
    border-color: #a36a75 !important;
}

html[data-theme="light"] {
    --cyan: #347fbd;
    --blue: #4f83ad;
    --green: #4f9578;
    --red: #ad6470;
}

html[data-theme="light"] .btn-cyan,
html[data-theme="light"] .btn-mini:not(.btn-mini-red),
html[data-theme="light"] #btnInstallApp {
    background: #337fbd;
    border-color: #337fbd;
    color: #fff;
}

html[data-theme="light"] .btn-cyan:hover,
html[data-theme="light"] .btn-mini:not(.btn-mini-red):hover,
html[data-theme="light"] #btnInstallApp:hover {
    background: #2b6fa7;
    border-color: #2b6fa7;
}

html[data-theme="light"] button[onclick*="confirmarPagamentoClienteRecorrente"],
html[data-theme="light"] button[onclick*="registrarPagamentoClienteRecorrente"],
html[data-theme="light"] button[onclick*="registrarPagamentoNotificacao"],
html[data-theme="light"] button[onclick*="confirmarBaixaContaRecorrente"],
html[data-theme="light"] button[onclick*="darBaixaContaRecorrente"],
html[data-theme="light"] button[onclick*="concluirAgenda"],
html[data-theme="light"] button[onclick*="concluirVeiculo"],
html[data-theme="light"] button[onclick*="concluirLembrete"] {
    background: #4f9578 !important;
    border-color: #4f9578 !important;
    color: #fff !important;
}

html[data-theme="light"] button[onclick*="confirmarPagamentoClienteRecorrente"]:hover,
html[data-theme="light"] button[onclick*="registrarPagamentoClienteRecorrente"]:hover,
html[data-theme="light"] button[onclick*="registrarPagamentoNotificacao"]:hover,
html[data-theme="light"] button[onclick*="confirmarBaixaContaRecorrente"]:hover,
html[data-theme="light"] button[onclick*="darBaixaContaRecorrente"]:hover,
html[data-theme="light"] button[onclick*="concluirAgenda"]:hover,
html[data-theme="light"] button[onclick*="concluirVeiculo"]:hover,
html[data-theme="light"] button[onclick*="concluirLembrete"]:hover {
    background: #438267 !important;
    border-color: #438267 !important;
}

html[data-theme="light"] .btn-mini-red,
html[data-theme="light"] .cliente-action.delete,
html[data-theme="light"] button[onclick*="admExcluirUser"],
html[data-theme="light"] button[onclick*="deletar"],
html[data-theme="light"] button[onclick*="excluir"],
html[data-theme="light"] button[onclick*="cancelarAssinatura"] {
    background: #f1e2e5 !important;
    border-color: #c8959d !important;
    color: #98525e !important;
}

html[data-theme="light"] .btn-mini-red:hover,
html[data-theme="light"] .cliente-action.delete:hover,
html[data-theme="light"] button[onclick*="admExcluirUser"]:hover,
html[data-theme="light"] button[onclick*="deletar"]:hover,
html[data-theme="light"] button[onclick*="excluir"]:hover,
html[data-theme="light"] button[onclick*="cancelarAssinatura"]:hover {
    background: #ead4d8 !important;
    border-color: #bd828c !important;
}

/* Menu lateral: estado ativo, alinhamento e movimento da seta */
.accordion-header {
    position: relative;
    gap: 10px;
    overflow: hidden;
    transition: background-color 0.18s ease, border-color 0.18s ease,
        color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.accordion-header > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    text-align: left;
    line-height: 1.25;
}

.accordion-header::before {
    content: "";
    position: absolute;
    inset: 7px auto 7px 0;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--cyan);
    opacity: 0;
    transform: scaleY(0.35);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.accordion-header:hover {
    transform: translateX(2px);
}

.accordion-header.active {
    background: #253a4d !important;
    border-color: #527fa5 !important;
    color: #9dccf1 !important;
    box-shadow: inset 0 0 0 1px rgba(90, 155, 212, 0.14),
        0 4px 12px rgba(4, 10, 18, 0.16);
}

.accordion-header.active::before {
    opacity: 1;
    transform: scaleY(1);
}

.accordion-arrow {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: var(--blue);
    opacity: 0.82;
    transform: rotate(0deg);
    transform-origin: center;
    transition: transform 0.22s ease, color 0.18s ease, opacity 0.18s ease;
}

.accordion-header.active .accordion-arrow {
    color: var(--cyan);
    opacity: 1;
    transform: rotate(180deg);
}

html[data-theme="light"] .accordion-header.active {
    background: #dbe9f5 !important;
    border-color: #7da6c8 !important;
    color: #245f91 !important;
    box-shadow: inset 0 0 0 1px rgba(51, 127, 189, 0.12),
        0 4px 12px rgba(38, 76, 110, 0.08);
}

@media (hover: none) {
    .accordion-header:hover {
        transform: none;
    }
}

/* Identidade premium econômica: ajustes finais, sem impacto estrutural. */
:root,
html[data-theme="dark"] {
    --gold: #c6a15b;
    --purple: #a78bca;
}

html[data-theme="light"] {
    --gold: #947126;
    --purple: #74579a;
}

#main .header-box {
    background: linear-gradient(135deg, #182636 0%, #17303a 100%);
    border-left-color: rgba(111, 159, 200, 0.88);
}

.dashboard-finance-card.is-net {
    border-color: rgba(111, 159, 200, 0.78) !important;
    background: linear-gradient(145deg, rgba(111, 159, 200, 0.14), #171f28 60%);
    box-shadow: 0 8px 24px rgba(71, 127, 174, 0.1);
}

.dashboard-finance-card.is-net .val {
    color: #8eb9dc !important;
    font-size: 1.28rem;
    font-weight: 800;
}

#cardDizimo {
    border-color: var(--gold) !important;
    background: linear-gradient(145deg, rgba(198, 161, 91, 0.1), rgba(22, 27, 34, 0.76));
}

#cardDizimo .val {
    color: var(--gold) !important;
}

.accordion-header .menu-icon {
    display: inline-flex;
    width: 22px;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
    font-size: 1.12rem;
    line-height: 1;
}

.accordion-header:hover {
    background: rgba(111, 159, 200, 0.11);
    border-color: rgba(111, 159, 200, 0.62);
}

.accordion-header.active {
    background: linear-gradient(90deg, #253c51, #223445) !important;
    border-color: #638fb5 !important;
}

#btnIAFinanceira {
    color: var(--purple) !important;
    border-color: rgba(167, 139, 202, 0.38);
    background: rgba(111, 82, 143, 0.12);
}

#btnIAFinanceira:hover {
    border-color: rgba(167, 139, 202, 0.72);
    background: rgba(111, 82, 143, 0.2);
}

.ia-title,
.ia-summary strong {
    color: var(--purple) !important;
}

#main .finance-chart-donut {
    padding: 7px 6px 1px;
}

html[data-theme="light"] #main .header-box {
    background: linear-gradient(135deg, #e8f0f7 0%, #e3eef1 100%);
    border-left-color: #4f83ad;
}

html[data-theme="light"] .dashboard-finance-card.is-net {
    background: linear-gradient(145deg, rgba(79, 131, 173, 0.13), #f8fafc 64%);
    box-shadow: 0 8px 22px rgba(54, 91, 122, 0.08);
}

html[data-theme="light"] .dashboard-finance-card.is-net .val {
    color: #347fbd !important;
}

html[data-theme="light"] #cardDizimo {
    background: linear-gradient(145deg, rgba(148, 113, 38, 0.1), #f8fafc 66%);
}

html[data-theme="light"] .accordion-header:hover {
    background: #e5eff7;
    border-color: #8aaecb;
}

html[data-theme="light"] #btnIAFinanceira {
    background: rgba(116, 87, 154, 0.08);
    border-color: rgba(116, 87, 154, 0.28);
}

/* Ajuste tipografico geral - Modo Economico */
body,
input,
select,
textarea,
button {
    font-family: Inter, "Segoe UI", Arial, sans-serif !important;
    letter-spacing: 0;
}

body {
    line-height: 1.45;
    font-weight: 400;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
.login-brand-title,
.login-form-title,
.modal-content h3 {
    font-weight: 700 !important;
    line-height: 1.22;
    letter-spacing: 0 !important;
}

.modal-section-title,
.finance-summary-kicker,
.finance-summary-heading h3,
.clientes-count,
.notificacoes-grupo-titulo,
.card h4,
.dashboard-mini-date,
label {
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
}

p,
small,
.cliente-link-help,
.pagamento-cliente-help,
.notificacao-card p,
.clientes-rec-card span,
.solicitacao-card span,
.categoria-meta,
.dashboard-mini-description,
.ia-card-text {
    font-weight: 400;
    line-height: 1.45;
}

input,
select,
textarea {
    font-weight: 400 !important;
    line-height: 1.35;
}

button,
.btn-cyan,
.btn-dark,
.btn-mini,
.cliente-action,
.clientes-tab-btn,
.notificacoes-tabs button,
.accordion-header,
.dashboard-mini-action,
.duplicidade-btn {
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

.badge,
.cliente-pill,
.adm-pill,
.notificacao-meta span,
.notificacoes-resumo span,
.dashboard-mini-badge,
.dashboard-status-badge,
.tag-conta,
.tag-saida,
.tag-transferencia {
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

.card .val,
.dashboard-mini-value,
.dashboard-finance-card .val,
#cardDizimo .val {
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.cliente-name,
.notificacao-card strong,
.clientes-rec-card b,
.solicitacao-card b,
.plano-card span,
.categoria-nome {
    font-weight: 600 !important;
    line-height: 1.32;
}

.duplicidade-modal h3 {
    font-size: 0.96rem !important;
    font-weight: 700 !important;
    line-height: 1.2;
}

.duplicidade-subtitle {
    font-size: 0.76rem;
    font-weight: 400;
    line-height: 1.45;
}

.duplicidade-card-top {
    font-size: 0.68rem;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
}

.duplicidade-badge {
    font-size: 0.62rem;
    font-weight: 600 !important;
}

.duplicidade-nome {
    font-size: 0.88rem;
    font-weight: 600 !important;
    line-height: 1.32;
}

.duplicidade-info-grid span {
    font-size: 0.74rem;
    line-height: 1.35;
}

.duplicidade-info-grid b {
    font-size: 0.68rem;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
}

.duplicidade-btn {
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    min-height: 30px;
    line-height: 1.15;
}

@media (max-width: 768px) {
    body {
        line-height: 1.48;
    }

    .modal-content h3 {
        font-size: 0.98rem !important;
    }

    .cliente-name,
    .notificacao-card strong {
        line-height: 1.35;
    }
}

/* Padronizacao compacta de botoes - Modo Economico */
button,
.btn-cyan,
.btn-dark,
.login-btn-enter,
.login-btn-criar,
.accordion-header,
.clientes-tab-btn,
.notificacoes-tabs button,
.dashboard-mini-action,
.duplicidade-btn {
    min-height: 38px !important;
    padding: 8px 12px !important;
    border-radius: 9px !important;
    font-size: 0.875rem !important;
    line-height: 1.18 !important;
    font-weight: 600 !important;
}

.btn-dark,
.accordion-header,
.clientes-tab-btn,
.notificacoes-tabs button {
    min-height: 36px !important;
    padding: 7px 11px !important;
    font-size: 0.8125rem !important;
}

.modal-content button,
.btn-mini,
.btn-action-small,
.cliente-action,
.categoria-sugestoes button,
.adm-filter-row button,
.notificacao-action,
.notificacao-aniversario-actions button,
.duplicidade-compact-btn,
button[onclick*="Editar"],
button[onclick*="editar"],
button[onclick*="Ver"],
button[onclick*="ver"],
button[onclick*="Baixa"],
button[onclick*="baixa"],
button[onclick*="Receber"],
button[onclick*="receber"],
button[onclick*="Excluir"],
button[onclick*="excluir"],
button[onclick*="Copiar"],
button[onclick*="copiar"],
button[onclick*="Buscar"],
button[onclick*="buscar"] {
    min-height: 32px !important;
    padding: 6px 10px !important;
    border-radius: 8px !important;
    font-size: 0.8125rem !important;
    line-height: 1.15 !important;
}

.adm-icon-btn,
.cliente-action,
.saldo-eye-btn,
.install-dismiss,
button[title="Editar"],
button[title="Excluir"],
button[aria-label],
button[onclick*="abrirModal"][style*="padding:2px"] {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px !important;
}

.cliente-form-actions .btn-cyan,
.cliente-form-actions .btn-dark,
.notificacoes-footer .btn-cyan,
.notificacoes-footer .btn-dark,
.adm-renew-grid .btn-dark,
.profile-fixed-actions button {
    min-height: 36px !important;
}

.sidebar .accordion-body .btn-dark,
.sidebar .accordion-body .btn-cyan,
.sidebar-footer > .btn-dark[onclick="logout()"] {
    min-height: 36px !important;
    padding: 7px 10px !important;
    font-size: 0.84rem !important;
}

.login-btn-enter,
.login-btn-criar,
#btnEnviarCadastro {
    min-height: 40px !important;
}

.btn-mini,
.btn-action-small,
.duplicidade-compact-btn {
    text-transform: none;
    white-space: nowrap;
}

@media (max-width: 768px) {
    button,
    .btn-cyan,
    .btn-dark,
    .accordion-header,
    .clientes-tab-btn,
    .notificacoes-tabs button {
        min-height: 36px !important;
        padding: 7px 10px !important;
        font-size: 0.8125rem !important;
    }

    .modal-content button,
    .btn-mini,
    .btn-action-small,
    .cliente-action,
    .duplicidade-btn {
        min-height: 32px !important;
        font-size: 0.8rem !important;
    }
}

/* UI V2 - Etapa 1: cabecalho e menu lateral */
#main .header-box {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(18, 30, 42, 0.98) 0%, rgba(20, 41, 53, 0.94) 52%, rgba(14, 22, 31, 0.98) 100%) !important;
    border: 1px solid rgba(92, 117, 140, 0.5) !important;
    border-left: 4px solid var(--cyan) !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.035);
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: auto minmax(0, 1fr) minmax(280px, 320px);
    margin-bottom: 16px !important;
    min-height: 128px;
    overflow: hidden;
    padding: 18px !important;
}

#main .dashboard-header-icon {
    align-items: center;
    background: linear-gradient(145deg, rgba(54, 211, 153, 0.14), rgba(0, 195, 255, 0.1));
    border: 1px solid rgba(75, 180, 196, 0.42);
    border-radius: 13px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
    display: inline-flex;
    flex: 0 0 46px;
    font-size: 1.45rem !important;
    height: 46px;
    justify-content: center;
}

#main .dashboard-header-content {
    display: grid;
    gap: 8px;
    min-width: 0;
}

#main #saudacao {
    color: #f8fbff !important;
    font-size: 1.58rem;
    font-weight: 800;
    letter-spacing: 0 !important;
    line-height: 1.15;
    margin: 0 !important;
}

#main .dashboard-header-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

#main #clock,
#main #statusTag {
    align-items: center;
    background: rgba(9, 15, 22, 0.48);
    border: 1px solid rgba(93, 118, 139, 0.42);
    border-radius: 999px;
    color: #cdd8e5 !important;
    display: inline-flex;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    line-height: 1.15;
    margin: 0 !important;
    min-height: 26px;
    padding: 5px 10px;
}

#main #statusTag {
    border-color: rgba(255, 159, 67, 0.38);
    color: #ffd39a !important;
}

#main .saldo-banco-box {
    background: rgba(10, 18, 26, 0.58) !important;
    border: 1px solid rgba(0, 195, 255, 0.34) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
    gap: 9px !important;
    margin-top: 2px !important;
    max-width: 620px;
    padding: 10px 12px !important;
}

#main .saldo-banco-row,
#main .saldo-actions-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#main #txtSaldoBanco {
    color: #8df5d0 !important;
    font-size: 0.96rem;
    font-weight: 800 !important;
}

#main .saldo-eye-btn {
    align-items: center;
    background: rgba(54, 211, 153, 0.1) !important;
    border: 1px solid rgba(54, 211, 153, 0.32) !important;
    border-radius: 8px;
    color: #bfffe9 !important;
    display: inline-flex;
    font-size: 0.92rem !important;
    height: 28px;
    justify-content: center;
    padding: 0 !important;
    transition: transform 0.16s ease, border-color 0.16s ease, background-color 0.16s ease;
    width: 30px;
}

#main .saldo-eye-btn:hover {
    background: rgba(54, 211, 153, 0.18) !important;
    border-color: rgba(54, 211, 153, 0.62) !important;
    transform: translateY(-1px);
}

#main .saldo-action {
    align-items: center;
    background: rgba(24, 37, 50, 0.72);
    border: 1px solid rgba(86, 108, 130, 0.44);
    border-radius: 999px;
    color: #d9e6f3;
    display: inline-flex;
    font-size: 0.73rem;
    font-weight: 800;
    min-height: 28px;
    opacity: 1;
    padding: 5px 10px;
    transition: transform 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}

#main .saldo-action:hover {
    background: rgba(54, 211, 153, 0.13);
    border-color: rgba(54, 211, 153, 0.56);
    color: #bfffe9;
    transform: translateY(-1px);
}

#main .top-right-actions {
    align-items: flex-end !important;
    align-self: stretch;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) auto;
    justify-content: flex-start;
    min-width: 0;
    position: static !important;
    right: auto !important;
    top: auto !important;
    width: 100%;
}

#main .top-right-actions > .sys-version {
    justify-self: end;
}

#main .top-right-actions > .notification-bell {
    justify-self: end;
}

#main .sys-version,
.login-left-top-actions .sys-version {
    background: rgba(54, 211, 153, 0.1);
    border: 1px solid rgba(54, 211, 153, 0.32);
    border-radius: 999px;
    color: #c8ffea !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em;
    line-height: 1;
    opacity: 1 !important;
    padding: 6px 10px;
    text-transform: uppercase;
}

#main .notification-bell,
.login-left-top-actions .notification-bell {
    background: rgba(25, 39, 52, 0.92);
    border: 1px solid rgba(98, 120, 143, 0.48);
    border-radius: 12px;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.22);
    color: #f6fbff;
    font-size: 1.12rem;
    height: 38px;
    width: 38px;
}

#main .notification-bell:hover,
.login-left-top-actions .notification-bell:hover {
    border-color: rgba(54, 211, 153, 0.55);
    filter: none;
    transform: translateY(-1px);
}

#main .bell-badge,
.login-left-top-actions .bell-badge {
    border: 2px solid #15202b;
    box-shadow: 0 0 0 2px rgba(255, 65, 108, 0.18);
    font-size: 0.62rem;
    min-width: 18px;
    padding: 1px 5px;
    right: -7px;
    top: -7px;
}

#main .weather-dashboard-row {
    display: flex;
    grid-column: 1 / -1;
    justify-content: flex-end !important;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

#main .weather-card {
    background: linear-gradient(145deg, rgba(24, 41, 54, 0.98) 0%, rgba(15, 27, 39, 0.98) 100%) !important;
    border: 1px solid rgba(0, 195, 255, 0.28) !important;
    border-left: 3px solid var(--blue) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.24);
    margin: 0 !important;
    max-width: 320px !important;
    min-width: 0;
    padding: 11px 12px !important;
    width: 100% !important;
}

#main .weather-card-main {
    gap: 11px !important;
}

#main .weather-temp {
    color: #8df5d0 !important;
    font-size: 1.75rem !important;
    min-width: 58px !important;
    text-shadow: 0 0 14px rgba(54, 211, 153, 0.18);
}

#main .weather-city-row strong {
    color: #f8fbff !important;
    font-size: 0.94rem !important;
}

#main .weather-info span {
    color: #c5d2df !important;
    font-size: 0.75rem !important;
}

#main .weather-config-btn {
    background: rgba(54, 211, 153, 0.12) !important;
    border-color: rgba(54, 211, 153, 0.38) !important;
    border-radius: 8px !important;
    color: #c8ffea !important;
    height: 23px !important;
    width: 23px !important;
}

#main .weather-config-btn:hover {
    background: rgba(54, 211, 153, 0.2) !important;
    transform: translateY(-1px);
}

#main .weather-metrics {
    gap: 6px !important;
    margin-top: 9px !important;
}

#main .weather-metrics span {
    background: rgba(10, 17, 24, 0.56) !important;
    border-color: rgba(88, 111, 133, 0.5) !important;
    border-radius: 8px !important;
    color: #cbd7e4 !important;
    min-height: 28px !important;
    padding: 5px 7px !important;
}

#main .weather-metrics b {
    color: #ffffff !important;
    font-weight: 900 !important;
}

.sidebar {
    background: linear-gradient(180deg, #17202a 0%, #111820 100%) !important;
    border-right: 1px solid rgba(80, 101, 124, 0.55) !important;
    box-shadow: 14px 0 34px rgba(0, 0, 0, 0.18);
    padding: 22px 18px !important;
}

.sidebar > img {
    background: rgba(12, 19, 27, 0.46);
    border: 1px solid rgba(90, 115, 137, 0.32);
    border-radius: 16px;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.2);
    margin: 2px auto 18px !important;
    padding: 12px 16px;
    width: 178px !important;
}

.sidebar .accordion-section {
    margin-bottom: 7px !important;
}

.sidebar .accordion-header {
    background: rgba(31, 43, 56, 0.86) !important;
    border: 1px solid rgba(82, 103, 125, 0.52) !important;
    border-radius: 10px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
    color: #dce7f2 !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    transition: transform 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}

.sidebar .accordion-header:hover {
    background: rgba(36, 54, 68, 0.96) !important;
    border-color: rgba(54, 211, 153, 0.46) !important;
    color: #ffffff !important;
    transform: translateX(2px);
}

.sidebar .accordion-header.active {
    background: linear-gradient(135deg, rgba(18, 55, 46, 0.96), rgba(22, 46, 59, 0.96)) !important;
    border-color: rgba(54, 211, 153, 0.72) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18), inset 3px 0 0 var(--cyan);
    color: #c8ffea !important;
}

.sidebar .accordion-header .menu-icon {
    align-items: center;
    background: rgba(11, 18, 25, 0.5);
    border: 1px solid rgba(95, 120, 143, 0.34);
    border-radius: 8px;
    display: inline-flex;
    font-size: 1rem;
    height: 26px;
    justify-content: center;
    margin-right: 9px;
    width: 28px;
}

.sidebar .accordion-header.active .menu-icon {
    background: rgba(54, 211, 153, 0.14);
    border-color: rgba(54, 211, 153, 0.38);
}

.sidebar .accordion-arrow {
    color: #9eb0c0;
    font-size: 0.78rem !important;
}

.sidebar .accordion-header.active .accordion-arrow {
    color: #c8ffea;
}

.sidebar .accordion-body {
    padding: 9px 2px 4px 8px !important;
}

.sidebar .accordion-body .btn-dark,
.sidebar .accordion-body .btn-cyan,
.sidebar-footer > .btn-dark[onclick="logout()"] {
    border-radius: 9px !important;
    font-weight: 800 !important;
    min-height: 38px !important;
    padding: 8px 11px !important;
    transition: transform 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}

.sidebar .accordion-body .btn-dark {
    background: rgba(28, 40, 52, 0.84) !important;
    border-color: rgba(83, 103, 124, 0.5) !important;
}

.sidebar .accordion-body .btn-dark:hover {
    background: rgba(35, 52, 65, 0.96) !important;
    border-color: rgba(0, 195, 255, 0.46) !important;
    color: #f7fbff !important;
    transform: translateX(2px);
}

.sidebar-footer > .btn-dark[onclick="logout()"] {
    background: rgba(68, 24, 34, 0.36) !important;
    border-color: rgba(255, 65, 108, 0.42) !important;
    color: #ffc0cb !important;
    margin: 0 !important;
    text-align: center !important;
}

.sidebar-footer > .btn-dark[onclick="logout()"]:hover {
    background: rgba(94, 30, 43, 0.52) !important;
    border-color: rgba(255, 65, 108, 0.72) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .sidebar {
        position: static;
        height: auto;
        overflow: visible;
    }

    .sidebar-menu {
        overflow-y: visible;
    }
}

html[data-theme="light"] #main .header-box {
    background: linear-gradient(135deg, #ffffff 0%, #eef5fa 100%) !important;
    border-color: #c7d6e4 !important;
}

html[data-theme="light"] .sidebar {
    background: linear-gradient(180deg, #f7fbff 0%, #e8f0f7 100%) !important;
}

@media (max-width: 1180px) {
    #main .header-box {
        grid-template-columns: auto minmax(0, 1fr);
    }

    #main .top-right-actions {
        align-items: stretch !important;
        grid-column: 1 / -1;
        justify-self: stretch;
    }

    #main .top-right-actions > .sys-version,
    #main .top-right-actions > .notification-bell {
        align-self: flex-end;
    }

    #main .weather-dashboard-row {
        justify-content: flex-end !important;
    }

    #main .weather-card {
        max-width: 360px !important;
    }
}

@media (max-width: 768px) {
    #main .header-box {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 14px !important;
    }

    #main .dashboard-header-icon {
        display: none;
        height: 40px;
        flex-basis: 40px;
    }

    #main #saudacao {
        font-size: 1.24rem;
    }

    #main .top-right-actions {
        align-items: stretch !important;
        position: static !important;
        width: 100%;
    }

    #main .top-right-actions > .sys-version,
    #main .top-right-actions > .notification-bell {
        align-self: flex-start;
    }

    #main .weather-card {
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* UI V2 - Etapa 2: Dashboard, cards financeiros, graficos, filtros e busca */
#main .filtros-row {
    align-items: center;
    background: rgba(10, 18, 26, 0.42);
    border: 1px solid rgba(86, 108, 130, 0.36);
    border-radius: 12px;
    display: flex !important;
    flex-wrap: wrap;
    gap: 7px !important;
    margin-top: 10px !important;
    padding: 6px;
    width: fit-content;
    max-width: 100%;
}

#main .filtros-row .btn-dark,
#main .filtros-row input[type="month"] {
    align-items: center;
    background: rgba(28, 40, 52, 0.86) !important;
    border: 1px solid rgba(96, 119, 140, 0.52) !important;
    border-radius: 9px !important;
    color: #dce7f2 !important;
    display: inline-flex;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    height: 34px !important;
    justify-content: center;
    margin: 0 !important;
    min-height: 34px !important;
    padding: 6px 12px !important;
    transition: transform 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
    width: auto !important;
}

#main .filtros-row .btn-dark:hover,
#main .filtros-row input[type="month"]:hover {
    background: rgba(35, 52, 65, 0.98) !important;
    border-color: rgba(54, 211, 153, 0.54) !important;
    color: #f8fbff !important;
    transform: translateY(-1px);
}

#main .filtros-row .btn-dark.btn-filter-active,
#main .filtros-row .btn-dark[style*="var(--cyan)"] {
    background: rgba(54, 211, 153, 0.14) !important;
    border-color: rgba(54, 211, 153, 0.78) !important;
    box-shadow: 0 0 0 2px rgba(54, 211, 153, 0.09);
    color: #c8ffea !important;
}

#main .filtros-row input[type="month"]:focus {
    border-color: rgba(0, 195, 255, 0.7) !important;
    box-shadow: 0 0 0 3px rgba(0, 195, 255, 0.12);
    outline: none;
}

#painelAgenda-grid {
    gap: 12px !important;
    margin-bottom: 18px !important;
}

#painelAgenda-grid > .dashboard-panel-card {
    background: linear-gradient(145deg, rgba(26, 37, 49, 0.96), rgba(18, 26, 35, 0.96)) !important;
    border: 1px solid rgba(83, 104, 126, 0.5) !important;
    border-left-width: 4px !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
    min-height: 58px;
    padding: 12px !important;
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

#painelAgenda-grid > .dashboard-panel-card:hover {
    border-color: rgba(92, 120, 142, 0.72) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.2);
    transform: translateY(-1px);
}

#painelAgenda-grid .dashboard-panel-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 34px;
}

#painelAgenda-grid .dashboard-panel-header h3 {
    color: #f5f9fd !important;
    font-size: 0.82rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.2;
}

#painelAgenda-grid .dashboard-panel-header .btn-dark {
    align-items: center;
    background: rgba(54, 211, 153, 0.1) !important;
    border-color: rgba(54, 211, 153, 0.34) !important;
    border-radius: 8px !important;
    color: #c8ffea !important;
    display: inline-flex;
    font-size: 0.86rem !important;
    font-weight: 900 !important;
    height: 28px;
    justify-content: center;
    min-height: 28px !important;
    padding: 0 10px !important;
}

#painelAgenda-grid .painel-arrow {
    color: #cbd7e4 !important;
    font-size: 0.78rem !important;
    line-height: 1;
}

#main .dashboard-finance-cards {
    gap: 12px !important;
    margin-bottom: 16px !important;
}

#main .dashboard-finance-card {
    background: linear-gradient(145deg, rgba(27, 38, 50, 0.98), rgba(17, 25, 34, 0.98)) !important;
    border: 1px solid rgba(80, 103, 125, 0.5) !important;
    border-left-width: 4px !important;
    border-radius: 13px !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.026);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 86px;
    overflow: hidden;
    padding: 14px 15px !important;
    position: relative;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

#main .dashboard-finance-card::before {
    content: "";
    inset: 0 0 auto 0;
    height: 3px;
    opacity: 0.36;
    pointer-events: none;
    position: absolute;
}

#main .dashboard-finance-card:hover {
    border-color: rgba(116, 143, 166, 0.74) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
    transform: translateY(-1px);
}

#main .dashboard-finance-card h4 {
    color: #b9c7d6 !important;
    font-size: 0.72rem !important;
    font-weight: 750 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2;
    margin: 0 !important;
    opacity: 1 !important;
    text-transform: uppercase;
}

#main .dashboard-finance-card .val {
    display: block;
    font-size: clamp(1.12rem, 2vw, 1.48rem) !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1.16 !important;
    margin-top: 8px !important;
    overflow-wrap: anywhere;
}

#main .dashboard-finance-card.is-secondary {
    min-height: 78px;
}

#main .dashboard-finance-card.is-secondary .val {
    font-size: clamp(1rem, 1.5vw, 1.18rem) !important;
}

#main .dashboard-finance-card.is-net::before,
#main .dashboard-finance-card.is-net {
    border-left-color: #78a6cf !important;
}

#main .dashboard-finance-card.is-net::before {
    background: #78a6cf;
}

#main .dashboard-finance-card:has(#txtR) {
    border-left-color: #65a389 !important;
}

#main .dashboard-finance-card:has(#txtR)::before {
    background: #65a389;
}

#main .dashboard-finance-card:has(#txtS) {
    border-left-color: #d2707e !important;
}

#main .dashboard-finance-card:has(#txtS)::before {
    background: #d2707e;
}

#main #cardSaldoPJ {
    border-left-color: #72b8dd !important;
}

#main #cardSaldoPJ::before {
    background: #72b8dd;
}

#main #cardSaldoPF {
    border-left-color: #9c8fd8 !important;
}

#main #cardSaldoPF::before {
    background: #9c8fd8;
}

#main #cardDizimo {
    border-left-color: #d6b35c !important;
}

#main #cardDizimo::before {
    background: #d6b35c;
}

#main #txtLiq { color: #8fbce1 !important; }
#main #txtR { color: #8ad3af !important; }
#main #txtS { color: #e1949e !important; }
#main #txtPJ { color: #9bd2ee !important; }
#main #txtPF { color: #b8aff0 !important; }
#main #txtD { color: #e5c978 !important; }

#main .finance-summary {
    background: linear-gradient(145deg, rgba(25, 36, 48, 0.98), rgba(15, 23, 32, 0.98)) !important;
    border: 1px solid rgba(82, 105, 128, 0.58) !important;
    border-radius: 15px !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.026);
    margin: 4px 0 16px !important;
    padding: 16px !important;
}

#main .finance-summary-heading {
    align-items: center;
    margin-bottom: 14px !important;
}

#main .finance-summary-kicker {
    color: #8df5d0 !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.08em !important;
    opacity: 1;
}

#main .finance-summary-heading h3 {
    color: #f8fbff !important;
    font-size: 1.05rem !important;
    font-weight: 850 !important;
    margin-top: 3px !important;
}

#main .finance-summary-status {
    background: rgba(0, 195, 255, 0.1) !important;
    border-color: rgba(0, 195, 255, 0.34) !important;
    color: #9fdbf3 !important;
    font-weight: 800;
    padding: 5px 10px !important;
}

#main .finance-charts-grid {
    gap: 12px !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(220px, 0.8fr) !important;
}

#main .finance-chart-box {
    background: rgba(8, 14, 21, 0.45) !important;
    border: 1px solid rgba(83, 107, 129, 0.5) !important;
    border-radius: 13px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.024);
    height: 188px !important;
    padding: 12px !important;
}

#main .finance-chart-donut {
    height: 188px !important;
    padding: 12px !important;
}

#main .finance-mini-cards {
    gap: 10px !important;
    margin-top: 12px !important;
}

#main .finance-mini-card {
    background: linear-gradient(145deg, rgba(28, 40, 52, 0.98), rgba(17, 25, 34, 0.98)) !important;
    border: 1px solid rgba(80, 103, 125, 0.5) !important;
    border-radius: 12px !important;
    box-shadow: 0 9px 22px rgba(0, 0, 0, 0.14);
    min-height: 88px;
    padding: 12px 13px !important;
    transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

#main .finance-mini-card:hover {
    border-color: rgba(112, 139, 162, 0.72) !important;
    box-shadow: 0 13px 28px rgba(0, 0, 0, 0.2);
    transform: translateY(-1px);
}

#main .finance-mini-card::before {
    width: 4px !important;
}

#main .finance-mini-label {
    color: #d6e2ee !important;
    font-size: 0.7rem !important;
    font-weight: 850 !important;
}

#main .finance-indicator-name {
    color: #94a7ba !important;
    font-size: 0.58rem !important;
}

#main .finance-mini-card strong {
    font-size: 1.08rem !important;
    font-weight: 900 !important;
    margin-top: 7px !important;
}

#main .finance-mini-card small {
    color: #aab8c7 !important;
    font-size: 0.7rem !important;
    line-height: 1.3;
    margin-top: 5px !important;
}

#main .busca-row {
    align-items: stretch;
    display: flex;
    gap: 10px !important;
    margin-bottom: 13px !important;
}

#main #busca,
#main #dataF {
    background: rgba(25, 37, 49, 0.92) !important;
    border: 1px solid rgba(86, 108, 130, 0.58) !important;
    border-radius: 11px !important;
    color: #f7fbff !important;
    font-size: 0.95rem !important;
    min-height: 42px;
    padding: 10px 13px !important;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

#main #busca::placeholder {
    color: #afbdca !important;
    opacity: 0.9;
}

#main #busca:focus,
#main #dataF:focus {
    background: rgba(29, 43, 56, 0.98) !important;
    border-color: rgba(54, 211, 153, 0.72) !important;
    box-shadow: 0 0 0 3px rgba(54, 211, 153, 0.11);
    outline: none;
}

@media (max-width: 1024px) {
    #main .dashboard-finance-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    #main .finance-charts-grid {
        grid-template-columns: 1fr !important;
    }

    #main .finance-chart-box,
    #main .finance-chart-donut {
        height: 210px !important;
    }
}

@media (max-width: 768px) {
    #main .filtros-row {
        width: 100%;
    }

    #main .filtros-row .btn-dark,
    #main .filtros-row input[type="month"] {
        flex: 1 1 90px;
    }

    #painelAgenda-grid {
        grid-template-columns: 1fr !important;
    }

    #main .dashboard-finance-cards {
        grid-template-columns: 1fr !important;
    }

    #main .finance-summary {
        padding: 13px !important;
    }

    #main .finance-summary-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    #main .finance-mini-cards {
        grid-template-columns: 1fr !important;
    }

    #main .busca-row {
        flex-direction: column;
    }
}

/* UI V2 - Etapa 3: componentes internos */
.modal {
    background: var(--modal-overlay) !important;
    backdrop-filter: blur(8px);
}

.modal-content,
.alert-content {
    background: var(--modal-surface) !important;
    border: 1px solid var(--modal-border) !important;
    border-radius: 16px !important;
    box-shadow: var(--modal-shadow);
    color: var(--modal-text);
    max-height: min(92vh, 820px);
    overflow-y: auto;
    padding: 20px !important;
}

.modal-content {
    max-width: min(560px, calc(100vw - 24px));
}

.modal-content h3,
.alert-content h3 {
    color: var(--modal-title) !important;
    font-size: 1.02rem !important;
    font-weight: 850 !important;
    letter-spacing: 0;
    line-height: 1.22;
    margin: 0 0 14px !important;
}

.modal-content p,
.modal-content small,
.alert-content p {
    color: var(--modal-subtitle) !important;
    line-height: 1.48;
}

.modal-section,
.pagamento-cliente-form,
.duplicidade-cliente-card {
    background: var(--modal-surface-2) !important;
    border: 1px solid rgba(78, 99, 119, 0.42) !important;
    border-radius: 13px !important;
    padding: 13px !important;
}

.modal-section-title,
.modal-content label {
    color: var(--modal-label) !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 9px 0 5px !important;
}

.modal-content input:not([type="checkbox"]):not([type="radio"]),
.modal-content select,
.modal-content textarea {
    background: var(--modal-input) !important;
    border: 1px solid rgba(91, 113, 135, 0.62) !important;
    border-radius: 10px !important;
    color: var(--modal-text) !important;
    font-size: 0.94rem !important;
    line-height: 1.35;
    min-height: 42px;
    outline: none;
    padding: 10px 12px !important;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.modal-content textarea {
    line-height: 1.52;
    min-height: 108px;
    resize: vertical;
}

.modal-content input::placeholder,
.modal-content textarea::placeholder {
    color: var(--modal-placeholder) !important;
    opacity: 0.95;
}

.modal-content input:not([type="checkbox"]):not([type="radio"]):focus,
.modal-content select:focus,
.modal-content textarea:focus {
    background: var(--modal-input-focus) !important;
    border-color: rgba(54, 211, 153, 0.72) !important;
    box-shadow: 0 0 0 3px rgba(54, 211, 153, 0.12);
}

.modal-content input:disabled,
.modal-content select:disabled,
.modal-content textarea:disabled,
.modal-content button:disabled {
    cursor: not-allowed !important;
    opacity: 0.58 !important;
}

.modal-content button,
.alert-content button,
.btn-mini,
.cliente-action,
.table-action-btn,
.duplicidade-actions button,
.cliente-form-actions button,
.profile-fixed-actions button {
    align-items: center;
    border-radius: 10px !important;
    display: inline-flex;
    font-weight: 800 !important;
    gap: 7px;
    justify-content: center;
    line-height: 1.15;
    min-height: 38px;
    transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, background-color 0.14s ease, color 0.14s ease;
}

.modal-content button:hover,
.alert-content button:hover,
.btn-mini:hover,
.cliente-action:hover,
.table-action-btn:hover {
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
    transform: translateY(-1px);
}

.modal-content button:active,
.alert-content button:active,
.btn-mini:active,
.cliente-action:active,
.table-action-btn:active {
    transform: translateY(0);
}

.modal-content button:focus-visible,
.alert-content button:focus-visible,
.btn-mini:focus-visible,
.cliente-action:focus-visible,
.table-action-btn:focus-visible {
    outline: 2px solid rgba(54, 211, 153, 0.72);
    outline-offset: 2px;
}

.modal-content .btn-cyan,
.alert-content .btn-cyan,
.cliente-form-actions .btn-cyan,
.profile-fixed-actions .btn-cyan {
    background: linear-gradient(135deg, #0f9f79, #147d95) !important;
    border: 1px solid rgba(54, 211, 153, 0.52) !important;
    color: #ffffff !important;
}

.modal-content .btn-dark,
.alert-content .btn-dark,
.cliente-form-actions .btn-dark,
.profile-fixed-actions .btn-dark {
    background: var(--modal-secondary) !important;
    border: 1px solid rgba(91, 113, 135, 0.56) !important;
    color: var(--modal-label) !important;
}

.btn-mini {
    background: rgba(24, 54, 46, 0.92) !important;
    border: 1px solid rgba(54, 211, 153, 0.46) !important;
    color: #ccffef !important;
    min-height: 30px;
    padding: 6px 10px !important;
}

.btn-mini-red {
    background: rgba(156, 45, 57, 0.92) !important;
    border-color: rgba(248, 113, 113, 0.5) !important;
    color: #fff5f5 !important;
}

.cliente-action,
.table-action-btn {
    aspect-ratio: 1;
    min-height: 34px;
    padding: 0 !important;
    width: 34px;
}

.table-container {
    background: rgba(17, 25, 35, 0.94) !important;
    border: 1px solid rgba(78, 99, 119, 0.5) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
    overflow-x: auto;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

table th {
    background: rgba(9, 15, 23, 0.96) !important;
    border-bottom: 1px solid rgba(95, 117, 140, 0.5) !important;
    color: #dce9f5 !important;
    font-size: 0.73rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em;
    padding: 11px 12px !important;
    text-transform: uppercase;
    white-space: nowrap;
}

table td {
    border-bottom: 1px solid rgba(78, 99, 119, 0.28) !important;
    color: #edf5ff !important;
    line-height: 1.38;
    padding: 10px 12px !important;
}

table tr:hover td {
    background: rgba(54, 211, 153, 0.055);
}

.cliente-card,
.clientes-rec-card,
.plano-card,
.recorrente-item,
.notificacao-card,
.solicitacao-card {
    background: linear-gradient(145deg, rgba(25, 35, 46, 0.98), rgba(16, 24, 34, 0.98)) !important;
    border-color: rgba(80, 103, 125, 0.5) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.13);
    padding: 12px !important;
}

.cliente-card:hover,
.clientes-rec-card:hover,
.plano-card:hover,
.recorrente-item:hover,
.notificacao-card:hover,
.solicitacao-card:hover {
    border-color: rgba(111, 136, 160, 0.72) !important;
}

.cliente-name,
.clientes-rec-card b,
.plano-card span,
.notificacao-card strong {
    color: #f7fbff !important;
    font-weight: 850 !important;
    letter-spacing: 0;
}

.cliente-info,
.clientes-rec-card span,
.notificacao-card p,
.recorrente-item small {
    color: #b8c8d8 !important;
    line-height: 1.44;
}

.cliente-actions,
.duplicidade-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-end;
}

.cliente-pill,
.badge,
.adm-pill,
.notificacao-meta span {
    align-items: center;
    border-radius: 999px !important;
    display: inline-flex;
    font-size: 0.68rem !important;
    font-weight: 850 !important;
    line-height: 1;
    min-height: 24px;
    padding: 5px 9px !important;
}

.notificacao-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.alert-content {
    max-width: min(360px, calc(100vw - 24px)) !important;
    padding: 24px !important;
}

.alert-content .alert-icon {
    margin-bottom: 10px;
}

.jarvis-toast {
    border: 1px solid rgba(83, 107, 129, 0.5);
    border-radius: 12px !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.26);
    line-height: 1.35;
}

.modal-content:has(.recibo-pagamento-section) {
    max-width: min(760px, calc(100vw - 24px)) !important;
}

.recibo-pagamento-textarea {
    font-size: 1rem !important;
    line-height: 1.55 !important;
    min-height: 160px !important;
    resize: vertical;
}

.recibo-pagamento-actions {
    gap: 9px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.recibo-pagamento-actions button {
    min-height: 40px !important;
    width: 100%;
}

.modal-content,
.alert-content,
.table-container,
.notificacoes-lista,
.clientes-rec-lista,
.clientes-lista,
textarea {
    scrollbar-color: rgba(87, 111, 133, 0.72) rgba(10, 16, 23, 0.56);
    scrollbar-width: thin;
}

.modal-content::-webkit-scrollbar,
.alert-content::-webkit-scrollbar,
.table-container::-webkit-scrollbar,
.notificacoes-lista::-webkit-scrollbar,
.clientes-rec-lista::-webkit-scrollbar,
.clientes-lista::-webkit-scrollbar,
textarea::-webkit-scrollbar {
    height: 9px;
    width: 9px;
}

.modal-content::-webkit-scrollbar-track,
.alert-content::-webkit-scrollbar-track,
.table-container::-webkit-scrollbar-track,
.notificacoes-lista::-webkit-scrollbar-track,
.clientes-rec-lista::-webkit-scrollbar-track,
.clientes-lista::-webkit-scrollbar-track,
textarea::-webkit-scrollbar-track {
    background: rgba(10, 16, 23, 0.55);
    border-radius: 999px;
}

.modal-content::-webkit-scrollbar-thumb,
.alert-content::-webkit-scrollbar-thumb,
.table-container::-webkit-scrollbar-thumb,
.notificacoes-lista::-webkit-scrollbar-thumb,
.clientes-rec-lista::-webkit-scrollbar-thumb,
.clientes-lista::-webkit-scrollbar-thumb,
textarea::-webkit-scrollbar-thumb {
    background: rgba(87, 111, 133, 0.72);
    border-radius: 999px;
}

@media (max-width: 768px) {
    .modal-content,
    .alert-content {
        max-width: calc(100vw - 18px) !important;
        padding: 15px !important;
    }

    .modal-content input:not([type="checkbox"]):not([type="radio"]),
    .modal-content select,
    .modal-content textarea {
        font-size: 0.92rem !important;
    }

    .modal-content button,
    .alert-content button {
        width: 100%;
    }

    .recibo-pagamento-actions {
        grid-template-columns: 1fr !important;
    }

    .cliente-card,
    .plano-card,
    .duplicidade-cliente-card {
        grid-template-columns: 1fr !important;
    }

    .cliente-actions,
    .duplicidade-actions {
        justify-content: stretch;
    }

    .cliente-actions button,
    .duplicidade-actions button {
        flex: 1 1 42px;
    }

    table {
        min-width: 680px;
    }
}

/* UI V2 - Etapa 4: acabamento final e design system */
:root,
html[data-theme="dark"] {
    --jarvis-bg: #0f141a;
    --jarvis-surface: #161f2a;
    --jarvis-surface-2: #1c2734;
    --jarvis-surface-soft: rgba(24, 34, 45, 0.94);
    --jarvis-border: rgba(88, 111, 134, 0.52);
    --jarvis-border-strong: rgba(112, 139, 162, 0.7);
    --jarvis-text: #eef6ff;
    --jarvis-text-soft: #bfccda;
    --jarvis-text-muted: #8fa3b6;
    --jarvis-primary: #36d399;
    --jarvis-primary-2: #00c3ff;
    --jarvis-success: #22c55e;
    --jarvis-danger: #ef5f72;
    --jarvis-warning: #e8bf55;
    --jarvis-purple: #a79af0;
    --jarvis-radius-xs: 8px;
    --jarvis-radius-sm: 10px;
    --jarvis-radius-md: 13px;
    --jarvis-radius-lg: 16px;
    --jarvis-space-1: 6px;
    --jarvis-space-2: 10px;
    --jarvis-space-3: 14px;
    --jarvis-space-4: 18px;
    --jarvis-shadow-sm: 0 8px 20px rgba(0, 0, 0, 0.16);
    --jarvis-shadow-md: 0 14px 32px rgba(0, 0, 0, 0.22);
    --jarvis-shadow-lg: 0 24px 58px rgba(0, 0, 0, 0.34);
    --jarvis-focus: 0 0 0 3px rgba(54, 211, 153, 0.14);
    --modal-overlay: rgba(5, 10, 16, 0.82);
    --modal-surface: linear-gradient(145deg, rgba(28, 38, 50, 0.98), rgba(18, 26, 36, 0.98));
    --modal-surface-2: rgba(10, 17, 25, 0.42);
    --modal-border: rgba(83, 107, 129, 0.58);
    --modal-text: #eef6ff;
    --modal-title: #f8fbff;
    --modal-subtitle: #bdcadd;
    --modal-label: #d9e6f3;
    --modal-input: rgba(12, 19, 28, 0.94);
    --modal-input-focus: rgba(15, 25, 36, 0.98);
    --modal-placeholder: #9dadbc;
    --modal-secondary: rgba(22, 32, 43, 0.96);
    --modal-success-soft: #102018;
    --modal-shadow: 0 22px 55px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body {
    background:
        radial-gradient(circle at top right, rgba(0, 195, 255, 0.035), transparent 34%),
        var(--jarvis-bg);
    color: var(--jarvis-text);
    text-rendering: geometricPrecision;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
[role="button"],
.btn-cyan,
.btn-dark,
.btn-mini,
.cliente-action,
.table-action-btn,
.adm-icon-btn,
.notificacoes-tabs button,
.clientes-tab-btn {
    -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid rgba(54, 211, 153, 0.72);
    outline-offset: 2px;
}

.card,
.header-box,
.sidebar,
.dashboard-panel-card,
.dashboard-finance-card,
.dashboard-mini-card,
.finance-summary,
.finance-mini-card,
.finance-chart-box,
.modal-content,
.modal-section,
.table-container,
.notificacao-card,
.lembrete-item,
.agenda-item,
.veiculo-item,
.recorrente-item,
.cliente-card,
.clientes-rec-card,
.plano-card,
.solicitacao-card,
.adm-user-row,
.alert-content {
    border-color: var(--jarvis-border) !important;
}

.card,
.dashboard-panel-card,
.dashboard-finance-card,
.dashboard-mini-card,
.finance-mini-card,
.modal-section,
.notificacao-card,
.cliente-card,
.clientes-rec-card,
.plano-card,
.solicitacao-card,
.recorrente-item,
.lembrete-item,
.agenda-item,
.veiculo-item {
    box-shadow: var(--jarvis-shadow-sm);
}

.modal-content,
.alert-content {
    box-shadow: var(--jarvis-shadow-lg), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.table-container,
.finance-summary,
.finance-chart-box {
    box-shadow: var(--jarvis-shadow-md);
}

.btn-cyan,
.btn-dark,
.btn-mini,
.modal-content button,
.alert-content button,
.cliente-action,
.table-action-btn,
.adm-icon-btn,
.notificacoes-tabs button,
.clientes-tab-btn {
    letter-spacing: 0;
    min-height: 38px;
}

.btn-cyan,
.modal-content .btn-cyan,
.alert-content .btn-cyan {
    background: linear-gradient(135deg, rgba(54, 211, 153, 0.92), rgba(0, 195, 255, 0.66)) !important;
    border-color: rgba(54, 211, 153, 0.58) !important;
    color: #07120f !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 8px 18px rgba(54, 211, 153, 0.13);
}

.btn-dark,
.modal-content .btn-dark,
.alert-content .btn-dark {
    background: rgba(27, 39, 51, 0.96) !important;
    border-color: var(--jarvis-border) !important;
    color: var(--jarvis-text) !important;
}

.btn-cyan:hover,
.btn-dark:hover,
.btn-mini:hover,
.cliente-action:hover,
.table-action-btn:hover,
.adm-icon-btn:hover,
.notificacoes-tabs button:hover,
.clientes-tab-btn:hover {
    border-color: var(--jarvis-border-strong) !important;
    filter: saturate(1.04);
}

input,
select,
textarea {
    accent-color: var(--jarvis-primary);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
    caret-color: var(--jarvis-primary);
}

label,
.modal-section-title,
.finance-summary-kicker,
.dashboard-mini-title,
.dashboard-panel-header h3,
.card h4 {
    color: var(--jarvis-text-soft) !important;
}

.muted,
small,
.cliente-info,
.dashboard-mini-description,
.dashboard-mini-date,
.notificacao-card p,
.clientes-rec-card span,
.recorrente-header,
.lembrete-meta,
.agenda-meta,
.veiculo-meta {
    color: var(--jarvis-text-muted) !important;
}

.badge,
.cliente-pill,
.adm-pill,
.notificacao-meta span,
.dashboard-mini-badge,
.dashboard-status-badge,
.finance-summary-status {
    border: 1px solid rgba(112, 139, 162, 0.42);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.badge-entrada,
.cliente-pill.recorrente,
.notificacoes-tabs button.is-active,
.clientes-tab-btn.is-active,
.btn-filter-active {
    border-color: rgba(54, 211, 153, 0.56) !important;
}

.badge-pf {
    border-color: rgba(0, 195, 255, 0.5) !important;
}

.badge-pj {
    border-color: rgba(232, 191, 85, 0.5) !important;
}

.notificacao-card.atrasado,
.btn-mini-red,
.cliente-action.delete {
    border-color: rgba(239, 95, 114, 0.55) !important;
}

.modal-content,
.alert-content,
.table-container,
.clientes-lista,
.clientes-rec-lista,
.notificacoes-lista,
textarea {
    overscroll-behavior: contain;
}

.modal-content > button[onclick="fecharModal()"]:not(.profile-scroll-btn) {
    border-radius: 999px !important;
}

img,
canvas,
svg {
    max-width: 100%;
}

.main,
.modal-content,
.alert-content,
.table-container {
    min-width: 0;
}

@media (hover: hover) {
    .card:hover,
    .dashboard-panel-card:hover,
    .dashboard-finance-card:hover,
    .dashboard-mini-card:hover,
    .finance-mini-card:hover,
    .notificacao-card:hover,
    .cliente-card:hover,
    .clientes-rec-card:hover,
    .plano-card:hover,
    .recorrente-item:hover,
    .solicitacao-card:hover {
        box-shadow: var(--jarvis-shadow-md);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }
}

@media (max-width: 560px) {
    body {
        font-size: 13px;
    }

    .btn-cyan,
    .btn-dark,
    .btn-mini,
    .modal-content button,
    .alert-content button {
        min-height: 40px;
    }

    .modal-content,
    .alert-content {
        border-radius: var(--jarvis-radius-md) !important;
    }
}
.dashboard-intelligence { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,0.85fr); gap:10px; margin-bottom:12px; }
.dashboard-priority-panel, .dashboard-day-summary { min-width:0; padding:13px; border:1px solid #354255; border-radius:12px; background:linear-gradient(145deg,#1b2330,#171e28); }
.dashboard-intelligence-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.dashboard-intelligence-heading h3 { margin:2px 0 0; color:#e9eef5; font-size:.78rem; letter-spacing:.55px; }
.dashboard-intelligence-kicker { color:#8290a3; font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.45px; }
.dashboard-intelligence-link { width:auto; min-height:28px; margin:0; padding:5px 9px; border:1px solid #405069; border-radius:7px; background:#222c3a; color:#b9c7d8; font-size:.65rem; font-weight:700; cursor:pointer; }
.dashboard-priority-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.dashboard-priority-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; width:100%; min-height:39px; margin:0; padding:7px 9px; border:1px solid #405069; border-left-width:3px; border-radius:8px; background:#202a37; color:#dce5ef; text-align:left; cursor:pointer; }
.dashboard-priority-item strong { font-size:1rem; }
.dashboard-priority-item span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.69rem; font-weight:700; }
.dashboard-priority-item small { font-size:.57rem; font-weight:800; }
.dashboard-priority-item.is-critical { border-left-color:#d2707e; } .dashboard-priority-item.is-critical strong,.dashboard-priority-item.is-critical small { color:#ed9aa6; }
.dashboard-priority-item.is-attention { border-left-color:#d6ae62; } .dashboard-priority-item.is-attention strong,.dashboard-priority-item.is-attention small { color:#e5c27e; }
.dashboard-priority-item.is-info { border-left-color:#6f9fc8; } .dashboard-priority-item.is-info strong,.dashboard-priority-item.is-info small { color:#8db8dc; }
.dashboard-priority-empty { grid-column:1/-1; display:flex; align-items:center; justify-content:center; gap:8px; min-height:54px; border:1px dashed #405069; border-radius:8px; color:#91b9a3; font-size:.72rem; }
.dashboard-summary-status { color:#8290a3; font-size:.6rem; }
.dashboard-day-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.dashboard-day-grid > div { min-width:0; padding:7px 8px; border-radius:7px; background:#202a37; }
.dashboard-day-grid span { display:block; color:#8f9daf; font-size:.59rem; }
.dashboard-day-grid strong { display:block; margin-top:3px; color:#dce5ef; font-size:.78rem; overflow-wrap:anywhere; }
.dashboard-day-grid .is-positive { color:#79bd97; } .dashboard-day-grid .is-negative { color:#dd8b98; }
.dashboard-smart-cards { grid-column:1/-1; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:7px; }
.dashboard-smart-card { min-width:0; padding:9px 10px; border:1px solid #354255; border-top-width:2px; border-radius:9px; background:#19212c; }
.dashboard-smart-card[role="button"] { cursor:pointer; }
.dashboard-smart-card span { display:block; color:#8998aa; font-size:.59rem; line-height:1.2; }
.dashboard-smart-card strong { display:block; margin-top:5px; color:#e3eaf2; font-size:.82rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dashboard-smart-card.is-critical { border-top-color:#d2707e; } .dashboard-smart-card.is-attention { border-top-color:#d6ae62; } .dashboard-smart-card.is-info { border-top-color:#6f9fc8; } .dashboard-smart-card.is-positive { border-top-color:#65a389; } .dashboard-smart-card.is-negative { border-top-color:#c77a86; }
html[data-theme="light"] .dashboard-priority-panel, html[data-theme="light"] .dashboard-day-summary, html[data-theme="light"] .dashboard-smart-card { background:#fff; border-color:#d6e0e9; }
html[data-theme="light"] .dashboard-priority-item, html[data-theme="light"] .dashboard-day-grid > div { background:#f3f6fa; border-color:#d3dde7; color:#34475b; }
html[data-theme="light"] .dashboard-intelligence-heading h3, html[data-theme="light"] .dashboard-day-grid strong, html[data-theme="light"] .dashboard-smart-card strong { color:#2d4054; }
@media (max-width:1050px) { .dashboard-smart-cards { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:760px) { .dashboard-intelligence { grid-template-columns:1fr; } .dashboard-smart-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:430px) { .dashboard-priority-list,.dashboard-day-grid { grid-template-columns:1fr; } .dashboard-smart-card strong { white-space:normal; } }

/* Aba Contas > Cartões: organização financeira responsiva (UI V2). */
#painelRecCartoes .cartoes-lista-section { padding-bottom: 24px; }
#painelRecCartoes .cartoes-lista { display: grid; gap: 24px; margin-top: 14px; }
#painelRecCartoes .cartao-card { box-sizing: border-box; min-width: 0; padding: 20px; border: 1px solid var(--border); border-left: 3px solid var(--cyan); border-radius: 12px; background: #0d1117; box-shadow: 0 10px 28px rgba(0,0,0,.18); }
#painelRecCartoes .cartao-card-cabecalho, #painelRecCartoes .cartao-card-identidade { display: flex; align-items: center; min-width: 0; }
#painelRecCartoes .cartao-card-cabecalho { justify-content: space-between; gap: 20px; }
#painelRecCartoes .cartao-card-identidade { gap: 14px; }
#painelRecCartoes .cartao-card-imagem { width: 76px; height: 52px; flex: 0 0 76px; object-fit: cover; border: 1px solid var(--border); border-radius: 9px; background: #161b22; }
#painelRecCartoes .cartao-card-titulo { min-width: 0; }
#painelRecCartoes .cartao-card-titulo > strong { display: block; overflow-wrap: anywhere; font-size: 1.08em; }
#painelRecCartoes .cartao-card-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
#painelRecCartoes .cartao-card-chips span { display: inline-flex; align-items: center; min-height: 25px; box-sizing: border-box; padding: 4px 9px; border: 1px solid var(--border); border-radius: 999px; background: #161b22; color: #c9d1d9; font-size: .76em; line-height: 1; }
#painelRecCartoes .cartao-card-limite-total { flex: 0 0 auto; text-align: right; }
#painelRecCartoes .cartao-card small { display: block; color: #8b949e; font-size: .76em; letter-spacing: .02em; }
#painelRecCartoes .cartao-card strong { display: block; margin-top: 4px; color: var(--text); font-size: .96em; }
#painelRecCartoes .cartao-card-limite-total strong { color: var(--cyan); font-size: 1.12em; white-space: nowrap; }
#painelRecCartoes .cartao-card-bloco { box-sizing: border-box; min-width: 0; padding: 14px; border: 1px solid rgba(139,148,158,.18); border-radius: 9px; background: #111820; }
#painelRecCartoes .cartao-card-resumo { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 18px; }
#painelRecCartoes .cartao-card-resumo .is-usado strong { color: #ff9a8d; }
#painelRecCartoes .cartao-card-resumo .is-disponivel strong { color: #58d68d; }
#painelRecCartoes .cartao-card-progresso { grid-column: 1/-1; margin-top: 2px; }
#painelRecCartoes .cartao-card-progresso > div:first-child { display: flex; justify-content: space-between; gap: 12px; color: #aab4c0; font-size: .78em; }
#painelRecCartoes .cartao-card-trilho { height: 8px; overflow: hidden; margin-top: 8px; border-radius: 999px; background: #252d38; }
#painelRecCartoes .cartao-card-trilho span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--cyan),#ff9a63); transition: width .25s ease; }
#painelRecCartoes .cartao-card-detalhes { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(0,1.3fr); gap: 14px; margin-top: 14px; }
#painelRecCartoes .cartao-card-datas .is-fechamento { border-color: rgba(227,179,65,.4); color: #e3b341; }
#painelRecCartoes .cartao-card-fatura { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
#painelRecCartoes .cartao-card-fatura strong { color: #79c0ff; overflow-wrap: anywhere; }
#painelRecCartoes .cartao-card-acoes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 18px; }
#painelRecCartoes .cartao-card-acoes .btn-mini { width: 100%; min-height: 40px; box-sizing: border-box; padding: 9px 12px; font-size: .82em; }
#painelRecCartoes .cartao-card-acoes .btn-mini:hover { transform: translateY(-1px); filter: brightness(1.1); }
#painelRecCartoes .cartao-card-acoes .btn-mini:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
#painelRecCartoes { scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: #394654 transparent; }
#painelRecCartoes::-webkit-scrollbar { width: 8px; }
#painelRecCartoes::-webkit-scrollbar-thumb { border-radius: 999px; background: #394654; }
#modalContent:has(#painelRecCartoes) { width:min(1080px,94vw); max-width:1080px; }
#painelRecCartoes { max-height:min(72vh,760px)!important; padding-right:5px; }
#painelRecCartoes .cartao-detail-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px; border:1px solid var(--border); border-radius:12px; background:#0d1117; }
#painelRecCartoes .cartao-detail-header h3 { margin:0 0 5px; }
#painelRecCartoes .cartao-detail-header > div:last-child { text-align:right; }
#painelRecCartoes .cartao-detail-header > div:last-child strong { display:block; margin-top:5px; color:var(--cyan); font-size:1.3em; white-space:nowrap; }
#painelRecCartoes .cartao-tabs { display:flex; gap:6px; margin:16px 0; padding:5px; border:1px solid var(--border); border-radius:10px; background:#0d1117; }
#painelRecCartoes .cartao-tabs button { flex:1; min-height:38px; border:0; border-radius:7px; background:transparent; color:#9da7b3; font-weight:700; text-transform:uppercase; cursor:pointer; }
#painelRecCartoes .cartao-tabs button.is-active { background:#15382e; color:#8ff0cc; }
#painelRecCartoes .cartao-tab-content { min-height:220px; }
#painelRecCartoes .cartao-resumo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#painelRecCartoes .cartao-resumo-grid section, #painelRecCartoes .cartao-uso, #painelRecCartoes .cartao-detail-grid > section { padding:16px; border:1px solid rgba(139,148,158,.2); border-radius:10px; background:#111820; }
#painelRecCartoes .cartao-resumo-grid small, #painelRecCartoes .cartao-detail-grid small { display:block; color:#8b949e; }
#painelRecCartoes .cartao-resumo-grid strong { display:block; margin-top:6px; font-size:1.18em; }
#painelRecCartoes .is-negative strong, #painelRecCartoes .is-negative span, #painelRecCartoes .cartao-uso p { color:var(--red); }
#painelRecCartoes .is-positive strong { color:#58d68d; }
#painelRecCartoes .cartao-uso, #painelRecCartoes .cartao-detail-grid { margin-top:14px; }
#painelRecCartoes .cartao-uso > div:first-child { display:flex; justify-content:space-between; gap:15px; }
#painelRecCartoes .cartao-detail-grid { display:grid; grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr); gap:14px; }
#painelRecCartoes .cartao-proxima-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
#painelRecCartoes .cartao-proxima-grid strong { display:block; margin-top:5px; color:#79c0ff; overflow-wrap:anywhere; }
#painelRecCartoes .cartao-detail-actions, #painelRecCartoes .cartao-item-actions { display:flex; flex-wrap:wrap; gap:8px; }
#painelRecCartoes .cartao-detail-actions, #painelRecCartoes .cartao-voltar { margin-top:16px; }
#painelRecCartoes .cartao-voltar { text-align:center; }
#painelRecCartoes .cartao-compras-lista, #painelRecCartoes .cartao-faturas-lista, #painelRecCartoes .cartao-lancamentos { display:grid; gap:10px; }
#painelRecCartoes .cartao-compra-item, #painelRecCartoes .cartao-fatura-item, #painelRecCartoes .cartao-lancamento { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 20px; padding:15px; border:1px solid rgba(139,148,158,.22); border-radius:10px; background:#111820; }
#painelRecCartoes .cartao-item-main span, #painelRecCartoes .cartao-fatura-item > div:first-child span { display:block; margin-top:5px; color:#9da7b3; font-size:.82em; }
#painelRecCartoes .cartao-item-side { text-align:right; }
#painelRecCartoes .cartao-item-side > strong { display:block; margin-bottom:7px; white-space:nowrap; }
#painelRecCartoes .cartao-item-actions { grid-column:1/-1; }
#painelRecCartoes .cartao-item-actions .is-danger { background:#3a1515; color:var(--red); border-color:rgba(248,81,73,.55); }
#painelRecCartoes .cartao-status { display:inline-flex; padding:4px 8px; border:1px solid; border-radius:999px; font-size:.7em; font-weight:700; }
#painelRecCartoes .cartao-status.is-aberta { color:#79c0ff; border-color:#315f84; }
#painelRecCartoes .cartao-status.is-fechada { color:#e3b341; border-color:#725b24; }
#painelRecCartoes .cartao-status.is-paga { color:#58d68d; border-color:#286743; }
#painelRecCartoes .cartao-status.is-vencida { color:#ff7b72; border-color:#793a37; }
#painelRecCartoes .cartao-status.is-prevista { color:#a5aeb8; border-color:#505965; }
#painelRecCartoes .cartao-empty { padding:30px; text-align:center; color:#8b949e; }
#painelRecCartoes .cartao-fatura-tela { padding:0; }
#painelRecCartoes .cartao-fatura-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:14px; padding:5px; border:1px solid var(--border); border-radius:10px; background:#0d1117; }
#painelRecCartoes .cartao-fatura-tabs button { min-height:38px; padding:7px; border:0; border-radius:7px; background:transparent; color:#9da7b3; font-size:.76em; font-weight:800; cursor:pointer; }
#painelRecCartoes .cartao-fatura-tabs button.is-active { background:#15382e; color:#8ff0cc; }
#painelRecCartoes .cartao-fatura-aba { min-height:230px; }
#painelRecCartoes .cartao-fatura-cabecalho { display:grid; grid-template-columns:minmax(145px,.7fr) minmax(0,2fr); gap:18px; padding:18px; border:1px solid rgba(111,159,200,.35); border-left:4px solid var(--blue); border-radius:10px; background:#0d1117; }
#painelRecCartoes .cartao-fatura-cabecalho h3 { margin:3px 0; color:var(--cyan); font-size:1.16em; }
#painelRecCartoes .cartao-fatura-cabecalho > div > small, #painelRecCartoes .cartao-fatura-cabecalho > div > span { color:#8b949e; }
#painelRecCartoes .cartao-fatura-cabecalho-dados { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; align-items:center; }
#painelRecCartoes .cartao-fatura-cabecalho-dados small, #painelRecCartoes .cartao-fatura-cabecalho-dados strong { display:block; }
#painelRecCartoes .cartao-fatura-cabecalho-dados small { margin-bottom:4px; color:#8b949e; font-size:.7em; }
#painelRecCartoes .cartao-fatura-cabecalho-dados strong { overflow-wrap:anywhere; font-size:.86em; }
#painelRecCartoes .cartao-fatura-resumo { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:12px 0; }
#painelRecCartoes .cartao-fatura-resumo section { min-width:0; padding:13px; border:1px solid rgba(139,148,158,.2); border-radius:9px; background:#111820; }
#painelRecCartoes .cartao-fatura-resumo small, #painelRecCartoes .cartao-fatura-resumo strong { display:block; }
#painelRecCartoes .cartao-fatura-resumo small { color:#8b949e; }
#painelRecCartoes .cartao-fatura-resumo strong { margin-top:5px; overflow-wrap:anywhere; }
#painelRecCartoes .cartao-fatura-resumo .is-negative span { display:block; margin-top:4px; color:var(--red); font-size:.72em; font-weight:700; }
#painelRecCartoes .cartao-fatura-lancamentos { padding:16px; border:1px solid var(--border); border-radius:10px; background:#0d1117; }
#painelRecCartoes .cartao-fatura-lancamentos > footer { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; padding-top:12px; border-top:1px solid var(--border); }
#painelRecCartoes .cartao-fatura-lancamentos > footer strong { color:var(--cyan); font-size:1.08em; }
#painelRecCartoes .cartao-lancamento { grid-template-columns:1fr; }
#painelRecCartoes .cartao-lancamento-dados, #painelRecCartoes .cartao-fatura-navegacao-card dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:10px 0 0; }
#painelRecCartoes dl, #painelRecCartoes dt, #painelRecCartoes dd { margin:0; }
#painelRecCartoes .cartao-lancamento-dados dt, #painelRecCartoes .cartao-fatura-navegacao-card dt { color:#8b949e; font-size:.72em; }
#painelRecCartoes .cartao-lancamento-dados dd, #painelRecCartoes .cartao-fatura-navegacao-card dd { margin-top:3px; font-size:.84em; font-weight:650; }
#painelRecCartoes .cartao-fatura-acoes { display:flex; justify-content:flex-end; margin-top:12px; }
#painelRecCartoes .cartao-fatura-acoes button { width:auto; min-width:180px; }
#painelRecCartoes .cartao-fatura-navegacao-lista { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#painelRecCartoes .cartao-fatura-navegacao-card { display:flex; flex-direction:column; gap:8px; min-width:0; padding:15px; border:1px solid rgba(111,159,200,.3); border-left:3px solid var(--blue); border-radius:10px; background:#111820; }
#painelRecCartoes .cartao-fatura-navegacao-card.is-paid { border-color:rgba(88,214,141,.3); border-left-color:var(--green); }
#painelRecCartoes .cartao-fatura-navegacao-card > div:first-child small, #painelRecCartoes .cartao-fatura-navegacao-card > div:first-child strong { display:block; }
#painelRecCartoes .cartao-fatura-navegacao-card > div:first-child small { color:#8b949e; font-size:.69em; font-weight:800; }
#painelRecCartoes .cartao-fatura-navegacao-card > div:first-child strong { margin-top:3px; }
#painelRecCartoes .cartao-fatura-navegacao-card button { margin-top:auto; }
#painelRecCartoes .cartao-fatura-navegacao { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
#painelRecCartoes .cartao-fatura-navegacao button { margin:0; text-align:center; }
@media (max-width: 620px) {
  #painelRecCartoes .cartao-card { padding: 16px; }
  #painelRecCartoes .cartao-card-cabecalho { align-items: flex-start; }
  #painelRecCartoes .cartao-card-limite-total { display: none; }
  #painelRecCartoes .cartao-card-resumo, #painelRecCartoes .cartao-card-fatura { grid-template-columns: 1fr; }
  #painelRecCartoes .cartao-card-detalhes { grid-template-columns: 1fr; }
  #painelRecCartoes .cartao-card-acoes { grid-template-columns: 1fr; }
  #painelRecCartoes .cartao-resumo-grid, #painelRecCartoes .cartao-detail-grid, #painelRecCartoes .cartao-proxima-grid { grid-template-columns:1fr; }
  #painelRecCartoes .cartao-detail-header, #painelRecCartoes .cartao-compra-item, #painelRecCartoes .cartao-fatura-item, #painelRecCartoes .cartao-lancamento { grid-template-columns:1fr; display:grid; }
  #painelRecCartoes .cartao-detail-header > div:last-child, #painelRecCartoes .cartao-item-side { text-align:left; }
  #painelRecCartoes .cartao-detail-actions, #painelRecCartoes .cartao-item-actions { display:grid; grid-template-columns:1fr; }
  #painelRecCartoes .cartao-fatura-tabs, #painelRecCartoes .cartao-fatura-cabecalho, #painelRecCartoes .cartao-fatura-cabecalho-dados, #painelRecCartoes .cartao-fatura-resumo, #painelRecCartoes .cartao-lancamento-dados, #painelRecCartoes .cartao-fatura-navegacao-card dl, #painelRecCartoes .cartao-fatura-navegacao-lista, #painelRecCartoes .cartao-fatura-navegacao { grid-template-columns:1fr; }
  #painelRecCartoes .cartao-fatura-cabecalho, #painelRecCartoes .cartao-fatura-lancamentos { padding:12px; }
  #painelRecCartoes .cartao-fatura-acoes, #painelRecCartoes .cartao-fatura-acoes button { width:100%; }
}
@media (min-width: 621px) and (max-width: 920px) {
  #painelRecCartoes .cartao-fatura-cabecalho { grid-template-columns:1fr; }
  #painelRecCartoes .cartao-fatura-cabecalho-dados, #painelRecCartoes .cartao-fatura-resumo { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 390px) {
  #painelRecCartoes .cartao-card-identidade { align-items: flex-start; }
  #painelRecCartoes .cartao-card-imagem { width: 60px; height: 44px; flex-basis: 60px; }
}

/* Modal Registrar pagamento da conta (UI V2). */
.pagamento-conta-form .pagamento-cliente-resumo { margin-bottom: 16px; }
.pagamento-conta-form .pagamento-conta-valor { font-size: 1.05rem; font-weight: 700; border-color: rgba(54,211,153,.55); }
.pagamento-conta-form .pagamento-conta-valor:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(54,211,153,.12); }
.pagamento-conta-diferenca { align-items: center; justify-content: space-between; gap: 12px; margin-top: 9px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: #111820; font-size: .84em; }
.pagamento-conta-diferenca.is-acrescimo { border-color: rgba(255,159,67,.45); color: var(--orange); }
.pagamento-conta-diferenca.is-desconto { border-color: rgba(46,204,113,.45); color: var(--green); }
.pagamento-conta-erro { margin: 10px 0 0; padding: 9px 11px; border: 1px solid rgba(255,65,108,.45); border-radius: 8px; background: rgba(255,65,108,.08); color: #ff8ca5; font-size: .8em; }
.pagamento-baixa-form { max-height:min(68vh,620px); overflow-y:auto; }
.pagamento-baixa-nome { display:block; margin:4px 0 12px; color:var(--text); font-size:1.05rem; overflow-wrap:anywhere; }
.pagamento-baixa-form .pagamento-cliente-resumo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; padding:12px; border:1px solid var(--border); border-radius:9px; background:#111820; }
.pagamento-baixa-form .pagamento-cliente-resumo span { min-width:0; color:#9da7b3; overflow-wrap:anywhere; }
.pagamento-baixa-form .pagamento-cliente-resumo b { color:var(--text); }
.pagamento-baixa-subtitulo { margin-top:16px; }
@media (max-width:620px) {
  .pagamento-baixa-form .pagamento-cliente-resumo { grid-template-columns:1fr; }
  .pagamento-baixa-form + .cliente-form-actions { display:grid; grid-template-columns:1fr; }
  .pagamento-baixa-form + .cliente-form-actions button { width:100%; }
}

/* Tipografia global V137: nitidez e escala consistente sem alterar o layout. */
:root {
  --jarvis-font-family: Inter, "Segoe UI", Arial, sans-serif;
  --jarvis-font-title: 1.25rem;
  --jarvis-font-subtitle: .95rem;
  --jarvis-font-body: .875rem;
  --jarvis-font-label: .8125rem;
  --jarvis-font-chip: .75rem;
  --jarvis-font-button: .8125rem;
  --jarvis-line-body: 1.45;
}

html,
body,
button,
input,
select,
textarea,
table,
th,
td {
  font-family: var(--jarvis-font-family) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body { font-weight:400; line-height:var(--jarvis-line-body); }

.text-title,
.modal-content > h3,
.alert-content > h3,
.notificacoes-cabecalho h3,
.login-form-title {
  font-size:var(--jarvis-font-title) !important;
  font-weight:750 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
}

.text-subtitle,
.modal-section-title,
.dashboard-panel-header h3,
.finance-summary-heading h3,
.dashboard-intelligence-heading h3 {
  font-size:var(--jarvis-font-subtitle) !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  letter-spacing:.01em !important;
}

p,
td,
.text-body,
.cliente-name,
.categoria-nome,
.plano-card span,
.notificacao-card > p,
.ia-card-text,
.cartao-item-main strong {
  font-size:var(--jarvis-font-body) !important;
  line-height:var(--jarvis-line-body) !important;
}

label,
.text-label,
.clientes-count,
.notificacoes-footer > span,
.finance-summary-kicker,
.dashboard-intelligence-kicker,
.notificacoes-grupo-titulo,
.card h4 {
  font-size:var(--jarvis-font-label) !important;
  font-weight:650 !important;
  line-height:1.3 !important;
  letter-spacing:.01em !important;
  opacity:1 !important;
}

input,
select,
textarea {
  font-size:var(--jarvis-font-body) !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  opacity:1 !important;
}

input::placeholder,
textarea::placeholder {
  color:var(--jarvis-text-muted, #9aa8b8);
  font-size:var(--jarvis-font-body);
  font-weight:450;
  opacity:.9;
}

button,
.btn-cyan,
.btn-dark,
.btn-mini,
.btn-action-small,
.clientes-tab-btn,
.notificacoes-tabs button,
.duplicidade-btn,
.dashboard-intelligence-link {
  font-size:var(--jarvis-font-button) !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
}

.badge,
.cliente-pill,
.adm-pill,
.notificacao-status,
.notificacao-meta span,
.notificacoes-resumo span,
.dashboard-mini-badge,
.dashboard-status-badge,
.finance-summary-status,
.cartao-status,
.cartao-card-chips span,
.tag-conta,
.tag-saida,
.tag-transferencia {
  min-height:24px;
  padding:4px 8px !important;
  font-size:var(--jarvis-font-chip) !important;
  font-weight:650 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  opacity:1 !important;
}

small,
.text-muted,
.cliente-link-help,
.pagamento-cliente-help,
.clientes-rec-card span,
.solicitacao-card span,
.categoria-meta,
.dashboard-mini-description,
.dashboard-mini-date,
.recorrente-header,
.lembrete-meta,
.agenda-meta,
.veiculo-meta,
.cartao-item-main span,
.cartao-fatura-item > div:first-child span {
  font-size:.75rem !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  opacity:1 !important;
}

/* Adiamento temporario da cobranca na Central de Avisos. */
.notificacao-cobranca-adiada { margin:8px 0 0; color:var(--cyan); font-size:.8rem; font-weight:700; }
.adiar-cobranca-form { min-width:0; }
.adiar-cobranca-form > p { display:flex; flex-direction:column; gap:3px; margin:8px 0 12px; }
.adiar-cobranca-form > p small { color:#8b949e; }
.adiar-cobranca-form input[type="date"] { width:100%; max-width:100%; box-sizing:border-box; }
.adiar-cobranca-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; margin-top:12px; }
.adiar-cobranca-actions button { width:100%; min-width:0; white-space:normal; }
html[data-theme="light"] .notificacao-cobranca-adiada { color:#087f8c; }
@media (max-width:480px) {
    .adiar-cobranca-actions { grid-template-columns:1fr; }
}

.dashboard-mini-title,
.cliente-name,
.clientes-rec-card b,
.categoria-nome,
.notificacao-card strong,
.cartao-item-main strong {
  font-size:.9375rem !important;
  line-height:1.35 !important;
}

.dashboard-mini-description,
.dashboard-mini-date,
.dashboard-mini-days,
.recorrente-header,
.clientes-rec-card span,
.cartao-item-main span,
.cartao-fatura-item > div:first-child span {
  font-size:.8125rem !important;
  line-height:1.4 !important;
}

.dashboard-mini-card {
  height:auto;
  min-height:180px;
}

.dashboard-mini-title,
.dashboard-mini-description {
  display:block;
  overflow:visible;
  -webkit-line-clamp:unset;
}

table th {
  font-size:.75rem !important;
}

.card .val,
.dashboard-mini-value,
.dashboard-finance-card .val,
.pagamento-conta-valor,
.cartao-card-limite-total strong {
  font-size:1rem !important;
  font-weight:750 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
}

@media (max-width:620px) {
  :root {
    --jarvis-font-title:1.125rem;
    --jarvis-font-subtitle:.9rem;
  }
  button,
  .btn-cyan,
  .btn-dark,
  .btn-mini { font-size:.8125rem !important; }
}

/* Central de Avisos V137: painel compacto, sem alterar eventos ou regras. */
.modal-content:has(.notificacoes-lista) { width:min(720px,calc(100vw - 24px)); max-height:min(88vh,820px); overflow:hidden; display:flex; flex-direction:column; }
.notificacoes-cabecalho { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:9px; }
.notificacoes-cabecalho h3 { margin:0; color:var(--jarvis-text) !important; font-size:.98rem; letter-spacing:.02em; }
.notificacoes-cabecalho > strong { color:var(--cyan); font-size:.78rem; white-space:nowrap; }
.notificacoes-resumo { flex:0 0 auto; margin-bottom:8px; padding:6px !important; }
.notificacoes-busca { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; align-items:center; margin-bottom:8px; }
.notificacoes-busca input { min-width:0; margin:0 !important; }
.notificacoes-busca button { width:auto; min-height:36px; margin:0 !important; padding:7px 10px !important; font-size:.68rem !important; white-space:nowrap; }
.notificacoes-busca-vazia { display:grid; justify-items:center; gap:8px; padding:18px 8px; color:#8b949e; text-align:center; }
.notificacoes-busca-vazia p { margin:0; font-size:.82em; }
.notificacoes-busca-vazia button { width:auto; margin:0 !important; }
.notificacoes-tabs { margin-top:0 !important; gap:5px !important; }
.notificacoes-tabs button { position:relative; min-height:34px !important; padding:6px 7px !important; }
.notificacoes-tabs button.is-active { box-shadow:inset 0 -2px 0 var(--cyan); }
.notificacoes-lista { flex:1 1 auto; min-height:110px; max-height:min(57vh,520px) !important; gap:7px; padding:1px 6px 12px 1px; overflow-x:hidden; scroll-behavior:smooth; scrollbar-gutter:stable; }
.notificacoes-grupo { gap:7px; }
.notificacoes-grupo-titulo { margin:2px 0 0; font-size:.75rem; }
.notificacao-card { padding:10px 11px !important; border-radius:10px !important; box-shadow:none !important; }
.notificacao-card-cabecalho { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.notificacao-card-cabecalho > strong { min-width:0; margin:0 !important; font-size:.9375rem !important; line-height:1.3; overflow-wrap:anywhere; }
.notificacao-status { flex:0 0 auto; display:inline-flex; align-items:center; min-height:23px; padding:4px 8px; border:1px solid; border-radius:999px; font-size:.75rem; font-weight:800; line-height:1; white-space:nowrap; }
.notificacao-status.is-overdue { color:#ff8998; border-color:rgba(239,95,114,.52); background:rgba(239,95,114,.09); }
.notificacao-status.is-today { color:#f2ce72; border-color:rgba(232,191,85,.5); background:rgba(232,191,85,.09); }
.notificacao-status.is-future { color:#79c9ef; border-color:rgba(0,195,255,.4); background:rgba(0,195,255,.07); }
.notificacao-status.is-system { color:#b7c4d2; border-color:rgba(112,139,162,.42); background:rgba(112,139,162,.08); }
.notificacao-card > p { margin-top:5px; font-size:.8125rem !important; line-height:1.4 !important; }
.notificacao-meta { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px !important; margin:8px 0 !important; }
.notificacao-meta span { display:flex !important; flex-direction:column; align-items:flex-start !important; justify-content:center; min-width:0; min-height:40px; padding:5px 8px !important; border-radius:7px !important; color:var(--jarvis-text) !important; overflow-wrap:anywhere; }
.notificacao-meta span small { display:block; margin-bottom:3px; color:var(--jarvis-text-muted) !important; font-size:.75rem; font-weight:700; line-height:1.15; text-transform:uppercase; }
.notificacao-acoes-principais { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(125px,.75fr); gap:6px; }
.notificacao-acoes-principais button { width:100%; min-height:34px !important; margin:0 !important; text-align:center !important; }
.notificacao-acao-principal { background:#15382e !important; border-color:rgba(54,211,153,.72) !important; color:#c9ffea !important; font-weight:850; }
.notificacao-mais-btn[aria-expanded="true"] { border-color:var(--cyan) !important; color:var(--cyan) !important; }
.notificacao-opcoes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:6px; padding:7px; border:1px solid var(--jarvis-border); border-radius:8px; background:rgba(9,15,23,.48); }
.notificacao-opcoes[hidden] { display:none !important; }
.notificacao-opcoes button { width:100%; min-height:32px !important; margin:0 !important; padding:6px 8px !important; text-align:center !important; font-size:.68rem !important; }
.notificacao-acao-perigo { background:rgba(83,22,30,.9) !important; border-color:rgba(239,95,114,.55) !important; color:#ff9fac !important; }
.notificacoes-footer { flex:0 0 auto; padding-top:8px; margin-top:0 !important; border-top:1px solid rgba(88,111,134,.28); }
.notificacoes-footer button { min-height:32px !important; padding:6px 10px !important; font-size:.69rem !important; }
@media (max-width:620px) {
  .modal-content:has(.notificacoes-lista) { max-height:calc(100dvh - 18px); }
  .notificacoes-cabecalho { align-items:flex-start; flex-direction:column; gap:4px; }
  .notificacoes-busca { grid-template-columns:1fr; }
  .notificacoes-busca button { width:100%; }
  .notificacoes-tabs { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .notificacao-card-cabecalho { flex-direction:column; gap:6px; }
  .notificacao-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .notificacao-acoes-principais, .notificacao-opcoes { grid-template-columns:1fr; }
  .notificacoes-footer { grid-template-columns:1fr; }
  .notificacoes-footer > div { display:grid; grid-template-columns:1fr; }
  .notificacoes-footer button { width:100%; }
  .dashboard-mini-card { min-height:176px; }
  .dashboard-mini-top,
  .dashboard-mini-footer { align-items:flex-start; }
  .dashboard-mini-date,
  .dashboard-mini-days { white-space:normal; overflow:visible; text-overflow:clip; }
}

/* Mantem a Central na mesma escala tipografica global. */
.notificacoes-busca button,
.notificacao-opcoes button,
.notificacoes-footer button {
  font-size:var(--jarvis-font-button) !important;
  font-weight:700 !important;
  line-height:1.25 !important;
}

/* Tema claro V137: camada final e isolada para toda a UI V2. */
html[data-theme="light"] {
  --bg:#f3f6fa;
  --side:#ffffff;
  --border:#cbd6e2;
  --cyan:#176aa6;
  --blue:#315f86;
  --text:#172536;
  --red:#a33f50;
  --yellow:#806018;
  --orange:#96552e;
  --green:#247154;
  --btn-dark:#edf2f7;
  --text-muted:#56677a;
  --surface-soft:#eef3f8;
  --jarvis-bg:#f3f6fa;
  --jarvis-surface:#ffffff;
  --jarvis-surface-2:#f5f8fb;
  --jarvis-surface-soft:rgba(248,250,252,.98);
  --jarvis-border:#cbd6e2;
  --jarvis-border-strong:#91a6ba;
  --jarvis-text:#172536;
  --jarvis-text-soft:#33475c;
  --jarvis-text-muted:#5d6e80;
  --jarvis-primary:#176f52;
  --jarvis-primary-2:#176aa6;
  --jarvis-success:#1f754f;
  --jarvis-danger:#a33f50;
  --jarvis-warning:#806018;
  --jarvis-purple:#68468f;
  --jarvis-shadow-sm:0 3px 10px rgba(34,54,74,.07);
  --jarvis-shadow-md:0 7px 20px rgba(34,54,74,.09);
  --jarvis-shadow-lg:0 16px 38px rgba(23,37,54,.16);
  --jarvis-focus:0 0 0 3px rgba(23,106,166,.18);
  --modal-overlay:rgba(22,34,48,.42);
  --modal-surface:#ffffff;
  --modal-surface-2:#f3f6f9;
  --modal-border:#cad5e2;
  --modal-text:#162235;
  --modal-title:#162235;
  --modal-subtitle:#526277;
  --modal-label:#35475b;
  --modal-input:#ffffff;
  --modal-input-focus:#ffffff;
  --modal-placeholder:#68788b;
  --modal-secondary:#edf2f7;
  --modal-success-soft:#e3f2eb;
  --modal-shadow:0 12px 30px rgba(26,42,64,.15),inset 0 1px 0 #fff;
  color-scheme:light;
}

html[data-theme="light"] body {
  background:radial-gradient(circle at top right,rgba(23,106,166,.035),transparent 34%),var(--jarvis-bg);
  color:var(--jarvis-text);
}

html[data-theme="light"] .sidebar { background:#f8fafc !important; }
html[data-theme="light"] #main .header-box { background:linear-gradient(135deg,#fff,#edf4f8) !important; }

html[data-theme="light"] .card,
html[data-theme="light"] .header-box,
html[data-theme="light"] .finance-summary,
html[data-theme="light"] .finance-chart-box,
html[data-theme="light"] .modal-content,
html[data-theme="light"] .alert-content,
html[data-theme="light"] .table-container,
html[data-theme="light"] .notificacao-card,
html[data-theme="light"] .cliente-card,
html[data-theme="light"] .clientes-rec-card,
html[data-theme="light"] .plano-card,
html[data-theme="light"] .solicitacao-card,
html[data-theme="light"] .adm-user-row,
html[data-theme="light"] .recorrente-item,
html[data-theme="light"] .lembrete-item,
html[data-theme="light"] .agenda-item,
html[data-theme="light"] .veiculo-item { background:var(--jarvis-surface) !important; color:var(--jarvis-text) !important; }

html[data-theme="light"] .modal-section,
html[data-theme="light"] .dashboard-panel-card,
html[data-theme="light"] .dashboard-finance-card,
html[data-theme="light"] .dashboard-mini-card,
html[data-theme="light"] .finance-mini-card,
html[data-theme="light"] .notificacoes-resumo,
html[data-theme="light"] .categoria-row-main,
html[data-theme="light"] .duplicidade-cliente-card,
html[data-theme="light"] .adm-summary-card,
html[data-theme="light"] .ia-summary div,
html[data-theme="light"] .edit-inline-container { background:var(--jarvis-surface-2) !important; color:var(--jarvis-text) !important; }

html[data-theme="light"] label,
html[data-theme="light"] .modal-section-title,
html[data-theme="light"] .finance-summary-kicker,
html[data-theme="light"] .dashboard-mini-title,
html[data-theme="light"] .dashboard-panel-header h3,
html[data-theme="light"] .card h4 { color:var(--jarvis-text-soft) !important; opacity:1 !important; }

html[data-theme="light"] .muted,
html[data-theme="light"] small,
html[data-theme="light"] .text-muted,
html[data-theme="light"] .cliente-info,
html[data-theme="light"] .dashboard-mini-description,
html[data-theme="light"] .dashboard-mini-date,
html[data-theme="light"] .notificacao-card p,
html[data-theme="light"] .clientes-rec-card span,
html[data-theme="light"] .recorrente-header,
html[data-theme="light"] .lembrete-meta,
html[data-theme="light"] .agenda-meta,
html[data-theme="light"] .veiculo-meta { color:var(--jarvis-text-muted) !important; opacity:1 !important; }

html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  background:#fff !important;
  border-color:var(--jarvis-border) !important;
  color:var(--jarvis-text) !important;
  box-shadow:none;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder { color:#69798a !important; opacity:1; }
html[data-theme="light"] input:focus,
html[data-theme="light"] select:focus,
html[data-theme="light"] textarea:focus { border-color:var(--jarvis-primary-2) !important; box-shadow:var(--jarvis-focus) !important; }
html[data-theme="light"] input:disabled,
html[data-theme="light"] select:disabled,
html[data-theme="light"] textarea:disabled { background:#e8edf2 !important; color:#657487 !important; opacity:1; cursor:not-allowed; }
html[data-theme="light"] select { color-scheme:light; }
html[data-theme="light"] option { background:#fff; color:var(--jarvis-text); }

html[data-theme="light"] .btn-dark,
html[data-theme="light"] .modal-content .btn-dark,
html[data-theme="light"] .alert-content .btn-dark,
html[data-theme="light"] .cliente-action,
html[data-theme="light"] .table-action-btn,
html[data-theme="light"] .adm-icon-btn,
html[data-theme="light"] .clientes-tab-btn,
html[data-theme="light"] .notificacoes-tabs button,
html[data-theme="light"] .dashboard-intelligence-link,
html[data-theme="light"] .duplicidade-compact-btn {
  background:var(--btn-dark) !important;
  border-color:var(--jarvis-border) !important;
  color:var(--jarvis-text-soft) !important;
  box-shadow:none;
}
html[data-theme="light"] .btn-cyan,
html[data-theme="light"] .modal-content .btn-cyan,
html[data-theme="light"] .alert-content .btn-cyan {
  background:linear-gradient(135deg,#177454,#176aa6) !important;
  border-color:#176f63 !important;
  color:#fff !important;
  box-shadow:0 4px 12px rgba(23,106,116,.16);
}
html[data-theme="light"] .btn-cyan:hover { background:linear-gradient(135deg,#125f45,#145988) !important; }
html[data-theme="light"] .btn-dark:hover,
html[data-theme="light"] .cliente-action:hover,
html[data-theme="light"] .adm-icon-btn:hover { background:#e1e9f1 !important; border-color:var(--jarvis-border-strong) !important; }

html[data-theme="light"] .modal,
html[data-theme="light"] .alert-box { background:rgba(22,34,48,.42); }
html[data-theme="light"] .modal-content,
html[data-theme="light"] .alert-content { box-shadow:var(--jarvis-shadow-lg),inset 0 1px 0 #fff; }
html[data-theme="light"] th { background:#e7eef5 !important; color:#294e70 !important; }
html[data-theme="light"] td { color:var(--jarvis-text) !important; border-color:var(--jarvis-border) !important; }

html[data-theme="light"] .badge,
html[data-theme="light"] .cliente-pill,
html[data-theme="light"] .adm-pill,
html[data-theme="light"] .notificacao-meta span,
html[data-theme="light"] .dashboard-mini-badge,
html[data-theme="light"] .dashboard-status-badge,
html[data-theme="light"] .finance-summary-status,
html[data-theme="light"] .cartao-card-chips span { background:#eaf0f6 !important; border-color:#bccad8 !important; color:#40566c !important; }
html[data-theme="light"] .notificacoes-tabs button.is-active,
html[data-theme="light"] .clientes-tab-btn.is-active,
html[data-theme="light"] .btn-filter-active { background:#dcefe8 !important; border-color:#62a58d !important; color:#155c43 !important; }

html[data-theme="light"] #painelRecCartoes .cartao-card,
html[data-theme="light"] #painelRecCartoes .cartao-detail-header,
html[data-theme="light"] #painelRecCartoes .cartao-tabs,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-tabs,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-cabecalho,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-lancamentos { background:#fff !important; box-shadow:var(--jarvis-shadow-sm); }
html[data-theme="light"] #painelRecCartoes .cartao-card-bloco,
html[data-theme="light"] #painelRecCartoes .cartao-resumo-grid section,
html[data-theme="light"] #painelRecCartoes .cartao-uso,
html[data-theme="light"] #painelRecCartoes .cartao-detail-grid > section,
html[data-theme="light"] #painelRecCartoes .cartao-compra-item,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-item,
html[data-theme="light"] #painelRecCartoes .cartao-lancamento,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-resumo section,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-navegacao-card,
html[data-theme="light"] .pagamento-conta-diferenca,
html[data-theme="light"] .pagamento-baixa-form .pagamento-cliente-resumo { background:#f4f7fa !important; border-color:var(--jarvis-border) !important; }
html[data-theme="light"] #painelRecCartoes .cartao-card-chips span,
html[data-theme="light"] #painelRecCartoes .cartao-item-main span,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-item > div:first-child span,
html[data-theme="light"] #painelRecCartoes small { color:var(--jarvis-text-muted) !important; }
html[data-theme="light"] #painelRecCartoes .cartao-tabs button,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-tabs button { color:var(--jarvis-text-soft); }
html[data-theme="light"] #painelRecCartoes .cartao-tabs button.is-active,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-tabs button.is-active { background:#dcefe8 !important; color:#155c43 !important; }
html[data-theme="light"] #painelRecCartoes .cartao-card-trilho { background:#dbe3eb; }

html[data-theme="light"] .notificacoes-cabecalho h3,
html[data-theme="light"] .notificacao-meta span { color:var(--jarvis-text) !important; }
html[data-theme="light"] .notificacao-opcoes { background:#edf2f7; border-color:var(--jarvis-border); }
html[data-theme="light"] .notificacao-acao-principal { background:#dcefe8 !important; border-color:#62a58d !important; color:#155c43 !important; }
html[data-theme="light"] .notificacao-acao-perigo { background:#f7e7ea !important; border-color:#c98f99 !important; color:#8f3444 !important; }
html[data-theme="light"] .notificacao-status.is-overdue { color:#8f3444; background:#f7e7ea; }
html[data-theme="light"] .notificacao-status.is-today { color:#73550f; background:#f7efd7; }
html[data-theme="light"] .notificacao-status.is-future { color:#195d88; background:#e1eff8; }
html[data-theme="light"] .notificacao-status.is-system { color:#42566b; background:#e8eef4; }
html[data-theme="light"] .notificacoes-busca-vazia { color:var(--jarvis-text-muted); }
html[data-theme="light"] ::-webkit-scrollbar-track { background:#e9eef3; }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background:#a8b7c5; border-radius:999px; }

html[data-theme="light"] button:focus-visible,
html[data-theme="light"] input:focus-visible,
html[data-theme="light"] select:focus-visible,
html[data-theme="light"] textarea:focus-visible,
html[data-theme="light"] a:focus-visible,
html[data-theme="light"] [tabindex]:focus-visible { outline-color:#176aa6; }

/* Tema claro definitivo: vence os seletores específicos legados da UI V2. */
html[data-theme="light"] {
  --light-page-bg:#f3f6fa;
  --light-sidebar-bg:#f8fafc;
  --light-header-bg:#ffffff;
  --light-card-bg:#ffffff;
  --light-card-soft:#eef3f8;
  --light-card-hover:#e7eef6;
  --light-input-bg:#ffffff;
  --light-text-primary:#162235;
  --light-text-secondary:#435166;
  --light-text-muted:#66768a;
  --light-border:#cad5e2;
  --light-border-strong:#aebdce;
  --light-shadow:rgba(26,42,64,.1);
}

html[data-theme="light"] #main .header-box {
  background:linear-gradient(135deg,var(--light-header-bg),#edf4f8) !important;
  border-color:var(--light-border) !important;
  border-left-color:var(--jarvis-primary-2) !important;
  box-shadow:0 7px 20px var(--light-shadow),inset 0 1px 0 #fff;
  color:var(--light-text-primary) !important;
}
html[data-theme="light"] #main .dashboard-header-icon {
  background:linear-gradient(145deg,#e2f3ed,#e3f0f8);
  border-color:#a9c7cf;
  box-shadow:0 3px 10px var(--light-shadow);
}
html[data-theme="light"] #main #saudacao { color:var(--light-text-primary) !important; }
html[data-theme="light"] #main #clock,
html[data-theme="light"] #main #statusTag {
  background:#edf2f7;
  border-color:var(--light-border);
  color:var(--light-text-secondary) !important;
}
html[data-theme="light"] #main #statusTag { background:#f8efd9; border-color:#d8bf7c; color:#725313 !important; }
html[data-theme="light"] #main .saldo-banco-box {
  background:#f4f8fb !important;
  border-color:#a9c5d8 !important;
  box-shadow:inset 0 1px 0 #fff;
  color:var(--light-text-secondary);
}
html[data-theme="light"] #main .saldo-banco-row > span:first-of-type { color:var(--light-text-secondary); opacity:1 !important; }
html[data-theme="light"] #main #txtSaldoBanco { color:#17684d !important; }
html[data-theme="light"] #main .saldo-eye-btn {
  background:#e1f1eb !important;
  border-color:#93c3b1 !important;
  color:#155c43 !important;
}
html[data-theme="light"] #main .saldo-action {
  background:#fff;
  border-color:var(--light-border);
  color:var(--light-text-secondary);
}
html[data-theme="light"] #main .saldo-action:hover { background:#e2f2ec; border-color:#7db59f; color:#155c43; }
html[data-theme="light"] #main .sys-version {
  background:#e2f2ec;
  border-color:#8fbdaa;
  color:#155c43 !important;
}
html[data-theme="light"] #main .notification-bell {
  background:#fff;
  border-color:var(--light-border);
  box-shadow:0 3px 10px var(--light-shadow);
  color:var(--light-text-primary);
}
html[data-theme="light"] #main .bell-badge { border-color:#fff; }

html[data-theme="light"] #main .weather-card {
  background:linear-gradient(145deg,#e7f2f7,#f8fbfd) !important;
  border-color:#a9c6d7 !important;
  border-left-color:var(--jarvis-primary-2) !important;
  box-shadow:0 4px 12px var(--light-shadow);
}
html[data-theme="light"] #main .weather-temp { color:#17684d !important; text-shadow:none; }
html[data-theme="light"] #main .weather-city-row strong { color:var(--light-text-primary) !important; }
html[data-theme="light"] #main .weather-info span { color:var(--light-text-secondary) !important; }
html[data-theme="light"] #main .weather-config-btn { background:#fff !important; border-color:#a9c6d7 !important; color:#195f88 !important; }
html[data-theme="light"] #main .weather-metrics span { background:#fff !important; border-color:var(--light-border) !important; color:var(--light-text-muted) !important; }
html[data-theme="light"] #main .weather-metrics b { color:var(--light-text-primary) !important; }

html[data-theme="light"] .sidebar {
  background:linear-gradient(180deg,var(--light-sidebar-bg),#eef3f8) !important;
  border-right-color:var(--light-border) !important;
  box-shadow:7px 0 20px rgba(26,42,64,.07);
}
html[data-theme="light"] .sidebar > img {
  background:transparent;
  border-color:#d8e1ea;
  box-shadow:0 3px 10px rgba(26,42,64,.06);
}
html[data-theme="light"] .sidebar .accordion-header {
  background:#fff !important;
  border-color:var(--light-border) !important;
  box-shadow:inset 0 1px 0 #fff;
  color:var(--light-text-secondary) !important;
}
html[data-theme="light"] .sidebar .accordion-header:hover { background:var(--light-card-hover) !important; border-color:#94aec3 !important; color:var(--light-text-primary) !important; }
html[data-theme="light"] .sidebar .accordion-header.active {
  background:linear-gradient(135deg,#dcefe8,#e4f0f8) !important;
  border-color:#78aa9a !important;
  box-shadow:inset 3px 0 0 var(--jarvis-primary),0 3px 9px rgba(26,42,64,.06);
  color:#155c43 !important;
}
html[data-theme="light"] .sidebar .accordion-header .menu-icon { background:#edf2f7; border-color:#c3cfdb; }
html[data-theme="light"] .sidebar .accordion-header.active .menu-icon { background:#cfe8df; border-color:#8fbdaa; }
html[data-theme="light"] .sidebar .accordion-arrow,
html[data-theme="light"] .sidebar .accordion-header.active .accordion-arrow { color:#49647d; }
html[data-theme="light"] .sidebar .accordion-body {
  margin:4px 2px 6px;
  padding:8px !important;
  border:1px solid #d6e0e9;
  border-radius:10px;
  background:#edf3f8;
}
html[data-theme="light"] .sidebar .accordion-body label { color:var(--light-text-secondary) !important; }
html[data-theme="light"] .sidebar .accordion-body .btn-dark {
  background:#fff !important;
  border-color:var(--light-border) !important;
  color:var(--light-text-secondary) !important;
}
html[data-theme="light"] .sidebar .accordion-body .btn-dark:hover { background:#dfeaf3 !important; border-color:#94aec3 !important; color:var(--light-text-primary) !important; }
html[data-theme="light"] .sidebar-footer > .btn-dark[onclick="logout()"] {
  background:#fff4f5 !important;
  border-color:#c98591 !important;
  color:#96394a !important;
}
html[data-theme="light"] .sidebar-footer > .btn-dark[onclick="logout()"]:hover { background:#f6dfe3 !important; border-color:#b96877 !important; color:#7e2939 !important; }

html[data-theme="light"] #painelAgenda-grid > .dashboard-panel-card {
  background:var(--light-card-bg) !important;
  border-color:var(--light-border) !important;
  box-shadow:0 4px 12px var(--light-shadow);
}
html[data-theme="light"] #painelAgenda-grid > .dashboard-panel-card:hover { background:#fbfdff !important; border-color:var(--light-border-strong) !important; box-shadow:0 7px 18px var(--light-shadow); }
html[data-theme="light"] #painelAgenda-grid .dashboard-panel-header h3 { color:var(--light-text-primary) !important; }
html[data-theme="light"] #painelAgenda-grid .dashboard-panel-header .btn-dark { background:#e2f2ec !important; border-color:#8fbdaa !important; color:#155c43 !important; }
html[data-theme="light"] #painelAgenda-grid .painel-arrow { color:#49647d !important; }
html[data-theme="light"] #painelAgenda-grid .agenda-item,
html[data-theme="light"] #painelAgenda-grid .lembrete-item,
html[data-theme="light"] #painelAgenda-grid .veiculo-item,
html[data-theme="light"] #painelAgenda-grid .recorrente-item { background:var(--light-card-soft) !important; border-color:var(--light-border) !important; color:var(--light-text-primary) !important; box-shadow:none; }

html[data-theme="light"] #main .filtros-row { background:#edf3f8; border-color:var(--light-border); }
html[data-theme="light"] #main .filtros-row .btn-dark,
html[data-theme="light"] #main .filtros-row input[type="month"] { background:#fff !important; border-color:var(--light-border) !important; color:var(--light-text-secondary) !important; }
html[data-theme="light"] #main .filtros-row .btn-dark:hover,
html[data-theme="light"] #main .filtros-row input[type="month"]:hover { background:var(--light-card-hover) !important; border-color:var(--light-border-strong) !important; color:var(--light-text-primary) !important; }
html[data-theme="light"] #main .filtros-row .btn-dark.btn-filter-active,
html[data-theme="light"] #main .filtros-row .btn-dark[style*="var(--cyan)"] { background:#dcefe8 !important; border-color:#78aa9a !important; color:#155c43 !important; }

html[data-theme="light"] #main .dashboard-finance-card,
html[data-theme="light"] #main .dashboard-finance-card.is-net,
html[data-theme="light"] #main #cardDizimo {
  background:linear-gradient(145deg,#fff,#f6f9fc) !important;
  border-color:var(--light-border) !important;
  box-shadow:0 4px 12px var(--light-shadow),inset 0 1px 0 #fff;
}
html[data-theme="light"] #main .dashboard-finance-card:hover { box-shadow:0 7px 18px var(--light-shadow); border-color:var(--light-border-strong) !important; }
html[data-theme="light"] #main .dashboard-finance-card h4 { color:var(--light-text-secondary) !important; }
html[data-theme="light"] #main .dashboard-finance-card .val { filter:saturate(.82) brightness(.7); }

html[data-theme="light"] table th { background:#e6edf4 !important; border-color:var(--light-border) !important; color:#294b68 !important; }
html[data-theme="light"] table td { border-color:#dce4ec !important; color:var(--light-text-primary) !important; }
html[data-theme="light"] table tbody tr:nth-child(even) td { background:#f7f9fb; }
html[data-theme="light"] table tr:hover td { background:#eaf2f7; }
html[data-theme="light"] .cliente-card,
html[data-theme="light"] .clientes-rec-card,
html[data-theme="light"] .plano-card,
html[data-theme="light"] .recorrente-item,
html[data-theme="light"] .notificacao-card,
html[data-theme="light"] .solicitacao-card { background:linear-gradient(145deg,#fff,#f7f9fc) !important; border-color:var(--light-border) !important; box-shadow:0 3px 10px rgba(26,42,64,.06); }
html[data-theme="light"] .cliente-name,
html[data-theme="light"] .clientes-rec-card b,
html[data-theme="light"] .plano-card span,
html[data-theme="light"] .notificacao-card strong { color:var(--light-text-primary) !important; }
html[data-theme="light"] .cliente-info,
html[data-theme="light"] .clientes-rec-card span,
html[data-theme="light"] .notificacao-card p,
html[data-theme="light"] .recorrente-item small { color:var(--light-text-muted) !important; }

html[data-theme="light"] .modal-content,
html[data-theme="light"] .alert-content,
html[data-theme="light"] .table-container,
html[data-theme="light"] .notificacoes-lista,
html[data-theme="light"] .clientes-rec-lista,
html[data-theme="light"] .clientes-lista,
html[data-theme="light"] textarea { scrollbar-color:#9aabba #e9eef3; }
html[data-theme="light"] #main #updateBanner { background:#edf4f8 !important; border-color:#83aeca !important; color:var(--light-text-primary) !important; }

html[data-theme="light"] #main .finance-summary {
  background:linear-gradient(145deg,#fff,#f7f9fc) !important;
  border-color:var(--light-border) !important;
  box-shadow:0 5px 15px var(--light-shadow),inset 0 1px 0 #fff;
}
html[data-theme="light"] #main .finance-summary-kicker { color:#17684d !important; }
html[data-theme="light"] #main .finance-summary-heading h3 { color:var(--light-text-primary) !important; }
html[data-theme="light"] #main .finance-summary-status { background:#e4f0f8 !important; border-color:#9cbdd2 !important; color:#195f88 !important; }
html[data-theme="light"] #main .finance-chart-box {
  background:#fff !important;
  border-color:var(--light-border) !important;
  box-shadow:0 3px 10px rgba(26,42,64,.06),inset 0 1px 0 #fff;
}
html[data-theme="light"] #main .finance-mini-card {
  background:linear-gradient(145deg,#fff,#f5f8fb) !important;
  border-color:var(--light-border) !important;
  box-shadow:0 3px 10px rgba(26,42,64,.06);
}
html[data-theme="light"] #main .finance-mini-card:hover { border-color:var(--light-border-strong) !important; box-shadow:0 6px 16px var(--light-shadow); }
html[data-theme="light"] #main .finance-mini-label { color:var(--light-text-secondary) !important; }
html[data-theme="light"] #main .finance-indicator-name,
html[data-theme="light"] #main .finance-mini-card small { color:var(--light-text-muted) !important; }
html[data-theme="light"] #main .finance-mini-card strong { color:var(--light-text-primary); }

html[data-theme="light"] #main #busca,
html[data-theme="light"] #main #dataF {
  background:var(--light-input-bg) !important;
  border-color:var(--light-border) !important;
  color:var(--light-text-primary) !important;
  box-shadow:none;
}
html[data-theme="light"] #main #busca::placeholder { color:var(--light-text-muted) !important; opacity:1; }
html[data-theme="light"] #main #busca:focus,
html[data-theme="light"] #main #dataF:focus { background:#fff !important; border-color:var(--jarvis-primary-2) !important; box-shadow:var(--jarvis-focus); }

html[data-theme="light"] .modal-content [style*="background:#0d1117"],
html[data-theme="light"] .modal-content [style*="background: #0d1117"],
html[data-theme="light"] .modal-content [style*="background:#1c222d"],
html[data-theme="light"] .modal-content [style*="background: #1c222d"] { background:var(--light-card-soft) !important; border-color:var(--light-border) !important; color:var(--light-text-primary) !important; }

/* Polimento final do tema claro: controles, acoes, respiro e sombras. */
html[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .modal-content input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
html[data-theme="light"] .modal-content select,
html[data-theme="light"] .modal-content textarea,
html[data-theme="light"] #editTemaVisual,
html[data-theme="light"] #editS {
  background-color:#fff !important;
  border:1px solid var(--light-border) !important;
  color:var(--light-text-primary) !important;
  box-shadow:none !important;
}
html[data-theme="light"] select,
html[data-theme="light"] .modal-content select,
html[data-theme="light"] #editTemaVisual {
  color-scheme:light !important;
  appearance:auto;
  -webkit-appearance:menulist;
  padding-right:32px !important;
}
html[data-theme="light"] select:invalid { color:var(--light-text-muted) !important; }
html[data-theme="light"] select option { background:#fff !important; color:var(--light-text-primary) !important; }
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder,
html[data-theme="light"] #editS::placeholder { color:#68788b !important; opacity:1 !important; }
html[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):focus,
html[data-theme="light"] select:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] #editTemaVisual:focus,
html[data-theme="light"] #editS:focus {
  background-color:#fff !important;
  border-color:#176aa6 !important;
  box-shadow:0 0 0 3px rgba(23,106,166,.16) !important;
  outline:none;
}

html[data-theme="light"] label { margin-bottom:6px; color:var(--light-text-secondary) !important; }
html[data-theme="light"] .modal-content > input,
html[data-theme="light"] .modal-content > select,
html[data-theme="light"] .modal-content > textarea { margin-bottom:11px !important; }
html[data-theme="light"] .modal-section { padding:14px !important; margin-block:11px !important; }
html[data-theme="light"] .card,
html[data-theme="light"] .dashboard-panel-card,
html[data-theme="light"] .finance-summary,
html[data-theme="light"] .table-container { padding:14px; }
html[data-theme="light"] .modal-content { padding:18px !important; }
html[data-theme="light"] .profile-fixed-actions,
html[data-theme="light"] .modal-actions { gap:9px; padding-top:11px; }

html[data-theme="light"] .card,
html[data-theme="light"] .dashboard-panel-card,
html[data-theme="light"] .dashboard-finance-card,
html[data-theme="light"] .dashboard-mini-card,
html[data-theme="light"] .finance-summary,
html[data-theme="light"] .finance-mini-card,
html[data-theme="light"] .finance-chart-box,
html[data-theme="light"] .table-container,
html[data-theme="light"] .cliente-card,
html[data-theme="light"] .clientes-rec-card,
html[data-theme="light"] .plano-card,
html[data-theme="light"] .solicitacao-card,
html[data-theme="light"] .adm-user-row,
html[data-theme="light"] .notificacao-card { box-shadow:0 3px 10px rgba(26,42,64,.065) !important; }
html[data-theme="light"] .modal-content,
html[data-theme="light"] .alert-content { box-shadow:0 12px 30px rgba(26,42,64,.15),inset 0 1px 0 #fff !important; }

html[data-theme="light"] .btn-cyan,
html[data-theme="light"] .btn-dark,
html[data-theme="light"] .btn-mini,
html[data-theme="light"] .cliente-action,
html[data-theme="light"] .table-action-btn,
html[data-theme="light"] .adm-icon-btn,
html[data-theme="light"] .profile-fixed-actions button,
html[data-theme="light"] .modal-actions button {
  border-radius:7px !important;
  font-weight:700 !important;
  min-height:34px;
  box-shadow:0 2px 7px rgba(26,42,64,.08) !important;
}
html[data-theme="light"] .btn-mini-red,
html[data-theme="light"] .cliente-action.delete,
html[data-theme="light"] button[onclick*="admExcluirUser"],
html[data-theme="light"] button[onclick*="deletar"],
html[data-theme="light"] button[onclick*="excluir"],
html[data-theme="light"] button[onclick*="cancelar"] {
  background:#f7e7ea !important;
  border-color:#c98f99 !important;
  color:#8f3444 !important;
}
html[data-theme="light"] .profile-appearance-help,
html[data-theme="light"] .modal-content p,
html[data-theme="light"] .modal-content small,
html[data-theme="light"] .help-text,
html[data-theme="light"] .description { color:var(--light-text-muted) !important; opacity:1 !important; }

/* Auditoria de modais: uma unica heranca semantica para todo conteudo dinamico. */
html[data-theme="light"] .modal,
html[data-theme="light"] .alert-box { background:var(--modal-overlay) !important; }
html[data-theme="light"] .modal-content,
html[data-theme="light"] .alert-content {
  background:var(--modal-surface) !important;
  border-color:var(--modal-border) !important;
  color:var(--modal-text) !important;
  box-shadow:var(--modal-shadow) !important;
}
html[data-theme="light"] .modal-content h1,
html[data-theme="light"] .modal-content h2,
html[data-theme="light"] .modal-content h3,
html[data-theme="light"] .modal-content h4,
html[data-theme="light"] .alert-content h1,
html[data-theme="light"] .alert-content h2,
html[data-theme="light"] .alert-content h3,
html[data-theme="light"] .alert-content h4,
html[data-theme="light"] #alertTitle { color:var(--modal-title) !important; opacity:1 !important; }
html[data-theme="light"] .modal-content p,
html[data-theme="light"] .modal-content small,
html[data-theme="light"] .alert-content p,
html[data-theme="light"] #alertMsg,
html[data-theme="light"] .pagamento-cliente-note,
html[data-theme="light"] .pagamento-cliente-help,
html[data-theme="light"] .duplicidade-subtitle,
html[data-theme="light"] .adm-user-meta { color:var(--modal-subtitle) !important; opacity:1 !important; }
html[data-theme="light"] .modal-content [style*="opacity:0."],
html[data-theme="light"] .modal-content [style*="opacity: 0."],
html[data-theme="light"] .alert-content [style*="opacity:0."],
html[data-theme="light"] .alert-content [style*="opacity: 0."] { color:var(--modal-subtitle) !important; opacity:1 !important; }
html[data-theme="light"] .modal-content label,
html[data-theme="light"] .modal-section-title,
html[data-theme="light"] .pagamento-baixa-subtitulo { color:var(--modal-label) !important; opacity:1 !important; }
html[data-theme="light"] .modal-content strong,
html[data-theme="light"] .modal-content b,
html[data-theme="light"] .pagamento-baixa-nome,
html[data-theme="light"] .pagamento-baixa-form .pagamento-cliente-resumo b,
html[data-theme="light"] .pagamento-conta-diferenca b,
html[data-theme="light"] .alert-content strong { color:var(--modal-text) !important; opacity:1 !important; }
html[data-theme="light"] .modal-section,
html[data-theme="light"] .pagamento-cliente-form,
html[data-theme="light"] .pagamento-baixa-form .pagamento-cliente-resumo,
html[data-theme="light"] .pagamento-conta-diferenca,
html[data-theme="light"] .duplicidade-cliente-card,
html[data-theme="light"] .adm-user-row,
html[data-theme="light"] .edit-inline-container,
html[data-theme="light"] .notificacao-opcoes {
  background:var(--modal-surface-2) !important;
  border-color:var(--modal-border) !important;
  color:var(--modal-text) !important;
}
html[data-theme="light"] .pagamento-baixa-form .pagamento-cliente-resumo span,
html[data-theme="light"] .pagamento-tipo-opcao,
html[data-theme="light"] .pagamento-conta-diferenca span { color:var(--modal-subtitle) !important; opacity:1 !important; }
html[data-theme="light"] .modal-content [style*="background:#0"],
html[data-theme="light"] .modal-content [style*="background: #0"],
html[data-theme="light"] .modal-content [style*="background:#1"],
html[data-theme="light"] .modal-content [style*="background: #1"],
html[data-theme="light"] .modal-content [style*="background:#2"],
html[data-theme="light"] .modal-content [style*="background: #2"] {
  background:var(--modal-surface-2) !important;
  border-color:var(--modal-border) !important;
  color:var(--modal-text) !important;
}
html[data-theme="light"] .modal-content input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
html[data-theme="light"] .modal-content select,
html[data-theme="light"] .modal-content textarea {
  background:var(--modal-input) !important;
  border-color:var(--modal-border) !important;
  color:var(--modal-text) !important;
}
html[data-theme="light"] .modal-content input::placeholder,
html[data-theme="light"] .modal-content textarea::placeholder { color:var(--modal-placeholder) !important; opacity:1 !important; }
html[data-theme="light"] .modal-content input:focus,
html[data-theme="light"] .modal-content select:focus,
html[data-theme="light"] .modal-content textarea:focus {
  background:var(--modal-input-focus) !important;
  border-color:var(--jarvis-primary-2) !important;
  box-shadow:var(--jarvis-focus) !important;
}
html[data-theme="light"] .modal-content .btn-dark,
html[data-theme="light"] .alert-content .btn-dark,
html[data-theme="light"] .modal-content button:not(.btn-cyan):not(.btn-mini-red):not(.is-delete):not(.is-danger) {
  background:var(--modal-secondary) !important;
  border-color:var(--modal-border) !important;
  color:var(--modal-label) !important;
}
html[data-theme="light"] .modal-content .btn-cyan,
html[data-theme="light"] .alert-content .btn-cyan {
  background:linear-gradient(135deg,#177454,#176aa6) !important;
  border-color:#176f63 !important;
  color:#fff !important;
}
html[data-theme="light"] .modal-content .btn-mini-red,
html[data-theme="light"] .modal-content .is-delete,
html[data-theme="light"] .modal-content .is-danger,
html[data-theme="light"] .modal-content button[onclick*="excluir" i],
html[data-theme="light"] .modal-content button[onclick*="deletar" i] {
  background:#f7e7ea !important;
  border-color:#c98f99 !important;
  color:#8f3444 !important;
}

/* Polimento final V137: profundidade, hierarquia e microinteracoes do tema claro. */
html[data-theme="light"] {
  --polish-page:#f1f4f8;
  --polish-surface:#fff;
  --polish-inset:#f5f7fa;
  --polish-inset-strong:#edf2f7;
  --polish-border:#d2dbe5;
  --polish-border-hover:#9fb6c9;
  --polish-active:#dcefe8;
  --polish-active-border:#75a994;
  --polish-shadow:0 3px 10px rgba(27,43,62,.055);
  --polish-shadow-raised:0 7px 20px rgba(27,43,62,.085);
}
html[data-theme="light"] body { background:var(--polish-page) !important; }

html[data-theme="light"] .card,
html[data-theme="light"] .header-box,
html[data-theme="light"] .finance-summary,
html[data-theme="light"] .finance-chart-box,
html[data-theme="light"] .table-container,
html[data-theme="light"] .modal-content { background-color:var(--polish-surface) !important; border-color:var(--polish-border) !important; }
html[data-theme="light"] .modal-section,
html[data-theme="light"] .dashboard-panel-card,
html[data-theme="light"] .dashboard-finance-card,
html[data-theme="light"] .dashboard-mini-card,
html[data-theme="light"] .finance-mini-card,
html[data-theme="light"] .notificacoes-resumo,
html[data-theme="light"] .notificacao-opcoes,
html[data-theme="light"] .cartao-card-bloco,
html[data-theme="light"] .edit-inline-container { background:var(--polish-inset) !important; border-color:var(--polish-border) !important; }

html[data-theme="light"] .card,
html[data-theme="light"] .header-box,
html[data-theme="light"] .finance-summary,
html[data-theme="light"] .finance-chart-box,
html[data-theme="light"] .table-container { box-shadow:var(--polish-shadow) !important; }
html[data-theme="light"] .dashboard-mini-card,
html[data-theme="light"] .finance-mini-card,
html[data-theme="light"] .notificacao-card,
html[data-theme="light"] .cliente-card,
html[data-theme="light"] .clientes-rec-card,
html[data-theme="light"] .recorrente-item,
html[data-theme="light"] #painelRecCartoes .cartao-compra-item,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-item { box-shadow:none !important; }
html[data-theme="light"] #main .header-box,
html[data-theme="light"] .modal-content,
html[data-theme="light"] .alert-content { box-shadow:var(--polish-shadow-raised) !important; }

html[data-theme="light"] .dashboard-intelligence-kicker,
html[data-theme="light"] .notificacoes-grupo-titulo,
html[data-theme="light"] .finance-summary-kicker,
html[data-theme="light"] .modal-section-title {
  color:#5e7083 !important;
  font-size:.7rem !important;
  font-weight:800 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase;
}
html[data-theme="light"] .dashboard-intelligence-heading h3,
html[data-theme="light"] .dashboard-panel-header h3,
html[data-theme="light"] .finance-summary-heading h3,
html[data-theme="light"] .notificacoes-cabecalho h3 {
  color:#1f3042 !important;
  font-size:1.03rem !important;
  font-weight:820 !important;
  line-height:1.25;
}

html[data-theme="light"] .dashboard-priority-panel,
html[data-theme="light"] .dashboard-day-summary,
html[data-theme="light"] .dashboard-smart-card { background:var(--polish-surface) !important; border-color:var(--polish-border) !important; box-shadow:var(--polish-shadow) !important; }
html[data-theme="light"] .dashboard-priority-item,
html[data-theme="light"] .dashboard-day-grid > div { background:var(--polish-inset) !important; border-color:var(--polish-border) !important; }
html[data-theme="light"] .dashboard-priority-item:hover,
html[data-theme="light"] .dashboard-smart-card[role="button"]:hover { border-color:var(--polish-border-hover) !important; box-shadow:0 4px 12px rgba(27,43,62,.075) !important; }
html[data-theme="light"] .dashboard-mini-title,
html[data-theme="light"] .finance-mini-label { font-size:.74rem !important; font-weight:750 !important; }
html[data-theme="light"] .dashboard-mini-value,
html[data-theme="light"] .finance-mini-card strong,
html[data-theme="light"] .dashboard-smart-card strong,
html[data-theme="light"] .dashboard-day-grid strong { font-size:1.16rem !important; font-weight:850 !important; line-height:1.12; }
html[data-theme="light"] .dashboard-finance-card .val { font-size:1.32rem !important; font-weight:850 !important; line-height:1.1; }

html[data-theme="light"] #main .weather-card {
  padding:15px 16px !important;
  background:linear-gradient(145deg,#f7fafc,#edf4f8) !important;
  border-color:var(--polish-border) !important;
  border-left-color:#8fb2c7 !important;
  box-shadow:var(--polish-shadow) !important;
}
html[data-theme="light"] #main .weather-card:hover { border-color:var(--polish-border-hover) !important; box-shadow:0 4px 12px rgba(27,43,62,.07) !important; }
html[data-theme="light"] #main .weather-temp { font-size:2rem !important; line-height:1; }
html[data-theme="light"] #main .weather-city-row strong { font-size:.88rem !important; }
html[data-theme="light"] #main .weather-info span { font-size:.76rem !important; }
html[data-theme="light"] #main .weather-metrics span { background:rgba(255,255,255,.72) !important; }

html[data-theme="light"] .dashboard-intelligence-link {
  min-height:38px !important;
  padding:8px 14px !important;
  background:#e5edf4 !important;
  border:1px solid #b8c7d5 !important;
  color:#2d506d !important;
  box-shadow:0 2px 6px rgba(27,43,62,.055) !important;
}
html[data-theme="light"] .dashboard-intelligence-link:hover { background:#dce8f1 !important; border-color:#91acc1 !important; color:#1f425f !important; }

html[data-theme="light"] button,
html[data-theme="light"] .btn-cyan,
html[data-theme="light"] .btn-dark,
html[data-theme="light"] .btn-mini,
html[data-theme="light"] .cliente-action,
html[data-theme="light"] .table-action-btn,
html[data-theme="light"] .adm-icon-btn {
  transition:background-color .17s ease,border-color .17s ease,color .17s ease,box-shadow .17s ease,transform .17s ease;
}
html[data-theme="light"] .btn-cyan,
html[data-theme="light"] .btn-dark,
html[data-theme="light"] .modal-content button,
html[data-theme="light"] .alert-content button { min-height:36px; padding:8px 12px !important; font-size:var(--jarvis-font-button) !important; }
html[data-theme="light"] button:hover:not(:disabled) { transform:translateY(-1px); }
html[data-theme="light"] button:active:not(:disabled) { transform:translateY(0); }
html[data-theme="light"] button:disabled { opacity:.58 !important; box-shadow:none !important; transform:none !important; cursor:not-allowed !important; }
html[data-theme="light"] .btn-dark,
html[data-theme="light"] .btn-mini,
html[data-theme="light"] .cliente-action,
html[data-theme="light"] .table-action-btn,
html[data-theme="light"] .adm-icon-btn { background:#eef2f6 !important; border-color:var(--polish-border) !important; color:#35495d !important; }
html[data-theme="light"] .btn-dark:hover,
html[data-theme="light"] .btn-mini:hover,
html[data-theme="light"] .cliente-action:hover,
html[data-theme="light"] .table-action-btn:hover,
html[data-theme="light"] .adm-icon-btn:hover { background:#e5ebf1 !important; border-color:var(--polish-border-hover) !important; }
html[data-theme="light"] .btn-filter-active,
html[data-theme="light"] .clientes-tab-btn.is-active,
html[data-theme="light"] .notificacoes-tabs button.is-active,
html[data-theme="light"] #painelRecCartoes .cartao-tabs button.is-active,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-tabs button.is-active { background:var(--polish-active) !important; border-color:var(--polish-active-border) !important; color:#155c43 !important; }

html[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  min-height:40px;
  border-radius:9px !important;
  border-color:var(--polish-border) !important;
  background:#fff !important;
  color:#1c2c3e !important;
  transition:border-color .17s ease,box-shadow .17s ease,background-color .17s ease;
}
html[data-theme="light"] textarea { min-height:104px; }
html[data-theme="light"] input:hover:not(:disabled),
html[data-theme="light"] select:hover:not(:disabled),
html[data-theme="light"] textarea:hover:not(:disabled) { border-color:var(--polish-border-hover) !important; }

html[data-theme="light"] .sidebar .accordion-section + .accordion-section { margin-top:5px; }
html[data-theme="light"] .sidebar .accordion-header { border-color:transparent !important; box-shadow:none !important; }
html[data-theme="light"] .sidebar .accordion-header:hover { background:#e9eff5 !important; border-color:var(--polish-border) !important; }
html[data-theme="light"] .sidebar .accordion-header.active { background:var(--polish-active) !important; border-color:var(--polish-active-border) !important; box-shadow:inset 3px 0 0 #27765b !important; }
html[data-theme="light"] .sidebar .accordion-body { background:#edf2f6 !important; border-color:var(--polish-border) !important; }
html[data-theme="light"] .sidebar .menu-icon { box-shadow:none !important; }
html[data-theme="light"] .sidebar-footer > .btn-dark[onclick="logout()"] { background:#fff5f6 !important; border-color:#d59ba5 !important; color:#92394a !important; box-shadow:none !important; }
html[data-theme="light"] .sidebar-footer > .btn-dark[onclick="logout()"]:hover { background:#f8e4e7 !important; border-color:#c57785 !important; color:#7e2939 !important; }

html[data-theme="light"] table th { background:#e9eef4 !important; border-color:var(--polish-border) !important; color:#29475f !important; }
html[data-theme="light"] table td { color:#203044 !important; border-color:#e0e6ed !important; }
html[data-theme="light"] table tbody tr:nth-child(even) td { background:#fafbfd; }
html[data-theme="light"] table tbody tr:hover td { background:#eef4f8 !important; }
html[data-theme="light"] .table-action-btn { box-shadow:none !important; }

html[data-theme="light"] .finance-chart-box { padding:14px 15px !important; }
html[data-theme="light"] .finance-chart-box canvas { max-width:100%; }

html[data-theme="light"] .notificacoes-tabs button { border-color:var(--polish-border) !important; }
html[data-theme="light"] .notificacao-card { background:#fff !important; border-color:var(--polish-border) !important; }
html[data-theme="light"] .notificacao-card:hover { border-color:var(--polish-border-hover) !important; }
html[data-theme="light"] .notificacoes-footer { border-color:var(--polish-border) !important; }

html[data-theme="light"] #painelRecCartoes .cartao-card,
html[data-theme="light"] #painelRecCartoes .cartao-detail-header,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-cabecalho,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-lancamentos { border-color:var(--polish-border) !important; box-shadow:var(--polish-shadow) !important; }
html[data-theme="light"] #painelRecCartoes .cartao-card-bloco,
html[data-theme="light"] #painelRecCartoes .cartao-resumo-grid section,
html[data-theme="light"] #painelRecCartoes .cartao-detail-grid > section,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-resumo section,
html[data-theme="light"] #painelRecCartoes .cartao-compra-item,
html[data-theme="light"] #painelRecCartoes .cartao-fatura-item,
html[data-theme="light"] #painelRecCartoes .cartao-lancamento { background:var(--polish-inset) !important; border-color:var(--polish-border) !important; }

html[data-theme="light"] .modal-content,
html[data-theme="light"] .alert-content { border-radius:15px !important; padding:18px !important; }
html[data-theme="light"] .modal-content h3 { margin-bottom:13px !important; }
html[data-theme="light"] .modal-content { max-height:min(92dvh,820px); overscroll-behavior:contain; }

@media (max-width:900px) {
  html[data-theme="light"] .dashboard-finance-cards,
  html[data-theme="light"] .finance-mini-cards { gap:10px !important; }
  html[data-theme="light"] #painelAgenda-grid { gap:11px !important; }
}
@media (max-width:620px) {
  html[data-theme="light"] .modal-content,
  html[data-theme="light"] .alert-content { width:calc(100vw - 18px) !important; max-height:calc(100dvh - 18px); padding:15px !important; }
  html[data-theme="light"] .cliente-form-actions,
  html[data-theme="light"] .profile-fixed-actions,
  html[data-theme="light"] .modal-actions { grid-template-columns:1fr !important; }
  html[data-theme="light"] .cliente-form-actions button,
  html[data-theme="light"] .profile-fixed-actions button,
  html[data-theme="light"] .modal-actions button { width:100% !important; }
  html[data-theme="light"] .dashboard-intelligence-heading { align-items:flex-start; gap:9px; }
  html[data-theme="light"] .dashboard-intelligence-link { width:100%; }
  html[data-theme="light"] table { min-width:620px; }
}

/* Refinamento visual final solicitado: ajustes leves, sem redesenho. */
html[data-theme="light"] {
  --light-text-secondary:#3f5063;
  --light-text-muted:#56687b;
  --jarvis-text-soft:#3f5063;
  --jarvis-text-muted:#56687b;
  --modal-subtitle:#526477;
  --modal-placeholder:#627386;
}
html[data-theme="light"] label,
html[data-theme="light"] .modal-content label,
html[data-theme="light"] .finance-mini-label,
html[data-theme="light"] .dashboard-mini-title { color:#3f5063 !important; }
html[data-theme="light"] small,
html[data-theme="light"] .muted,
html[data-theme="light"] .text-muted,
html[data-theme="light"] .dashboard-mini-description,
html[data-theme="light"] .dashboard-mini-date,
html[data-theme="light"] .cliente-info,
html[data-theme="light"] .notificacao-card p,
html[data-theme="light"] .finance-indicator-name { color:#56687b !important; opacity:1 !important; }
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder { color:#627386 !important; opacity:1 !important; }

html[data-theme="light"] #main .dashboard-finance-cards {
  align-items:stretch;
  gap:12px !important;
}
html[data-theme="light"] #main .dashboard-finance-card,
html[data-theme="light"] #main .dashboard-finance-card.is-net,
html[data-theme="light"] #main #cardDizimo {
  display:flex !important;
  min-height:102px !important;
  height:100%;
  padding:15px 16px !important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  border:1px solid var(--polish-border) !important;
  border-radius:12px !important;
  box-shadow:var(--polish-shadow) !important;
}
html[data-theme="light"] #main .dashboard-finance-card h4 {
  margin:0 !important;
  color:#526477 !important;
  font-size:.72rem !important;
  font-weight:780 !important;
  line-height:1.2;
}
html[data-theme="light"] #main .dashboard-finance-card .val {
  margin:0 !important;
  font-size:1.3rem !important;
  font-weight:850 !important;
  line-height:1.12;
}
html[data-theme="light"] #main .dashboard-finance-card:hover {
  border-color:var(--polish-border-hover) !important;
  box-shadow:0 5px 14px rgba(27,43,62,.075) !important;
}

html[data-theme="light"] .sidebar .accordion-header.active {
  background:#e1eee9 !important;
  border-color:#a7c6b9 !important;
  box-shadow:inset 3px 0 0 #347b61 !important;
  color:#234c3e !important;
  font-weight:780 !important;
}
html[data-theme="light"] .sidebar .accordion-header.active .menu-icon {
  background:#cfe4dc !important;
  border-color:#9bbfaf !important;
  color:#245d48 !important;
}
html[data-theme="light"] .sidebar .accordion-header:not(.active) {
  color:#526477 !important;
}

html[data-theme="light"] .dashboard-intelligence-link {
  min-height:38px !important;
  padding:8px 15px !important;
  justify-content:center;
  align-items:center;
  border-color:#b9c7d4 !important;
  color:#294d69 !important;
}
html[data-theme="light"] .dashboard-intelligence-link:hover {
  background:#dce7f0 !important;
  border-color:#8da9be !important;
  box-shadow:0 4px 10px rgba(27,43,62,.07) !important;
}

html[data-theme="light"] .card,
html[data-theme="light"] .dashboard-panel-card,
html[data-theme="light"] .dashboard-smart-card,
html[data-theme="light"] .dashboard-priority-item,
html[data-theme="light"] .notificacao-card,
html[data-theme="light"] .cliente-card,
html[data-theme="light"] .recorrente-item,
html[data-theme="light"] #painelRecCartoes .cartao-card {
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
html[data-theme="light"] .dashboard-intelligence,
html[data-theme="light"] #painelAgenda-grid,
html[data-theme="light"] .finance-charts-grid,
html[data-theme="light"] .finance-mini-cards { gap:12px !important; }

@media (max-width:620px) {
  html[data-theme="light"] #main .dashboard-finance-cards { gap:10px !important; }
  html[data-theme="light"] #main .dashboard-finance-card,
  html[data-theme="light"] #main .dashboard-finance-card.is-net,
  html[data-theme="light"] #main #cardDizimo { min-height:94px !important; padding:13px 14px !important; }
}

/* Polimento final do tema escuro V137: refinamento sem alterar a identidade. */
html[data-theme="dark"] {
  --bg:#0e141b;
  --side:#151d27;
  --border:#354352;
  --btn-dark:#202a35;
  --jarvis-bg:#0e141b;
  --jarvis-surface:#151d27;
  --jarvis-surface-2:#1b2530;
  --jarvis-surface-soft:rgba(24,34,45,.96);
  --jarvis-border:rgba(91,111,130,.43);
  --jarvis-border-strong:rgba(102,137,160,.64);
  --dark-level-1:#0e141b;
  --dark-level-2:#151d27;
  --dark-level-3:#1b2530;
  --dark-border:#354352;
  --dark-border-hover:#487188;
  --dark-shadow:0 4px 14px rgba(0,0,0,.14);
  --dark-shadow-raised:0 8px 22px rgba(0,0,0,.19);
}
html[data-theme="dark"] body { background:var(--dark-level-1) !important; }
html[data-theme="dark"] .card,
html[data-theme="dark"] .header-box,
html[data-theme="dark"] .finance-summary,
html[data-theme="dark"] .finance-chart-box,
html[data-theme="dark"] .table-container,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .alert-content { background-color:var(--dark-level-2) !important; border-color:var(--dark-border) !important; }
html[data-theme="dark"] .modal-section,
html[data-theme="dark"] .dashboard-panel-card,
html[data-theme="dark"] .dashboard-finance-card,
html[data-theme="dark"] .dashboard-mini-card,
html[data-theme="dark"] .finance-mini-card,
html[data-theme="dark"] .notificacoes-resumo,
html[data-theme="dark"] .notificacao-opcoes,
html[data-theme="dark"] .cartao-card-bloco,
html[data-theme="dark"] .edit-inline-container { background:var(--dark-level-3) !important; border-color:var(--dark-border) !important; }

html[data-theme="dark"] .card,
html[data-theme="dark"] .finance-summary,
html[data-theme="dark"] .finance-chart-box,
html[data-theme="dark"] .table-container { box-shadow:var(--dark-shadow) !important; }
html[data-theme="dark"] .dashboard-mini-card,
html[data-theme="dark"] .finance-mini-card,
html[data-theme="dark"] .notificacao-card,
html[data-theme="dark"] .cliente-card,
html[data-theme="dark"] .recorrente-item { box-shadow:none !important; }
html[data-theme="dark"] #main .header-box,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .alert-content { box-shadow:var(--dark-shadow-raised) !important; }

html[data-theme="dark"] #main .header-box {
  padding:16px 18px !important;
  border-color:var(--dark-border) !important;
  border-left-color:rgba(0,195,255,.48) !important;
}
html[data-theme="dark"] #main .header-box > * { min-width:0; }
html[data-theme="dark"] #main .header-box .saldo-banco-box { padding:10px 12px !important; border-color:var(--dark-border) !important; }
html[data-theme="dark"] #main .header-box .notification-bell,
html[data-theme="dark"] #main .header-box .saldo-action { border-color:var(--dark-border) !important; }

html[data-theme="dark"] #main .weather-card {
  padding:15px 16px !important;
  border-color:var(--dark-border) !important;
  border-left-color:rgba(0,195,255,.42) !important;
  box-shadow:var(--dark-shadow) !important;
}
html[data-theme="dark"] #main .weather-card:hover { border-color:var(--dark-border-hover) !important; box-shadow:0 5px 15px rgba(0,0,0,.17) !important; }
html[data-theme="dark"] #main .weather-temp { font-size:2rem !important; line-height:1; }

html[data-theme="dark"] .sidebar { border-right-color:var(--dark-border) !important; box-shadow:5px 0 18px rgba(0,0,0,.12) !important; }
html[data-theme="dark"] .sidebar .accordion-section + .accordion-section { margin-top:5px; }
html[data-theme="dark"] .sidebar .accordion-header { border-color:transparent !important; box-shadow:none !important; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
html[data-theme="dark"] .sidebar .accordion-header:hover { background:#1d2935 !important; border-color:#3b5365 !important; }
html[data-theme="dark"] .sidebar .accordion-header.active {
  background:#1c302d !important;
  border-color:#41675e !important;
  box-shadow:inset 3px 0 0 rgba(54,211,153,.72) !important;
  color:#c9f4e4 !important;
}
html[data-theme="dark"] .sidebar .accordion-header.active .menu-icon { background:#203a34 !important; border-color:#426f63 !important; }
html[data-theme="dark"] .sidebar .accordion-body { background:#18222d !important; border-color:#303f4d !important; }

html[data-theme="dark"] button,
html[data-theme="dark"] .btn-cyan,
html[data-theme="dark"] .btn-dark,
html[data-theme="dark"] .btn-mini,
html[data-theme="dark"] .cliente-action,
html[data-theme="dark"] .table-action-btn,
html[data-theme="dark"] .adm-icon-btn,
html[data-theme="dark"] .notificacoes-tabs button,
html[data-theme="dark"] #painelRecCartoes .cartao-tabs button {
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
html[data-theme="dark"] .btn-dark,
html[data-theme="dark"] .btn-mini,
html[data-theme="dark"] .cliente-action,
html[data-theme="dark"] .table-action-btn,
html[data-theme="dark"] .adm-icon-btn { min-height:36px; padding:8px 12px !important; border-color:var(--dark-border) !important; }
html[data-theme="dark"] button:hover:not(:disabled) { transform:translateY(-1px); }
html[data-theme="dark"] button:active:not(:disabled) { transform:translateY(0); }
html[data-theme="dark"] button:disabled { opacity:.58 !important; box-shadow:none !important; transform:none !important; }
html[data-theme="dark"] .btn-dark:hover,
html[data-theme="dark"] .btn-mini:hover,
html[data-theme="dark"] .cliente-action:hover,
html[data-theme="dark"] .table-action-btn:hover,
html[data-theme="dark"] .adm-icon-btn:hover { border-color:var(--dark-border-hover) !important; }
html[data-theme="dark"] .dashboard-panel-header > div .btn-dark {
  width:32px !important;
  min-width:32px !important;
  min-height:30px !important;
  padding:4px 8px !important;
}

html[data-theme="dark"] #main .dashboard-finance-cards { align-items:stretch; gap:12px !important; }
html[data-theme="dark"] #main .dashboard-finance-card,
html[data-theme="dark"] #main .dashboard-finance-card.is-net,
html[data-theme="dark"] #main #cardDizimo {
  display:flex !important;
  min-height:102px !important;
  height:100%;
  padding:15px 16px !important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  border:1px solid var(--dark-border) !important;
  border-radius:12px !important;
  box-shadow:var(--dark-shadow) !important;
}
html[data-theme="dark"] #main .dashboard-finance-card h4 { margin:0 !important; font-size:.72rem !important; line-height:1.2; }
html[data-theme="dark"] #main .dashboard-finance-card .val { margin:0 !important; font-size:1.34rem !important; font-weight:850 !important; line-height:1.1; }
html[data-theme="dark"] #main .dashboard-finance-card:hover { border-color:var(--dark-border-hover) !important; box-shadow:0 6px 16px rgba(0,0,0,.18) !important; }

html[data-theme="dark"] .dashboard-priority-item,
html[data-theme="dark"] .dashboard-smart-card[role="button"],
html[data-theme="dark"] .notificacao-card,
html[data-theme="dark"] .cliente-card,
html[data-theme="dark"] #painelRecCartoes .cartao-card { transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease; }
html[data-theme="dark"] .dashboard-priority-item:hover,
html[data-theme="dark"] .dashboard-smart-card[role="button"]:hover,
html[data-theme="dark"] .notificacao-card:hover,
html[data-theme="dark"] .cliente-card:hover { border-color:var(--dark-border-hover) !important; }

@media (max-width:620px) {
  html[data-theme="dark"] #main .header-box { padding:14px !important; }
  html[data-theme="dark"] #main .dashboard-finance-cards { gap:10px !important; }
  html[data-theme="dark"] #main .dashboard-finance-card,
  html[data-theme="dark"] #main .dashboard-finance-card.is-net,
  html[data-theme="dark"] #main #cardDizimo { min-height:94px !important; padding:13px 14px !important; }
}
/* Logo do cabecalho: exclusiva da interface mobile. */
#main .mobile-logo {
    display: none;
}

@media (max-width: 768px) {
    .login-bg {
        justify-content: flex-start;
    }

    .login-right {
        justify-content: flex-start;
        min-height: 100%;
        padding: max(24px, env(safe-area-inset-top)) 20px 24px;
    }

    #main {
        order: 1;
    }

    #sidebar {
        order: 2;
    }

    #sidebar > img {
        display: none;
    }

    #main .mobile-logo {
        display: block;
        width: clamp(112px, 36vw, 150px);
        height: 42px;
        margin: 0 auto 2px;
        object-fit: contain;
    }
}
