/* Finance Pro V2 — ERP Moderno: folha adicional, sem alterar style.css ou auth.css */
:root{--dark-bg:#edf1f6;--dark-card:#fff;--dark-border:#dbe3ee;--ice-white:#172b4d;--ice-muted:#64748b;--emerald:#2563eb;--emerald-hover:#1d4ed8;--sky:#2563eb;--indigo:#4f46e5;--purple:#7c3aed;--red:#dc2626}
body{background:#edf1f6;color:#172b4d}
.erp-topbar{background:#172b4d;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px max(20px,calc((100vw - 1250px)/2));font-size:13px}
.erp-brand{font-size:17px;font-weight:800;letter-spacing:.06em}.erp-brand i{color:#60a5fa;margin-right:8px}
.finance-layout{display:block;max-width:1250px;margin:auto;padding:16px 18px}.finance-main>.max-w-6xl{max-width:none;padding:0}
.erp-fixed-panel{margin:0 0 22px}.fixed-sidebar{position:static;max-height:none;overflow:visible;background:#fff;color:#172b4d;border:1px solid #dbe3ee;border-radius:12px;padding:20px;font-size:14px;box-shadow:0 3px 10px #172b4d0a}
.fixed-sidebar-heading strong{font-size:19px}.fixed-sidebar-heading i{color:#2563eb}.fixed-help{font-size:12px;color:#64748b}
.fixed-bills-list{max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.fixed-bill{background:#f8fafc;border-color:#e2e8f0;padding:12px}.fixed-bill-name{font-size:13px;color:#172b4d}
.fixed-bill-fields input,.fixed-bill-form input{background:#fff;color:#172b4d;border-color:#cbd5e1;font-size:13px;padding:10px}
.fixed-bill-fields,.fixed-form-row{grid-template-columns:minmax(0,1fr) 100px}.fixed-status{font-size:12px}.fixed-toggle{font-size:12px}
.fixed-bill-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,1fr) auto;align-items:center;gap:10px}.fixed-form-row{margin-top:0}.fixed-add-btn{width:auto;margin:0;padding:11px 16px;background:#2563eb;font-size:13px}.fixed-summary{font-size:13px}.fixed-summary strong{color:#166534}
.card,.expense-panel,#legacyMonthlySection{background:#fff!important;color:#172b4d!important;border-color:#dbe3ee!important;box-shadow:0 3px 10px #172b4d0a}
.bg-darkCard{background-color:#fff!important}.bg-darkBg{background-color:#f8fafc!important}.border-darkBorder{border-color:#dbe3ee!important}
.text-iceWhite{color:#172b4d!important}.text-iceMuted{color:#64748b!important}
input[type=text],input[type=number],input[type=date],select{color:#172b4d;background:#fff;border-color:#cbd5e1}
.expense-panels{display:block!important}.expense-panel{width:100%;height:auto!important}.expense-panel .expense-form{min-height:0}
.expense-entry-row{max-width:540px}.expense-live-preview{background:#f8fafc;border-color:#dbe3ee;max-width:540px}.expense-live-line{color:#64748b}.expense-live-line strong{color:#172b4d}.expense-live-balance strong{color:#15803d}
.erp-date-label{display:flex;flex-direction:column;gap:6px;color:#64748b;font-size:12px;max-width:250px}.erp-date-label input{border:1px solid #cbd5e1;border-radius:8px;padding:10px;font-size:14px}
.erp-legacy-note{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;border-radius:8px;padding:12px;margin-bottom:20px;font-size:12px}
.future-panel{background:#162132;color:#f8fafc}.future-panel .future-head h2{color:#f8fafc}.future-panel select{background:#0f172a;color:#6ee7b7}.future-panel .future-graph{background:#0f172a}
/* Classes utilitárias de cor usadas em elementos de balanço e histórico */
#balanceCard{background:#effaf3!important;border-color:#86efac!important;color:#166534!important;box-shadow:none!important}#balanceCard.text-red-400{background:#fff1f2!important;border-color:#fda4af!important;color:#b91c1c!important}
#balanceAmount,#balanceLabel{color:inherit!important}
.modal-overlay .modal-content{background:#fff!important;color:#172b4d!important;border-color:#dbe3ee!important}
[hidden]{display:none!important}
@media(max-width:740px){.erp-topbar{padding:14px}.erp-topbar>span{display:none}.finance-layout{padding:10px}.fixed-sidebar{padding:14px}.fixed-bill-form{grid-template-columns:1fr}.fixed-bills-list{grid-template-columns:1fr}.fixed-add-btn{width:100%}.expense-panel{padding:14px!important}}
/* Finance Pro V2 — Botão Guardar / Fechar Mês */

button[onclick="openCloseMonthModal()"] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    align-items: center;
    justify-content: center;
    gap: 8px;

    background-color: #2563eb !important;
    color: #ffffff !important;

    padding: 12px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;

    width: auto;
    min-height: 44px;
    cursor: pointer;
}

button[onclick="openCloseMonthModal()"]:hover {
    background-color: #1d4ed8 !important;
}
.finance-header-actions{display:flex;gap:14px;align-items:center}
.finance-header-actions button{color:#fff;font-size:19px;padding:8px;border-radius:8px}
.finance-header-actions button:hover,.finance-header-actions button:focus-visible{background:#334155}
#financeProfileDialog:not([hidden]){position:fixed;inset:0;z-index:10010;background:rgba(2,6,23,.78);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.finance-profile-panel{background:white;color:#172b4d;width:min(100%,520px);max-height:94vh;overflow:auto;border-radius:14px;padding:22px}
.finance-profile-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.finance-profile-heading h2{font-size:22px;font-weight:700}
#financeProfileClose{font-size:26px;padding:4px 10px}
#financeProfileForm{display:grid;gap:10px}
#financeProfileForm label{font-size:13px;font-weight:600;display:grid;gap:5px}
#financeProfileForm input,#financeProfileForm select{padding:10px;border:1px solid #cbd5e1;border-radius:8px;width:100%;color:#172b4d;background:white}
#financeProfileForm input[readonly]{background:#f1f5f9;color:#475569}
.finance-profile-note{font-size:12px;color:#64748b}
.finance-profile-buttons{display:flex;justify-content:flex-end;gap:10px}
.finance-profile-buttons button{padding:10px 14px;border-radius:8px;background:#e2e8f0}
#financeProfileSave{background:#2563eb!important;color:white}

/* Receita: símbolo fixo fora do campo editável; utilizador digita apenas números. */
.salary-amount-field{display:flex;align-items:center;flex:1;min-width:0;border:1px solid #cbd5e1;border-radius:9px;background:#fff;overflow:hidden}
.salary-amount-field>span{padding:0 12px;white-space:nowrap;font-weight:700;color:#475569;border-right:1px solid #e2e8f0}
.salary-amount-field>#salaryInput{flex:1;min-width:0;width:100%;border:0!important;outline-offset:-2px;background:#fff!important;color:#172b4d!important}
/* Perfil: todos os campos começam bloqueados, com liberação individual. */
#financeProfileForm .profile-field-row{display:flex;align-items:center;gap:8px;min-width:0}
#financeProfileForm .profile-field-row input,#financeProfileForm .profile-field-row select{flex:1;min-width:0}
#financeProfileForm .profile-field-row input[readonly],#financeProfileForm .profile-field-row select:disabled{background:#f1f5f9!important;color:#475569!important;opacity:1;cursor:default}
#financeProfileForm .profile-edit-field{flex:0 0 auto;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;padding:9px 10px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer}
#financeProfileForm .profile-edit-field[aria-pressed="true"]{background:#dbeafe}
