@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");

.msfa-accounting-body,
.msfa-login-body { --msfa-gold:#98730b; --msfa-ink:#20303b; --msfa-muted:#6e7b84; --msfa-border:#e9e3d7; --msfa-cream:#faf8f3; }
.msfa-accounting-body *,
.msfa-login-body * { box-sizing:border-box; }
.msfa-accounting-body,
.msfa-login-body { margin:0; background:var(--msfa-cream); color:var(--msfa-ink); font-family:Inter,Arial,sans-serif; }
.msfa-app { display:grid; min-height:100vh; grid-template-columns:264px minmax(0,1fr); }
.msfa-sidebar { min-height:100vh; padding:26px 16px; background:#1d292f; color:#f7f1e6; }
.msfa-brand { display:flex; align-items:center; gap:10px; padding:7px 10px 26px; color:#fffdf8; text-decoration:none; }.msfa-brand>span { display:grid; width:38px; height:38px; place-items:center; border:1px solid rgba(213,174,68,.65); border-radius:11px; color:#f1cf75; font:700 .8rem Georgia,serif; }.msfa-brand strong { font-size:.92rem; }.msfa-brand small { display:block; margin-top:3px; color:#d6c49b; font-size:.68rem; font-weight:600; }
.msfa-nav { display:grid; gap:3px; }.msfa-nav-item { border-left:3px solid transparent; border-radius:0 9px 9px 0; color:#dce2df; font-size:.82rem; font-weight:650; padding:10px; text-decoration:none; }.msfa-nav-item:hover,.msfa-nav-item.is-active { background:rgba(213,174,68,.16); color:#fff4d2; }.msfa-nav-item.is-active { border-left-color:var(--msfa-gold); font-weight:800; }
.msfa-main { min-width:0; }.msfa-topbar { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:94px; padding:20px clamp(20px,4vw,60px); border-bottom:1px solid var(--msfa-border); background:rgba(255,253,248,.9); }.msfa-topbar h1 { margin:4px 0 0; font-size:clamp(1.35rem,3vw,2rem); letter-spacing:-.035em; }.msfa-content { padding:28px clamp(18px,4vw,60px) 64px; }
.msfa-eyebrow { color:var(--msfa-gold); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.msfa-hero,.msfa-page-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }.msfa-hero { padding:clamp(25px,4vw,38px); border:1px solid #ead9ae; border-radius:22px; background:linear-gradient(118deg,#fffdf8 0%,#f8edce 100%); box-shadow:0 10px 28px rgba(68,52,24,.06); }.msfa-hero h2,.msfa-page-head h2,.msfa-card h2 { margin:8px 0; font-size:clamp(1.25rem,3vw,1.85rem); letter-spacing:-.03em; }.msfa-hero p,.msfa-page-head p,.msfa-card p { margin:0; color:var(--msfa-muted); line-height:1.6; }
.msfa-card { background:#fffdf9; border:1px solid var(--msfa-border); border-radius:18px; box-shadow:0 8px 26px rgba(68,52,24,.055); }.msfa-grid { display:grid; gap:18px; margin-bottom:22px; }.msfa-stat-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }.msfa-grid-two { grid-template-columns:1.4fr .8fr; }.msfa-stat-card { display:flex; flex-direction:column; min-height:142px; padding:19px; border-top:3px solid #cba127; }.msfa-stat-card span { color:var(--msfa-muted); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.msfa-stat-card strong { margin:10px 0 5px; font-size:1.3rem; letter-spacing:-.03em; overflow-wrap:anywhere; }.msfa-stat-card small { margin-top:auto; color:var(--msfa-muted); font-size:.76rem; }
.msfa-section-head { display:flex; align-items:center; justify-content:space-between; gap:18px; }.msfa-table-card,.msfa-list-card,.msfa-form-card,.msfa-placeholder { padding:24px; }.msfa-table-card .msfa-section-head { margin-bottom:16px; }.msfa-table-scroll { overflow-x:auto; }.msfa-table { width:100%; min-width:600px; border-collapse:collapse; }.msfa-table th { padding:11px 12px; background:#faf5e9; color:#7b705d; font-size:.7rem; letter-spacing:.05em; text-align:left; text-transform:uppercase; }.msfa-table td { padding:12px; border-top:1px solid var(--msfa-border); font-size:.84rem; vertical-align:middle; }.msfa-list-card h2 { font-size:1.15rem; }.msfa-list-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid var(--msfa-border); }.msfa-list-row div { display:grid; gap:4px; }.msfa-list-row small { color:var(--msfa-muted); }.msfa-list-row>span { color:var(--msfa-gold); font-size:.76rem; font-weight:750; text-transform:capitalize; }.msfa-empty { margin-top:16px !important; padding:15px; border:1px dashed #d8cfbd; border-radius:10px; text-align:center; }
.msfa-btn { display:inline-flex; align-items:center; justify-content:center; min-height:40px; border:1px solid transparent; border-radius:10px; cursor:pointer; font:700 .82rem Arial,sans-serif; padding:10px 15px; text-decoration:none!important; white-space:nowrap; }.msfa-btn-primary { border-color:var(--msfa-gold); background:var(--msfa-gold); color:#fff!important; }.msfa-btn-primary:hover { background:#785a05; border-color:#785a05; }.msfa-btn-outline { border-color:#d4c5a8; background:#fffdf9; color:var(--msfa-ink)!important; }.msfa-btn-outline:hover { border-color:var(--msfa-gold); background:#faf2de; }
.msfa-input,.msfa-select { width:100%; min-height:42px; border:1px solid #dcd4c5; border-radius:9px; background:#fffdf9; color:var(--msfa-ink); font:inherit; padding:10px 11px; }.msfa-input:focus,.msfa-select:focus { outline:none; border-color:var(--msfa-gold); box-shadow:0 0 0 3px rgba(152,115,11,.12); }.msfa-select { appearance:auto; }.msfa-form { display:grid; gap:20px; margin-top:22px; }.msfa-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.msfa-form label { display:grid; gap:7px; font-size:.82rem; font-weight:750; }.msfa-field-wide { grid-column:1/-1; }.msfa-actions { display:flex; flex-wrap:wrap; gap:10px; }.msfa-hidden { display:none!important; }.msfa-alert { margin:0 0 18px; padding:12px 14px; border:1px solid #bfdfc8; border-radius:10px; background:#e8f5eb; color:#17633b; font-size:.86rem; font-weight:650; }.msfa-alert-error { border-color:#f1c6be; background:#fff0ed; color:#9a382d; }
.msfa-badge { display:inline-flex; border-radius:999px; font-size:.72rem; font-weight:750; padding:7px 10px; white-space:nowrap; }.msfa-badge-draft { background:#eef0f2; color:#56616a; }.msfa-badge-confirmed,.msfa-badge-posted { background:#e2f3e8; color:#17633b; }.msfa-badge-cancelled,.msfa-badge-cancel { background:#fde7e5; color:#a83b34; }.msfa-badge-success { background:#e2f3e8; color:#17633b; }.msfa-badge-warning { background:#fff1cf; color:#855c00; }.msfa-badge-danger { background:#fde7e5; color:#a83b34; }
.msfa-odoo-sync-card { margin-top:22px; }.msfa-odoo-sync-card p { margin:0 0 16px; }.msfa-mapping-list { display:grid; gap:8px; margin:0 0 16px; padding:0; list-style:none; }.msfa-mapping-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid var(--msfa-border); border-radius:10px; background:#fffaf0; }.msfa-readiness-ok,.msfa-readiness-warning,.msfa-readiness-error { padding:12px; border-radius:10px; font-weight:650; }.msfa-readiness-ok { background:#e8f5eb; color:#17633b; }.msfa-readiness-warning { background:#fff1cf; color:#855c00; }.msfa-readiness-error { background:#fff0ed; color:#9a382d; }.msfa-field-help { color:var(--msfa-muted); font-size:.82rem; }
.msfa-period-card { padding:24px; margin-bottom:22px; }.msfa-period-open { background:#e2f3e8; color:#17633b; }.msfa-period-closing { background:#fff1cf; color:#855c00; }.msfa-period-closed { background:#e8edf1; color:#44515b; }.msfa-period-locked { background:#f5dfdc; color:#993d35; }.msfa-approval-badge { background:#f6edda; color:#785a05; }.msfa-closing-checklist { display:grid; gap:9px; padding:0; list-style:none; }.msfa-closing-checklist li { padding:11px 13px; border-radius:10px; font-weight:650; }.msfa-closing-checklist .is-ok { background:#e8f5eb; color:#17633b; }.msfa-closing-checklist .is-failed { background:#fff0ed; color:#9a382d; }.msfa-audit-log { display:grid; gap:8px; }.msfa-audit-log>div { display:grid; grid-template-columns:1fr auto; gap:4px 16px; padding:12px; border:1px solid var(--msfa-border); border-radius:10px; }.msfa-audit-log small { grid-column:1/-1; color:var(--msfa-muted); }.msfa-reopen-form { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
.msfa-login-body { min-height:100vh; background:linear-gradient(135deg,#faf8f3,#f8edce); }.msfa-login-shell { display:grid; min-height:100vh; place-items:center; padding:24px; }.msfa-login-card { width:min(100%,440px); padding:34px; border:1px solid #ead9ae; border-radius:22px; background:#fffdf9; box-shadow:0 16px 42px rgba(68,52,24,.1); }.msfa-login-card h1 { margin:9px 0; font-size:1.75rem; }.msfa-login-card p { color:var(--msfa-muted); line-height:1.6; }.msfa-login-form { display:grid; gap:12px; margin-top:24px; }.msfa-login-form label { display:grid; gap:7px; font-size:.82rem; font-weight:750; }.msfa-login-form .msfa-btn { width:100%; margin-top:7px; }.msfa-back-link { color:var(--msfa-gold); font-size:.8rem; font-weight:750; text-decoration:none; }.msfa-login-card .msfa-back-link { display:inline-block; margin-top:22px; }.msfa-back-link:hover { text-decoration:underline; }
@media (max-width:1180px) { .msfa-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }.msfa-placeholder { max-width:760px; }@media (max-width:900px) { .msfa-app { grid-template-columns:210px minmax(0,1fr); }.msfa-grid-two { grid-template-columns:1fr; } }.msfa-sidebar { padding-inline:11px; }@media (max-width:720px) { .msfa-app { display:block; }.msfa-sidebar { min-height:auto; padding:16px; }.msfa-brand { padding-bottom:14px; }.msfa-nav { display:flex; overflow-x:auto; }.msfa-nav-item { flex:0 0 auto; }.msfa-topbar { min-height:76px; padding:16px; }.msfa-topbar .msfa-back-link { display:none; }.msfa-content { padding:18px 14px 44px; }.msfa-hero,.msfa-page-head { align-items:flex-start; flex-direction:column; }.msfa-stat-grid,.msfa-form-grid { grid-template-columns:1fr; }.msfa-hero .msfa-btn,.msfa-page-head .msfa-btn { width:100%; }.msfa-table-card,.msfa-list-card,.msfa-form-card,.msfa-placeholder { padding:18px 14px; }.msfa-actions { display:grid; }.msfa-actions .msfa-btn { width:100%; } }

/* Stage 1B: transaction-focused semi-app components. */
.msfa-page-header { margin:0 0 22px; }.msfa-page-header h2 { margin:7px 0 8px; font-size:clamp(1.55rem,3vw,2.15rem); letter-spacing:-.035em; }.msfa-page-header p { margin:0; color:var(--msfa-muted); line-height:1.6; }.msfa-page-header-actions { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.msfa-hero-card { display:flex; align-items:center; justify-content:space-between; gap:28px; margin:0 0 22px; padding:clamp(25px,4vw,38px); border-color:#ead9ae; background:linear-gradient(118deg,#fffdf8 0%,#f8edce 100%); }.msfa-hero-card h2 { margin:8px 0; }.msfa-hero-metrics { display:grid; grid-template-columns:repeat(2,minmax(145px,1fr)); gap:14px; min-width:min(100%,440px); }.msfa-hero-metrics>div { display:grid; gap:6px; padding:14px; border:1px solid #eadfca; border-radius:13px; background:rgba(255,253,249,.8); }.msfa-hero-metrics span,.msfa-detail-item span,.msfa-detail-text>span { color:var(--msfa-muted); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.msfa-hero-metrics strong { color:var(--msfa-ink); font-size:1.12rem; letter-spacing:-.02em; }.msfa-hero-metrics .msfa-form-actions { grid-column:1/-1; padding:0; border:0; background:transparent; }
.msfa-stat-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }.msfa-dashboard-lists { grid-template-columns:minmax(0,1.45fr) minmax(230px,.8fr) minmax(230px,.8fr); align-items:start; }.msfa-empty-state { margin:16px 0 0; padding:16px; border:1px dashed #d8cfbd; border-radius:11px; background:#fcfaf5; color:var(--msfa-muted); text-align:center; }.msfa-quick-actions { margin-top:22px; padding:24px; }.msfa-quick-actions h2 { margin-top:7px; font-size:1.2rem; }.msfa-quick-action-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }.msfa-quick-action { display:grid; gap:5px; min-height:96px; padding:15px; border:1px solid #eadfca; border-radius:13px; background:#fcfaf5; color:var(--msfa-ink); text-decoration:none; transition:border-color .18s ease,background .18s ease,transform .18s ease; }.msfa-quick-action:hover { border-color:var(--msfa-gold); background:#fff8e8; color:var(--msfa-ink); transform:translateY(-1px); }.msfa-quick-action small { color:var(--msfa-muted); font-size:.76rem; line-height:1.45; }
.msfa-filter-card { margin-bottom:22px; padding:22px; }.msfa-filter-card h2 { margin:6px 0 0; font-size:1.15rem; }.msfa-filter-card .msfa-form { margin-top:18px; }.msfa-filter-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.msfa-form-actions,.msfa-action-bar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }.msfa-filter-card .msfa-form-actions { padding-top:2px; }.msfa-btn-danger { border-color:#d8a59e; background:#fffafa; color:#9b3b32!important; }.msfa-btn-danger:hover { border-color:#b7574e; background:#fff0ed; color:#8d322a!important; }.msfa-btn-sm { min-height:33px; border-radius:8px; font-size:.73rem; padding:8px 10px; }.msfa-action-bar-inline { gap:7px; }.msfa-action-bar form { margin:0; }.msfa-transaction-table { min-width:1120px; }
.msfa-alert-success { border-color:#bfdfc8; background:#e8f5eb; color:#17633b; }.msfa-alert-warning { border-color:#ead5a2; background:#fff6df; color:#7b5b0a; }.msfa-detail-hero { align-items:center; }.msfa-detail-hero>div:first-child { display:grid; gap:7px; }.msfa-detail-hero>div:first-child>strong { font-size:clamp(2rem,5vw,3.1rem); letter-spacing:-.05em; }.msfa-detail-hero p { font-weight:650; }.msfa-detail-hero-summary { display:grid; justify-items:end; gap:9px; text-align:right; }.msfa-detail-hero-summary>strong { font-size:1.05rem; }.msfa-detail-hero-summary small { color:var(--msfa-muted); }.msfa-detail-card,.msfa-action-card { margin-top:22px; padding:24px; }.msfa-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.msfa-detail-item { display:grid; gap:6px; min-height:82px; padding:14px; border:1px solid #eee4d1; border-radius:12px; background:#fcfaf5; }.msfa-detail-item strong { overflow-wrap:anywhere; }.msfa-detail-text { display:grid; gap:7px; margin-top:18px; padding-top:18px; border-top:1px solid var(--msfa-border); }.msfa-detail-text p { white-space:pre-line; }.msfa-action-card { display:grid; gap:12px; }.msfa-action-info { margin:0; padding:10px 12px; border-left:3px solid var(--msfa-gold); border-radius:4px; background:#f8f0de; color:#67552c; font-size:.84rem; }
@media (max-width:1180px) { .msfa-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.msfa-dashboard-lists { grid-template-columns:repeat(2,minmax(0,1fr)); }.msfa-dashboard-lists .msfa-list-card:last-child { grid-column:1/-1; }.msfa-quick-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.msfa-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .msfa-page-header-actions,.msfa-hero-card,.msfa-detail-hero { align-items:flex-start; flex-direction:column; }.msfa-page-header-actions>.msfa-btn { width:100%; }.msfa-hero-metrics { width:100%; grid-template-columns:1fr; }.msfa-stat-grid,.msfa-dashboard-lists,.msfa-quick-action-grid,.msfa-filter-grid,.msfa-detail-grid { grid-template-columns:1fr; }.msfa-dashboard-lists .msfa-list-card:last-child { grid-column:auto; }.msfa-form-actions,.msfa-action-bar { align-items:stretch; flex-direction:column; width:100%; }.msfa-form-actions .msfa-btn,.msfa-action-bar .msfa-btn,.msfa-action-bar form,.msfa-action-bar form .msfa-btn { width:100%; }.msfa-detail-hero-summary { justify-items:start; text-align:left; }.msfa-detail-card,.msfa-action-card,.msfa-filter-card,.msfa-quick-actions { padding:18px 14px; } }

/* Stage 1C: Cash & Bank and Program Accounting. */
.msfa-summary-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; margin:0 0 22px; }
.msfa-summary-card { display:flex; min-height:128px; flex-direction:column; justify-content:center; padding:19px; border-top:3px solid #cba127; }
.msfa-summary-card span { color:var(--msfa-muted); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.msfa-summary-card strong { margin:9px 0 5px; color:var(--msfa-ink); font-size:1.23rem; letter-spacing:-.03em; overflow-wrap:anywhere; }
.msfa-summary-card small { color:var(--msfa-muted); font-size:.76rem; }
.msfa-balance-card,.msfa-program-metric { border-color:#e5d3a4; background:linear-gradient(135deg,#fffdf8,#fbf2dd); }
.msfa-detail-header { margin-bottom:22px; }.msfa-detail-header h2 { font-size:clamp(1.55rem,4vw,2.25rem); }
.msfa-action-row { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.msfa-link-card { color:var(--msfa-ink); text-decoration:none; }.msfa-inline-link { color:var(--msfa-gold); font-weight:750; text-decoration:none; }.msfa-inline-link:hover { text-decoration:underline; }
.msfa-cash-bank-table { min-width:1120px; }.msfa-program-table { min-width:1350px; }
.msfa-checkbox { grid-template-columns:auto 1fr; align-items:center; gap:9px!important; padding:10px 0; }.msfa-checkbox input { width:17px; height:17px; accent-color:var(--msfa-gold); }
.msfa-badge-planning { background:#fff1cf; color:#855c00; }.msfa-badge-running { background:#e3effa; color:#245987; }.msfa-badge-closed { background:#e2f3e8; color:#17633b; }
@media (max-width:1180px) { .msfa-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) { .msfa-summary-grid { grid-template-columns:1fr; }.msfa-action-row { width:100%; }.msfa-action-row .msfa-btn { width:100%; } }

/* Stage 1D: vendor obligations and settlement payments. */
.msfa-vendor-summary .msfa-summary-card { min-height:134px; }.msfa-settlement-card { border-color:#e7cf98; background:linear-gradient(135deg,#fffdf8,#fbf1d8); }
.msfa-payment-list { margin-top:22px; }.msfa-vendor-table { min-width:1180px; }
.msfa-due-badge { display:inline-flex; padding:6px 9px; border-radius:999px; background:#f8f0de; color:#705b26; font-size:.74rem; font-weight:750; white-space:nowrap; }
.msfa-money-positive { color:#17633b!important; }.msfa-money-negative { color:#9b3b32!important; }.msfa-money-warning { color:#855c00!important; }
.msfa-badge-partial { background:#fff1cf; color:#855c00; }.msfa-badge-paid { background:#e2f3e8; color:#17633b; }
.msfa-badge-submitted { background:#fff1cf; color:#855c00; }.msfa-badge-approved { background:#e2f3e8; color:#17633b; }.msfa-badge-rejected { background:#fde7e5; color:#9b3b32; }
@media (max-width:760px) { .msfa-vendor-summary { grid-template-columns:1fr; } }

/* Stage 1E: program budget and variance monitoring. */
.msfa-budget-summary .msfa-summary-card { min-height:132px; }.msfa-budget-table { min-width:1180px; }
.msfa-budget-attention { margin-top:22px; }.msfa-budget-progress { display:flex; align-items:center; gap:10px; min-width:110px; }
.msfa-progress-bar { width:100%; height:9px; overflow:hidden; border-radius:999px; background:#eee5d4; }
.msfa-progress-fill { width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#98730b,#c9a743); }.msfa-progress-fill.is-over { background:linear-gradient(90deg,#bf5a4d,#dc8877); }
.msfa-variance-positive { color:#17633b!important; }.msfa-variance-warning { color:#855c00!important; }.msfa-variance-danger { color:#9b3b32!important; }
.msfa-budget-status-safe { background:#e2f3e8; color:#17633b; }.msfa-budget-status-warning { background:#fff1cf; color:#855c00; }.msfa-budget-status-over_budget { background:#fde7e5; color:#9b3b32; }
.msfa-badge-active { background:#e3effa; color:#245987; }
@media (max-width:760px) { .msfa-budget-summary { grid-template-columns:1fr; }.msfa-budget-progress { width:100%; } }

/* Stage 6D: deterministic financial analysis (read-only). */
.msfa-analysis-filter { display:flex; align-items:end; flex-wrap:wrap; gap:10px; }.msfa-analysis-filter label { display:grid; gap:6px; font-size:12px; font-weight:750; color:#645537; }.msfa-analysis-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin:0 0 18px; }.msfa-analysis-card { min-width:0; }.msfa-analysis-card span { display:block; color:#796a4c; font-size:12px; font-weight:750; }.msfa-analysis-card strong { display:block; margin-top:8px; font-size:clamp(18px,1.6vw,26px); overflow-wrap:anywhere; }.msfa-analysis-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr); gap:18px; margin:18px 0; }.msfa-analysis-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }.msfa-analysis-health .msfa-section-head { margin-bottom:12px; }.msfa-analysis-component { margin:12px 0; }.msfa-analysis-component > div:first-child { display:flex; justify-content:space-between; gap:12px; font-size:13px; }.msfa-analysis-component strong { color:#26354a; }.msfa-analysis-definition-list { display:grid; gap:9px; margin:14px 0; }.msfa-analysis-definition-list div { display:flex; justify-content:space-between; gap:16px; }.msfa-analysis-definition-list dt { color:#796a4c; }.msfa-analysis-definition-list dd { margin:0; font-weight:800; text-align:right; }.msfa-analysis-alert-list { display:grid; gap:10px; }.msfa-analysis-alert { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:13px 15px; border:1px solid #eadfca; border-left:4px solid #bea03e; border-radius:12px; color:inherit; text-decoration:none; background:#fffdf8; }.msfa-analysis-alert:hover { color:inherit; background:#fff9ed; }.msfa-analysis-alert p { margin:4px 0 0; color:#6e624d; font-size:13px; }.msfa-analysis-alert > span { font-weight:800; white-space:nowrap; }.msfa-analysis-alert.is-critical { border-left-color:#b7443e; background:#fff5f3; }.msfa-analysis-alert.is-warning { border-left-color:#b98410; background:#fffaf0; }.msfa-analysis-alert.is-success { border-left-color:#2f8152; background:#f3fbf5; }.msfa-analysis-alert.is-info { border-left-color:#47719c; background:#f4f8fc; }.msfa-analysis-table { min-width:680px; }.msfa-analysis-growth.is-positive { color:#17633b; font-weight:800; }.msfa-analysis-growth.is-negative { color:#9b3b32; font-weight:800; }.msfa-analysis-growth.is-neutral { color:#796a4c; }.msfa-analysis-row-list { display:grid; gap:8px; margin-top:14px; }.msfa-analysis-row-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; padding:9px 0; border-bottom:1px solid #efe8dc; }.msfa-analysis-row-list small { grid-column:2; color:#796a4c; text-align:right; }.msfa-analysis-control-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }.msfa-analysis-control-grid div { padding:12px; border-radius:10px; background:#f8f2e8; }.msfa-analysis-control-grid strong,.msfa-analysis-control-grid span { display:block; }.msfa-analysis-control-grid strong { font-size:22px; color:#27364b; }.msfa-analysis-control-grid span { margin-top:3px; color:#796a4c; font-size:12px; }.msfa-analysis-source-list { display:grid; gap:8px; margin:14px 0; }.msfa-analysis-source-list a { color:#75601e; font-weight:750; text-decoration:none; }.msfa-analysis-source-list a:hover { color:#493b0e; text-decoration:underline; }.msfa-analysis-health-healthy { background:#e2f3e8; color:#17633b; }.msfa-analysis-health-attention { background:#fff1cf; color:#855c00; }.msfa-analysis-health-warning { background:#fde7e5; color:#9b3b32; }.msfa-analysis-health-critical { background:#f4d4d0; color:#7c251f; }
@media (max-width:1279px) { .msfa-analysis-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }.msfa-analysis-grid-three { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1023px) { .msfa-analysis-grid { grid-template-columns:minmax(0,1fr); }.msfa-analysis-grid-three { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .msfa-analysis-summary,.msfa-analysis-grid-three,.msfa-analysis-control-grid { grid-template-columns:minmax(0,1fr); }.msfa-analysis-filter { align-items:stretch; }.msfa-analysis-filter label,.msfa-analysis-filter .msfa-btn { width:100%; }.msfa-analysis-alert { align-items:flex-start; flex-direction:column; }.msfa-analysis-alert > span { white-space:normal; }.msfa-analysis-row-list > div { grid-template-columns:minmax(0,1fr); }.msfa-analysis-row-list small { grid-column:auto; text-align:left; } }

/* Stage 6E: scoped, read-only Financial Assistant presentation. */
.msfa-assistant-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr); gap:18px; align-items:start; }.msfa-assistant-main { display:grid; gap:18px; min-width:0; }.msfa-assistant-summary,.msfa-assistant-chat,.msfa-assistant-sources { min-width:0; }.msfa-assistant-status.is-active { background:#e2f3e8; color:#17633b; }.msfa-assistant-status.is-analysis { background:#eef1f4; color:#536273; }.msfa-assistant-config-note { margin:0 0 12px; padding:10px 12px; border-radius:10px; background:#fff7e5; color:#855c00; font-size:13px; }.msfa-assistant-messages { display:grid; gap:12px; max-height:440px; overflow-y:auto; padding-right:3px; }.msfa-assistant-message { min-width:0; padding:14px; border-radius:12px; border:1px solid #e8e0d2; background:#fffdf8; }.msfa-assistant-message.is-user { margin-left:12%; background:#f6efe0; border-color:#e8d7ad; }.msfa-assistant-message.is-assistant { margin-right:4%; }.msfa-assistant-message > span { display:block; margin-bottom:6px; color:#75601e; font-size:12px; font-weight:800; }.msfa-assistant-message p { margin:0; color:#3f4751; line-height:1.65; white-space:pre-line; overflow-wrap:anywhere; }.msfa-assistant-citations { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }.msfa-assistant-citations a { padding:4px 8px; border-radius:999px; background:#f6efe0; color:#75601e; font-size:11px; font-weight:800; text-decoration:none; }.msfa-assistant-citations a:hover { color:#493b0e; background:#eddfbd; }.msfa-assistant-shortcuts { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }.msfa-assistant-shortcuts .msfa-btn { min-height:38px; }.msfa-assistant-form { display:grid; gap:12px; }.msfa-textarea { width:100%; min-height:112px; padding:12px 13px; border:1px solid #ded3c2; border-radius:10px; background:#fffdf8; color:#27364b; font:inherit; resize:vertical; box-sizing:border-box; }.msfa-textarea:focus { outline:2px solid #d6b55d; outline-offset:1px; }.msfa-assistant-form-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; }.msfa-assistant-form-actions small { color:#796a4c; line-height:1.45; }.msfa-assistant-disclaimer { margin:0; color:#796a4c; font-size:12px; }.msfa-assistant-sources { position:sticky; top:18px; }.msfa-assistant-request-status { margin:12px 0 0; color:#75601e; font-size:13px; font-weight:750; }.msfa-assistant-request-status.is-error { color:#9b3b32; }.msfa-assistant-layout.is-loading .msfa-assistant-messages:after { content:'Assistant sedang menganalisis...'; color:#75601e; font-size:12px; font-weight:800; }.msfa-assistant-layout button:disabled { opacity:.58; cursor:not-allowed; }
@media (max-width:1023px) { .msfa-assistant-layout { grid-template-columns:minmax(0,1fr); }.msfa-assistant-sources { position:static; } }
@media (max-width:767px) { .msfa-assistant-message.is-user,.msfa-assistant-message.is-assistant { margin-left:0; margin-right:0; }.msfa-assistant-form-actions { align-items:stretch; flex-direction:column; }.msfa-assistant-form-actions .msfa-btn { width:100%; }.msfa-assistant-shortcuts .msfa-btn { width:100%; }.msfa-assistant-messages { max-height:380px; } }

/* Financial Copilot: keep a longer conversation readable without changing global layout. */
.msfa-assistant-messages { max-height:min(62vh, 620px); scroll-behavior:smooth; }
@media (max-width:767px) { .msfa-assistant-messages { max-height:min(58vh, 500px); } }

/* Stage 1F: operational reporting and CSV export. */
.msfa-nav-section { margin:12px 10px 2px; color:#d6c49b; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.msfa-nav-section.is-active,.msfa-nav:has(.msfa-nav-subitem.is-active) .msfa-nav-section { color:#f1cf75; }
.msfa-nav-subitem { display:block; margin-left:12px; border-left:2px solid transparent; border-radius:0 8px 8px 0; color:#cdd5d2; font-size:.76rem; font-weight:650; padding:7px 9px; text-decoration:none; }.msfa-nav-subitem:hover,.msfa-nav-subitem.is-active { border-left-color:var(--msfa-gold); background:rgba(213,174,68,.14); color:#fff4d2; }
.msfa-report-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.msfa-report-card { display:grid; align-content:start; gap:12px; min-height:190px; padding:22px; }.msfa-report-card h2 { font-size:1.1rem; }.msfa-report-card .msfa-btn { margin-top:auto; justify-self:start; }.msfa-report-section { margin-top:22px; }.msfa-report-table { min-width:1020px; }.msfa-report-filter { border-color:#e7d7b3; }.msfa-export-actions { justify-content:flex-start; }
.msfa-money-income,.msfa-money-profit { color:#17633b!important; font-weight:750; }.msfa-money-expense,.msfa-money-loss { color:#9b3b32!important; font-weight:750; }.msfa-due-badge.overdue { background:#fde7e5; color:#9b3b32; }.msfa-due-badge.due_soon { background:#fff1cf; color:#855c00; }.msfa-progress-fill.is-success { background:linear-gradient(90deg,#478d60,#7bb886); }.msfa-progress-fill.is-warning { background:linear-gradient(90deg,#b98511,#dfbd5a); }.msfa-progress-fill.is-danger { background:linear-gradient(90deg,#bf5a4d,#dc8877); }
@media (max-width:1180px) { .msfa-report-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .msfa-report-grid { grid-template-columns:1fr; }.msfa-nav-section { display:none; }.msfa-nav-subitem { margin:0; flex:0 0 auto; white-space:nowrap; } }

/* Stage 2B: derived general ledger. */
.msfa-ledger-summary .msfa-summary-card { min-height:122px; }
.msfa-ledger-account,.msfa-ledger-detail { margin-top:22px; }
.msfa-ledger-account .msfa-table,.msfa-ledger-detail .msfa-table { min-width:980px; }
.msfa-account-code { color:var(--msfa-gold); font-family:Consolas,"Courier New",monospace; font-weight:800; white-space:nowrap; }
.msfa-running-balance { color:var(--msfa-ink); font-weight:800; white-space:nowrap; }
.msfa-debit { color:#17633b!important; font-weight:750; white-space:nowrap; }
.msfa-credit { color:#9b3b32!important; font-weight:750; white-space:nowrap; }
.msfa-normal-debit { background:#e3effa; color:#245987; }
.msfa-normal-credit { background:#fff1cf; color:#855c00; }
@media (max-width:760px) { .msfa-ledger-summary { grid-template-columns:1fr; } }

/* Stage 2C: trial balance derived from posted journal lines. */
.msfa-trial-balance { margin-top:22px; }
.msfa-balance-summary .msfa-summary-card { min-height:120px; }
.msfa-balance-table { min-width:940px; }
.msfa-balance-ok { color:#17633b!important; font-weight:800; }
.msfa-balance-error { color:#9b3b32!important; font-weight:800; }
.msfa-balance-empty { color:#855c00!important; font-weight:800; }
.msfa-badge.msfa-balance-ok { background:#e2f3e8; color:#17633b!important; }
.msfa-badge.msfa-balance-error { background:#fde7e5; color:#9b3b32!important; }
.msfa-badge.msfa-balance-empty { background:#fff1cf; color:#855c00!important; }
.msfa-total-row td { border-top:2px solid #d9c28b; background:#faf5e9; font-weight:850; }
@media (max-width:760px) { .msfa-balance-summary { grid-template-columns:1fr; } }

/* Stage 2D: account-code based internal financial statements. */
.msfa-financial-report { margin-top:22px; }
.msfa-financial-summary .msfa-summary-card { min-height:122px; }
.msfa-financial-result { margin-top:22px; }
.msfa-financial-note { display:grid; gap:8px; margin-top:22px; padding:20px 24px; }
.msfa-financial-note p { margin:0; color:var(--msfa-muted); line-height:1.6; }
.msfa-profit { color:#17633b!important; font-weight:800; }
.msfa-loss { color:#9b3b32!important; font-weight:800; }
@media (max-width:760px) { .msfa-financial-summary { grid-template-columns:1fr; }.msfa-financial-note { padding:18px 14px; } }

/* Stage 2E: internal-to-Odoo account mapping. */
.msfa-mapping-summary .msfa-summary-card { min-height:122px; }
.msfa-mapping-table { min-width:1120px; }
.msfa-mapping-status { border:1px solid transparent; }
.msfa-mapping-status.is-mapped { background:#e2f3e8; border-color:#bfdfc8; color:#17633b; }
.msfa-mapping-status.is-unmapped { background:#fff1cf; border-color:#ead5a2; color:#855c00; }
.msfa-mapping-status.is-warning { background:#fde7e5; border-color:#f1c6be; color:#9b3b32; }
.msfa-mapping-warning { color:#9b3b32; font-size:.78rem; line-height:1.45; }
.msfa-mapping-ready { color:#17633b!important; }
.msfa-odoo-account { display:inline-grid; gap:3px; color:var(--msfa-ink); font-weight:700; }.msfa-odoo-account small { color:var(--msfa-muted); font-weight:600; }
.msfa-readiness-card { display:grid; gap:16px; margin-top:22px; padding:22px 24px; border-color:#e7d7b3; }.msfa-readiness-card p { margin:0; color:var(--msfa-muted); line-height:1.55; }
.msfa-readiness-list { display:grid; gap:7px; margin:0; padding-left:20px; color:#9b3b32; font-size:.84rem; }
.msfa-readiness-card button[disabled] { cursor:not-allowed; opacity:.62; }
@media (max-width:760px) { .msfa-mapping-summary { grid-template-columns:1fr; }.msfa-readiness-card { padding:18px 14px; } }

/* Stage 7A: scoped historical snapshot import. */
.msfa-import-upload,.msfa-import-history,.msfa-import-mapping,.msfa-import-preview,.msfa-import-actions { margin-top:22px; }
.msfa-import-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.msfa-import-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
.msfa-import-table { min-width:920px; }
.msfa-import-mapping-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.msfa-import-mapping-row { display:grid; grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr); align-items:center; gap:10px; padding:11px 12px; border:1px solid #eadfca; border-radius:10px; background:#fffdf8; font-size:.82rem; }
.msfa-import-state-imported,.msfa-import-validation-valid { background:#e2f3e8; color:#17633b; }
.msfa-import-state-uploaded,.msfa-import-state-validated,.msfa-import-validation-warning { background:#fff1cf; color:#855c00; }
.msfa-import-state-failed,.msfa-import-validation-error { background:#fde7e5; color:#9b3b32; }
.msfa-import-state-replaced,.msfa-import-state-cancelled { background:#eee9df; color:#665d51; }
@media (max-width:1023px) { .msfa-import-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .msfa-import-form-grid,.msfa-import-summary,.msfa-import-mapping-grid { grid-template-columns:minmax(0,1fr); }.msfa-import-mapping-row { grid-template-columns:minmax(0,1fr); } }

/* Stage 3A: Kajian ticketing synchronization. */
.msfa-ticketing-card { margin-bottom:22px; }
.msfa-ticket-revenue strong { color:var(--msfa-gold); }
.msfa-payment-badge,.msfa-sync-badge { text-transform:capitalize; }
.msfa-badge-confirmed,.msfa-badge-synced { background:#e2f3e8; color:#17633b; }
.msfa-badge-pending,.msfa-badge-candidate { background:#fff1cf; color:#855c00; }
.msfa-badge-ready_validation { background:#e3effa; color:#245987; }
.msfa-badge-approved,.msfa-badge-ready_to_odoo,.msfa-badge-odoo_draft_created { background:#e2f3e8; color:#17633b; }
.msfa-badge-rejected,.msfa-badge-error { background:#fde7e5; color:#9b3b32; }
.msfa-badge-skipped { background:#eee9df; color:#665d51; }
.msfa-table small { display:block; margin-top:3px; color:var(--msfa-muted); font-size:.76rem; line-height:1.35; }

/* Stage 3B: payment-validation monitoring. */
.msfa-payment-validation,.msfa-payment-summary { margin-bottom:22px; }
.msfa-payment-status,.msfa-sync-status { text-transform:capitalize; }
.msfa-payment-source { color:var(--msfa-muted); font-size:.8rem; }
.msfa-demo-card,.msfa-demo-warning { margin:18px 0; border:1px solid rgba(152,115,11,.35); background:#fff8e8; }
.msfa-demo-warning p,.msfa-demo-card p { margin:.4rem 0 0; color:var(--msfa-muted); }
.msfa-demo-badge { display:inline-flex; margin-right:.45rem; border-radius:999px; padding:.18rem .5rem; background:#77570a; color:#fff; font-size:.68rem; font-weight:700; letter-spacing:.06em; }
.msfa-demo-actions { display:flex; gap:.6rem; flex-wrap:wrap; }
.msfa-demo-record td { vertical-align:top; }
.msfa-badge-partial { background:#fff4d6; color:#8a6200; border:1px solid #d8b25b; }

/* Stage 4: internal approval, closing, and immutable audit views. */
.msfa-internal-controls .msfa-action-row { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; }
.msfa-internal-controls .msfa-inline-form { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; }
.msfa-internal-controls .msfa-input { min-width:13rem; }
.msfa-badge-posted_internal { background:#e2f3e8; color:#17633b; }
.msfa-badge-cancelled { background:#eee9df; color:#665d51; }

/* HOTFIX_DASHBOARD_RESPONSIVE_20260818 */

/* Layout dasar */
.msfa-app {
    display: flex;
    min-height: 100vh;
    background: #fcfaf6;
}

.msfa-sidebar {
    flex: 0 0 232px !important;
    width: 232px !important;
    max-width: 232px !important;
    min-width: 232px !important;
    overflow-x: hidden !important;
    background: linear-gradient(180deg, #162832 0%, #142632 100%) !important;
}

.msfa-content {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100vw - 232px);
    overflow-x: hidden;
}

/* Brand / logo sidebar */
.msfa-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 26px 14px 24px !important;
    text-align: center !important;
    text-decoration: none !important;
    overflow: hidden !important;
}

.msfa-brand img,
.msfa-brand-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 118px !important;
    max-height: 92px !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin: 0 auto !important;
}

.msfa-brand-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    max-width: 100% !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

.msfa-brand-text strong {
    display: block !important;
    max-width: 100% !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.msfa-brand-text small {
    display: block !important;
    color: #d6aa37 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    white-space: normal !important;
}

/* Menu sidebar lebih rapi */
.msfa-nav,
.msfa-sidebar nav {
    padding: 0 10px 24px !important;
}

.msfa-nav-section {
    display: block !important;
    margin: 18px 8px 8px !important;
    color: rgba(255, 255, 255, 0.55) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.msfa-nav-item,
.msfa-nav-subitem {
    display: flex !important;
    align-items: center !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    white-space: normal !important;
    line-height: 1.2 !important;
}

.msfa-nav-item.is-active,
.msfa-nav-subitem.is-active {
    background: rgba(214, 170, 55, 0.22) !important;
    color: #ffffff !important;
}

/* Header dashboard */
.msfa-page-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
}

.msfa-topbar-right {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.msfa-header-search {
    width: min(330px, 100%) !important;
    min-width: 240px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    border: 1px solid #eadfca !important;
    background: #ffffff !important;
}

.msfa-header-search input {
    width: 100% !important;
    border: 0 !important;
    outline: none !important;
    background: transparent !important;
    font-size: 13px !important;
}

.msfa-header-chip,
.msfa-user-summary {
    min-height: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    padding: 0 14px !important;
    border: 1px solid #eadfca !important;
    background: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    color: #111827 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.msfa-user-avatar {
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f3ead8 !important;
    color: #111827 !important;
    font-weight: 800 !important;
}

.msfa-user-meta strong {
    font-size: 13px !important;
}

.msfa-user-meta small {
    font-size: 11px !important;
    color: #6b7280 !important;
}

/* Card supaya lebih clean */
.msfa-card,
.msfa-summary-card,
.msfa-dashboard-card,
.msfa-table-card {
    border-radius: 18px !important;
    border: 1px solid #eadfca !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04) !important;
}

/* Responsif tablet */
@media (max-width: 1180px) {
    .msfa-sidebar {
        flex-basis: 210px !important;
        width: 210px !important;
        max-width: 210px !important;
        min-width: 210px !important;
    }

    .msfa-content {
        max-width: calc(100vw - 210px) !important;
    }

    .msfa-brand img,
    .msfa-brand-logo {
        max-width: 96px !important;
        max-height: 76px !important;
    }

    .msfa-header-search {
        width: 260px !important;
        min-width: 220px !important;
    }
}

/* Responsif mobile */
@media (max-width: 860px) {
    .msfa-app {
        display: block !important;
    }

    .msfa-sidebar {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
    }

    .msfa-content {
        max-width: 100% !important;
        width: 100% !important;
    }

    .msfa-brand {
        flex-direction: row !important;
        justify-content: flex-start !important;
        padding: 16px !important;
        text-align: left !important;
    }

    .msfa-brand img,
    .msfa-brand-logo {
        max-width: 54px !important;
        max-height: 54px !important;
        margin: 0 !important;
    }

    .msfa-brand-text {
        align-items: flex-start !important;
        text-align: left !important;
    }

    .msfa-page-header {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .msfa-topbar-right {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .msfa-header-search {
        width: 100% !important;
        min-width: 100% !important;
    }
}

/* HOTFIX_DASHBOARD_TOPBAR_STYLE_20260818 */

.msfa-topbar-right {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.msfa-header-search {
    width: 320px !important;
    max-width: 100% !important;
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
    border: 1px solid #eadfca !important;
    background: #ffffff !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
}

.msfa-header-search input {
    width: 100% !important;
    border: 0 !important;
    outline: none !important;
    background: transparent !important;
    color: #111827 !important;
    font-size: 13px !important;
}

.msfa-header-search input::placeholder {
    color: #8a94a6 !important;
}

.msfa-search-icon {
    color: #64748b !important;
    font-size: 18px !important;
}

.msfa-header-chip {
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
    border: 1px solid #eadfca !important;
    background: #ffffff !important;
    color: #111827 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
}

.msfa-header-chip:hover {
    background: #faf6ef !important;
    text-decoration: none !important;
}

.msfa-chip-icon {
    color: #8a6a00 !important;
}

.msfa-user-menu {
    position: relative !important;
}

.msfa-user-summary {
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 14px !important;
    border-radius: 16px !important;
    border: 1px solid #eadfca !important;
    background: #ffffff !important;
    cursor: pointer !important;
    list-style: none !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
}

.msfa-user-summary::-webkit-details-marker {
    display: none !important;
}

.msfa-user-avatar {
    width: 32px !important;
    height: 32px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f3ead8 !important;
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.msfa-user-meta {
    display: flex !important;
    flex-direction: column !important;
    line-height: 1.1 !important;
}

.msfa-user-meta strong {
    max-width: 120px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    color: #111827 !important;
}

.msfa-user-meta small {
    font-size: 11px !important;
    color: #6b7280 !important;
}

.msfa-user-caret {
    color: #64748b !important;
    font-size: 12px !important;
}

.msfa-user-dropdown {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    min-width: 190px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 8px !important;
    border-radius: 14px !important;
    border: 1px solid #eadfca !important;
    background: #ffffff !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14) !important;
    z-index: 80 !important;
}

.msfa-user-dropdown a {
    display: block !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.msfa-user-dropdown a:hover {
    background: #faf6ef !important;
    text-decoration: none !important;
}

@media (max-width: 1180px) {
    .msfa-topbar-right {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .msfa-header-search {
        width: min(100%, 420px) !important;
    }
}

@media (max-width: 760px) {
    .msfa-header-search {
        width: 100% !important;
    }

    .msfa-header-chip,
    .msfa-user-menu {
        width: 100% !important;
    }

    .msfa-header-chip,
    .msfa-user-summary {
        width: 100% !important;
        justify-content: center !important;
    }

    .msfa-user-dropdown {
        left: 0 !important;
        right: auto !important;
        width: 100% !important;
    }
}

/* HOTFIX_DASHBOARD_CLEAN_UI_20260818 */

/* ===============================
   Dashboard Clean Layout
   =============================== */

.msfa-content {
    background: #fcfaf7 !important;
    color: #111827 !important;
}

.msfa-page-header {
    padding: 28px 34px 18px !important;
    border-bottom: 1px solid #eadfca !important;
    background: #fcfaf7 !important;
}

.msfa-page-header h1,
.msfa-page-header h2 {
    margin: 0 !important;
    color: #111827 !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
}

.msfa-page-header h1 {
    font-size: 30px !important;
}

.msfa-page-header h2 {
    font-size: 26px !important;
}

.msfa-page-header p {
    margin-top: 8px !important;
    color: #64748b !important;
    font-size: 14px !important;
}

.msfa-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: #f8efd9 !important;
    color: #8a6a00 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    margin-bottom: 10px !important;
}

/* Demo alert dibuat lebih kecil dan rapi */
.msfa-alert,
.msfa-flash,
.msfa-demo-alert {
    border-radius: 999px !important;
    border: 1px solid #e4c987 !important;
    background: #fffaf0 !important;
    color: #111827 !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
}

/* Hero ringkasan utama */
.msfa-hero-card,
.msfa-card-hero,
.msfa-dashboard-hero {
    position: relative !important;
    border-radius: 24px !important;
    border: 1px solid #e7cf93 !important;
    background: linear-gradient(135deg, #fffdf8 0%, #fff4d8 100%) !important;
    box-shadow: 0 16px 36px rgba(109, 79, 0, 0.08) !important;
    padding: 34px !important;
    overflow: hidden !important;
}

.msfa-hero-card::after,
.msfa-card-hero::after,
.msfa-dashboard-hero::after {
    content: "" !important;
    position: absolute !important;
    right: -120px !important;
    top: -120px !important;
    width: 280px !important;
    height: 280px !important;
    border-radius: 999px !important;
    background: rgba(214, 170, 55, 0.13) !important;
}

.msfa-hero-card h2,
.msfa-card-hero h2,
.msfa-dashboard-hero h2 {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
    color: #111827 !important;
}

.msfa-hero-card p,
.msfa-card-hero p,
.msfa-dashboard-hero p {
    color: #64748b !important;
    font-size: 14px !important;
    max-width: 620px !important;
}

/* Grid card utama dibuat lebih lega */
.msfa-summary-grid,
.msfa-report-grid,
.msfa-dashboard-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(160px, 1fr)) !important;
    gap: 16px !important;
    margin: 22px 0 !important;
}

.msfa-card,
.msfa-summary-card,
.msfa-dashboard-card,
.msfa-table-card,
.msfa-report-card {
    background: #ffffff !important;
    border: 1px solid #eadfca !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.045) !important;
    padding: 20px !important;
}

.msfa-card:hover,
.msfa-summary-card:hover,
.msfa-dashboard-card:hover,
.msfa-report-card:hover {
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.075) !important;
    transform: translateY(-1px) !important;
    transition: .18s ease !important;
}

.msfa-card span,
.msfa-summary-card span,
.msfa-dashboard-card span,
.msfa-report-card span {
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.msfa-card strong,
.msfa-summary-card strong,
.msfa-dashboard-card strong,
.msfa-report-card strong {
    display: block !important;
    margin-top: 8px !important;
    color: #0f172a !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
}

.msfa-card small,
.msfa-summary-card small,
.msfa-dashboard-card small,
.msfa-report-card small {
    display: block !important;
    margin-top: 10px !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

/* Warna nominal */
.msfa-money-income,
.msfa-money-profit {
    color: #047857 !important;
    font-weight: 900 !important;
}

.msfa-money-expense,
.msfa-money-loss {
    color: #dc2626 !important;
    font-weight: 900 !important;
}

.msfa-money-warning {
    color: #b45309 !important;
    font-weight: 900 !important;
}

/* Table lebih clean */
.msfa-table-card {
    overflow: hidden !important;
}

.msfa-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.msfa-table thead th {
    background: #fbf7ef !important;
    color: #7c6a47 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid #eadfca !important;
    padding: 14px 12px !important;
}

.msfa-table tbody td {
    border-bottom: 1px solid #f0e5d2 !important;
    padding: 14px 12px !important;
    color: #111827 !important;
    font-size: 13px !important;
}

.msfa-table tbody tr:hover td {
    background: #fffaf0 !important;
}

/* Button */
.msfa-btn,
.msfa-btn-primary,
.msfa-btn-outline {
    border-radius: 14px !important;
    font-weight: 800 !important;
    min-height: 42px !important;
    padding: 10px 16px !important;
}

.msfa-btn-primary {
    background: #a97800 !important;
    color: #ffffff !important;
    border-color: #a97800 !important;
}

.msfa-btn-outline {
    background: #ffffff !important;
    color: #111827 !important;
    border: 1px solid #dcc89f !important;
}

/* Section laporan / dashboard */
.msfa-section-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
}

.msfa-section-head h2 {
    margin: 0 !important;
    color: #111827 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
}

.msfa-section-head span {
    color: #8a6a00 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* Empty state */
.msfa-empty-state {
    padding: 28px !important;
    border: 1px dashed #dcc89f !important;
    border-radius: 18px !important;
    background: #fffaf0 !important;
    color: #64748b !important;
    text-align: center !important;
}

/* Hide/soften optional Odoo integration cards if present */
.msfa-optional-integration,
.msfa-odoo-mapping-section {
    opacity: .72 !important;
}

/* Responsive */
@media (max-width: 1380px) {
    .msfa-summary-grid,
    .msfa-report-grid,
    .msfa-dashboard-grid {
        grid-template-columns: repeat(4, minmax(160px, 1fr)) !important;
    }
}

@media (max-width: 1180px) {
    .msfa-summary-grid,
    .msfa-report-grid,
    .msfa-dashboard-grid {
        grid-template-columns: repeat(3, minmax(160px, 1fr)) !important;
    }

    .msfa-page-header {
        padding: 24px !important;
    }
}

@media (max-width: 860px) {
    .msfa-summary-grid,
    .msfa-report-grid,
    .msfa-dashboard-grid {
        grid-template-columns: repeat(2, minmax(150px, 1fr)) !important;
    }

    .msfa-hero-card,
    .msfa-card-hero,
    .msfa-dashboard-hero {
        padding: 24px !important;
    }
}

@media (max-width: 560px) {
    .msfa-summary-grid,
    .msfa-report-grid,
    .msfa-dashboard-grid {
        grid-template-columns: 1fr !important;
    }

    .msfa-page-header {
        padding: 20px 16px !important;
    }
}

/* HOTFIX_DASHBOARD_HIDE_TECHNICAL_CARDS_20260818 */

/* Sembunyikan card teknis dari dashboard utama */
.msfa-dashboard-hidden-card {
    display: none !important;
}

/* Dashboard utama lebih fokus setelah card teknis disembunyikan */
.msfa-summary-grid,
.msfa-dashboard-grid,
.msfa-report-grid {
    align-items: stretch !important;
}

/* HOTFIX_DASHBOARD_V2_STYLE_20260818 */

/* Hide dashboard lama setelah layout v2 */
.msfa-dashboard-v2 ~ .msfa-card,
.msfa-dashboard-v2 ~ .msfa-summary-grid,
.msfa-dashboard-v2 ~ .msfa-dashboard-grid,
.msfa-dashboard-v2 ~ .msfa-report-grid,
.msfa-dashboard-v2 ~ .msfa-table-card,
.msfa-dashboard-v2 ~ .msfa-quick-actions,
.msfa-dashboard-v2 ~ .msfa-journal-summary,
.msfa-dashboard-v2 ~ .msfa-journal-table {
    display: none !important;
}

.msfa-dashboard-v2 {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.msfa-v2-hero {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 240px 520px;
    gap: 28px;
    align-items: center;
    padding: 32px 34px;
    border: 1px solid #e7cf93;
    border-radius: 24px;
    background: linear-gradient(135deg, #fffdf8 0%, #fff4d8 100%);
    box-shadow: 0 16px 36px rgba(109, 79, 0, 0.08);
}

.msfa-v2-eyebrow {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f8efd9;
    color: #8a6a00;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.msfa-v2-hero h2 {
    margin: 0;
    font-size: 28px;
    color: #111827;
    letter-spacing: -0.03em;
}

.msfa-v2-hero p {
    margin: 12px 0 0;
    color: #64748b;
    font-size: 14px;
}

.msfa-v2-hero-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.msfa-v2-btn {
    min-height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    font-weight: 900;
}

.msfa-v2-btn-primary {
    background: #a97800;
    color: #ffffff;
}

.msfa-v2-btn-outline {
    background: #ffffff;
    color: #111827;
    border: 1px solid #dcc89f;
}

.msfa-v2-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    border-left: 1px solid #e4cf9d;
    padding-left: 32px;
}

.msfa-v2-hero-stats article,
.msfa-v2-kpi,
.msfa-v2-panel,
.msfa-v2-status-panel {
    background: #ffffff;
    border: 1px solid #eadfca;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.045);
}

.msfa-v2-hero-stats article {
    padding: 22px;
}

.msfa-v2-hero-stats span,
.msfa-v2-kpi span,
.msfa-v2-status-grid small {
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.msfa-v2-hero-stats strong,
.msfa-v2-kpi strong {
    display: block;
    margin-top: 10px;
    color: #111827;
    font-size: 20px;
    font-weight: 900;
}

.msfa-v2-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(160px, 1fr));
    gap: 16px;
}

.msfa-v2-kpi {
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 22px;
}

.msfa-v2-kpi small {
    display: block;
    margin-top: 9px;
    color: #64748b;
    font-size: 12px;
}

.msfa-v2-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

.msfa-v2-icon-green { background: #e7f8df; color: #30a943; }
.msfa-v2-icon-red { background: #ffe8e8; color: #ef4444; }
.msfa-v2-icon-gold { background: #fff2d9; color: #c58a00; }
.msfa-v2-icon-purple { background: #efe8ff; color: #7c5cff; }
.msfa-v2-icon-blue { background: #e9efff; color: #4f6df5; }

.msfa-v2-main-grid {
    display: grid;
    grid-template-columns: 1.25fr .95fr .95fr;
    gap: 18px;
}

.msfa-v2-panel,
.msfa-v2-status-panel {
    padding: 22px;
}

.msfa-v2-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.msfa-v2-panel-head h3 {
    margin: 0;
    color: #111827;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.msfa-v2-panel-head span,
.msfa-v2-panel-head a {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.msfa-v2-chart-line {
    position: relative;
    min-height: 250px;
}

.msfa-v2-chart-line svg {
    width: 100%;
    height: 240px;
}

.msfa-v2-chart-line line {
    stroke: #efe7da;
    stroke-width: 1;
}

.msfa-v2-chart-line polyline {
    fill: none;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.msfa-v2-chart-line .income { stroke: #48a23f; }
.msfa-v2-chart-line .expense { stroke: #ef5b5b; }
.msfa-v2-chart-line .balance {
    stroke: #c58a00;
    stroke-dasharray: 8 8;
}

.msfa-v2-chart-line .income-dot {
    fill: #ffffff;
    stroke: #48a23f;
    stroke-width: 4;
}

.msfa-v2-chart-legend {
    display: flex;
    justify-content: center;
    gap: 22px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.msfa-v2-chart-legend i,
.msfa-v2-donut-list i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    display: inline-block;
    margin-right: 7px;
}

.green { background: #48a23f; }
.red { background: #ef5b5b; }
.gold { background: #c58a00; }
.blue { background: #5d9cec; }
.purple { background: #8b5cf6; }

.msfa-v2-donut-wrap {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 18px;
    align-items: center;
}

.msfa-v2-donut {
    width: 170px;
    height: 170px;
    border-radius: 999px;
    background: conic-gradient(#9ee28b 0 20%, #8ac4f8 20% 40%, #ffd064 40% 60%, #b99cff 60% 80%, #ff9aa2 80% 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.msfa-v2-donut::after {
    content: "";
    position: absolute;
    width: 94px;
    height: 94px;
    border-radius: 999px;
    background: #ffffff;
}

.msfa-v2-donut div {
    position: relative;
    z-index: 2;
    text-align: center;
}

.msfa-v2-donut span {
    display: block;
    color: #64748b;
    font-size: 12px;
}

.msfa-v2-donut strong {
    display: block;
    color: #111827;
    font-size: 18px;
    font-weight: 900;
}

.msfa-v2-donut-list p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 10px 0;
    color: #64748b;
    font-size: 13px;
}

.msfa-v2-donut-list strong {
    color: #111827;
}

.msfa-v2-activity-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.msfa-v2-activity-item {
    display: grid;
    grid-template-columns: 46px 1fr auto;
    gap: 14px;
    align-items: center;
}

.msfa-v2-activity-item strong {
    display: block;
    color: #111827;
    font-size: 14px;
}

.msfa-v2-activity-item small {
    color: #64748b;
    font-size: 12px;
}

.msfa-v2-activity-item b {
    font-size: 13px;
    white-space: nowrap;
}

.msfa-v2-activity-item b.income {
    color: #16a34a;
}

.msfa-v2-activity-item b.expense {
    color: #ef4444;
}

.msfa-v2-status-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.msfa-v2-status-grid article {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 20px;
    border-right: 1px solid #efe7da;
}

.msfa-v2-status-grid article:last-child {
    border-right: 0;
}

.msfa-v2-status-grid strong {
    display: block;
    margin-top: 6px;
    color: #111827;
    font-size: 20px;
    font-weight: 900;
}

.msfa-v2-status-grid p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 12px;
}

@media (max-width: 1380px) {
    .msfa-v2-hero {
        grid-template-columns: 1fr;
    }

    .msfa-v2-hero-stats {
        border-left: 0;
        padding-left: 0;
    }

    .msfa-v2-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    .msfa-v2-kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .msfa-v2-status-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .msfa-v2-status-grid article {
        border-right: 0;
        border-bottom: 1px solid #efe7da;
    }
}

@media (max-width: 640px) {
    .msfa-v2-kpi-grid,
    .msfa-v2-hero-stats,
    .msfa-v2-status-grid {
        grid-template-columns: 1fr;
    }

    .msfa-v2-donut-wrap {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .msfa-v2-hero {
        padding: 24px;
    }
}

/* HOTFIX_DASHBOARD_INTERACTIVE_CHART_STYLE_20260818 */

.msfa-v2-chart-line {
    position: relative !important;
}

.msfa-v2-chart-line .income-dot {
    display: none !important;
}

.msfa-v2-hover-dot {
    cursor: pointer !important;
    stroke: #ffffff !important;
    stroke-width: 3 !important;
    transition: r .15s ease, opacity .15s ease !important;
}

.msfa-v2-hover-dot:hover,
.msfa-v2-hover-dot:focus {
    r: 9 !important;
    outline: none !important;
}

.msfa-v2-dot-income {
    fill: #48a23f !important;
}

.msfa-v2-dot-expense {
    fill: #ef5b5b !important;
}

.msfa-v2-dot-balance {
    fill: #c58a00 !important;
}

.msfa-v2-hover-guide {
    stroke: #cbd5e1 !important;
    stroke-width: 1.5 !important;
    stroke-dasharray: 5 5 !important;
    pointer-events: none !important;
}

.msfa-v2-chart-tooltip {
    position: absolute !important;
    z-index: 50 !important;
    min-width: 190px !important;
    transform: translate(-50%, -100%) !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    border: 1px solid #eadfca !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .12s ease !important;
}

.msfa-v2-chart-tooltip strong {
    display: block !important;
    margin-bottom: 8px !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.msfa-v2-chart-tooltip span {
    display: flex !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-top: 5px !important;
    color: #64748b !important;
    font-size: 12px !important;
}

.msfa-v2-chart-tooltip b {
    color: #111827 !important;
    font-weight: 900 !important;
}

.msfa-v2-chart-months {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 8px !important;
    margin: -4px 0 10px !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

@media (max-width: 640px) {
    .msfa-v2-chart-tooltip {
        min-width: 170px !important;
        font-size: 11px !important;
    }

    .msfa-v2-chart-months {
        font-size: 10px !important;
        gap: 4px !important;
    }
}

/* HOTFIX_CHART_TOOLTIP_V2_STYLE_20260819 */

.msfa-v2-chart-line-interactive {
    position: relative !important;
}

.msfa-v2-chart-line-interactive svg {
    cursor: crosshair !important;
}

.msfa-v2-tooltip-guide-v2 {
    stroke: #94a3b8 !important;
    stroke-width: 1.5 !important;
    stroke-dasharray: 5 5 !important;
    pointer-events: none !important;
}

.msfa-v2-tooltip-dot-v2 {
    stroke: #ffffff !important;
    stroke-width: 3 !important;
    pointer-events: none !important;
    transition: opacity .12s ease !important;
}

.msfa-v2-tooltip-dot-v2-income {
    fill: #48a23f !important;
}

.msfa-v2-tooltip-dot-v2-expense {
    fill: #ef5b5b !important;
}

.msfa-v2-tooltip-dot-v2-balance {
    fill: #c58a00 !important;
}

.msfa-v2-chart-tooltip-v2 {
    position: absolute !important;
    z-index: 100 !important;
    min-width: 210px !important;
    transform: translate(-50%, -100%) !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    border: 1px solid #eadfca !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .12s ease !important;
}

.msfa-v2-chart-tooltip-v2 strong {
    display: block !important;
    margin-bottom: 8px !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.msfa-v2-chart-tooltip-v2 span {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-top: 6px !important;
    font-size: 12px !important;
}

.msfa-v2-chart-tooltip-v2 em {
    color: #64748b !important;
    font-style: normal !important;
}

.msfa-v2-chart-tooltip-v2 b {
    color: #111827 !important;
    font-weight: 900 !important;
}

.msfa-v2-chart-months-v2 {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 8px !important;
    margin: -2px 0 10px !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

@media (max-width: 640px) {
    .msfa-v2-chart-tooltip-v2 {
        min-width: 180px !important;
    }

    .msfa-v2-chart-months-v2 {
        font-size: 10px !important;
        gap: 4px !important;
    }
}

/* HOTFIX_CHART_TOOLTIP_V3_STYLE_20260819 */

.msfa-v2-chart-tooltip-ready {
    position: relative !important;
}

.msfa-v2-chart-overlay-v3 {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 240px !important;
    z-index: 20 !important;
    cursor: crosshair !important;
    background: transparent !important;
}

.msfa-v2-tooltip-box-v3 {
    position: absolute !important;
    z-index: 40 !important;
    min-width: 210px !important;
    transform: translate(-50%, -100%) !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    border: 1px solid #eadfca !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .12s ease !important;
}

.msfa-v2-tooltip-box-v3 strong {
    display: block !important;
    margin-bottom: 8px !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.msfa-v2-tooltip-box-v3 span {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-top: 6px !important;
    font-size: 12px !important;
}

.msfa-v2-tooltip-box-v3 em {
    color: #64748b !important;
    font-style: normal !important;
}

.msfa-v2-tooltip-box-v3 b {
    color: #111827 !important;
    font-weight: 900 !important;
}

.msfa-v2-guide-v3 {
    stroke: #94a3b8 !important;
    stroke-width: 1.5 !important;
    stroke-dasharray: 5 5 !important;
    pointer-events: none !important;
}

.msfa-v2-dot-v3 {
    stroke: #ffffff !important;
    stroke-width: 3 !important;
    pointer-events: none !important;
}

.msfa-v2-dot-v3-income {
    fill: #48a23f !important;
}

.msfa-v2-dot-v3-expense {
    fill: #ef5b5b !important;
}

.msfa-v2-dot-v3-balance {
    fill: #c58a00 !important;
}

/* HOTFIX_CHART_TOOLTIP_EXTERNAL_JS_STYLE_20260819 */

.msfa-chart-tooltip-ready {
    position: relative !important;
}

.msfa-chart-hover-layer {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 240px !important;
    z-index: 50 !important;
    cursor: crosshair !important;
    background: transparent !important;
}

.msfa-chart-tooltip-box {
    position: absolute !important;
    z-index: 80 !important;
    min-width: 210px !important;
    transform: translate(-50%, -100%) !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    border: 1px solid #eadfca !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .12s ease !important;
}

.msfa-chart-tooltip-box strong {
    display: block !important;
    margin-bottom: 8px !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.msfa-chart-tooltip-box span {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-top: 6px !important;
    font-size: 12px !important;
}

.msfa-chart-tooltip-box em {
    color: #64748b !important;
    font-style: normal !important;
}

.msfa-chart-tooltip-box b {
    color: #111827 !important;
    font-weight: 900 !important;
}

.msfa-chart-guide {
    stroke: #94a3b8 !important;
    stroke-width: 1.5 !important;
    stroke-dasharray: 5 5 !important;
    pointer-events: none !important;
}

.msfa-chart-dot {
    stroke: #ffffff !important;
    stroke-width: 3 !important;
    pointer-events: none !important;
}

.msfa-chart-dot-income {
    fill: #48a23f !important;
}

.msfa-chart-dot-expense {
    fill: #ef5b5b !important;
}

.msfa-chart-dot-balance {
    fill: #c58a00 !important;
}

/* HOTFIX_CHART_TOOLTIP_V4_STYLE_20260819 */

.msfa-chart-svg-tooltip-v4 {
    cursor: crosshair !important;
    pointer-events: auto !important;
}

.msfa-chart-body-tooltip-v4 {
    position: fixed !important;
    z-index: 999999 !important;
    min-width: 220px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    border: 1px solid #eadfca !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.22) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .12s ease !important;
}

.msfa-chart-body-tooltip-v4 strong {
    display: block !important;
    margin-bottom: 8px !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.msfa-chart-body-tooltip-v4 span {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-top: 6px !important;
    font-size: 12px !important;
}

.msfa-chart-body-tooltip-v4 em {
    color: #64748b !important;
    font-style: normal !important;
}

.msfa-chart-body-tooltip-v4 b {
    color: #111827 !important;
    font-weight: 900 !important;
}

.msfa-chart-guide-v4 {
    stroke: #94a3b8 !important;
    stroke-width: 1.5 !important;
    stroke-dasharray: 5 5 !important;
    pointer-events: none !important;
}

.msfa-chart-dot-v4 {
    stroke: #ffffff !important;
    stroke-width: 3 !important;
    pointer-events: none !important;
}

.msfa-chart-dot-v4-income {
    fill: #48a23f !important;
}

.msfa-chart-dot-v4-expense {
    fill: #ef5b5b !important;
}

.msfa-chart-dot-v4-balance {
    fill: #c58a00 !important;
}

/* HOTFIX_UI_CLEAN_NO_CHART_20260819_START */

/* ======================================================
   UI CLEAN FOUNDATION
   ====================================================== */

.msfa-accounting-body,
.msfa-login-body {
    --msfa-bg: #f6f8fb;
    --msfa-surface: #ffffff;
    --msfa-border: #e7ecf3;
    --msfa-text: #0f172a;
    --msfa-muted: #64748b;
    --msfa-gold: #b88a10;
    --msfa-gold-soft: #f6edd2;
    --msfa-sidebar-top: #102338;
    --msfa-sidebar-bottom: #17314c;
    --msfa-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    --msfa-radius: 16px;
}

.msfa-accounting-body,
.msfa-login-body {
    background: var(--msfa-bg) !important;
}

.msfa-app,
.msfa-shell,
.msfa-v2-shell {
    background: var(--msfa-bg) !important;
}

.msfa-content,
.msfa-v2-content {
    background: var(--msfa-bg) !important;
    padding: 0 24px 28px !important;
}

/* ======================================================
   SIDEBAR
   ====================================================== */

.msfa-sidebar,
.msfa-v2-sidebar {
    width: 220px !important;
    min-width: 220px !important;
    background: linear-gradient(180deg, var(--msfa-sidebar-top), var(--msfa-sidebar-bottom)) !important;
    color: #ffffff !important;
    padding: 16px 14px 18px !important;
    border-right: 0 !important;
}

.msfa-brand,
.msfa-v2-brand {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
    text-decoration: none !important;
    color: #ffffff !important;
}

.msfa-brand img,
.msfa-v2-brand img {
    max-width: 34px !important;
    max-height: 34px !important;
    object-fit: contain !important;
}

.msfa-brand strong,
.msfa-v2-brand strong {
    display: block !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.msfa-brand small,
.msfa-v2-brand small {
    display: block !important;
    font-size: 12px !important;
    color: #f6cf65 !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.msfa-nav-section,
.msfa-v2-nav-section {
    margin: 18px 8px 8px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: #9db2c8 !important;
}

.msfa-nav-item,
.msfa-v2-nav-item,
.msfa-sidebar a,
.msfa-v2-sidebar a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 12px !important;
    border-radius: 12px !important;
    color: #f8fafc !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    transition: background .15s ease, transform .15s ease !important;
}

.msfa-nav-item:hover,
.msfa-v2-nav-item:hover,
.msfa-sidebar a:hover,
.msfa-v2-sidebar a:hover {
    background: rgba(255,255,255,.08) !important;
    color: #ffffff !important;
    transform: translateX(1px) !important;
}

.msfa-nav-item.is-active,
.msfa-v2-nav-item.is-active,
.msfa-sidebar a.active,
.msfa-v2-sidebar a.active {
    background: rgba(184, 138, 16, .22) !important;
    color: #ffffff !important;
    box-shadow: inset 3px 0 0 #d2a21a !important;
}

.msfa-sidebar-footer,
.msfa-v2-sidebar-footer {
    margin-top: 20px !important;
    padding: 12px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 14px !important;
    color: #d5dfeb !important;
    background: rgba(255,255,255,.04) !important;
}

/* ======================================================
   HEADER / TOPBAR
   ====================================================== */

.msfa-page-header,
.msfa-v2-page-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 18px 28px !important;
    background: var(--msfa-surface) !important;
    border-bottom: 1px solid var(--msfa-border) !important;
    margin: 0 -24px 24px !important;
}

.msfa-page-header-left,
.msfa-v2-page-header-left,
.msfa-page-header-actions,
.msfa-v2-page-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.msfa-page-title h1,
.msfa-v2-page-title h1 {
    margin: 0 !important;
    color: var(--msfa-text) !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.msfa-page-title p,
.msfa-v2-page-title p,
.msfa-page-subtitle,
.msfa-v2-page-subtitle {
    margin: 6px 0 0 !important;
    color: var(--msfa-muted) !important;
    font-size: 13px !important;
}

.msfa-search,
.msfa-v2-search {
    display: flex !important;
    align-items: center !important;
    min-width: 260px !important;
    height: 44px !important;
    padding: 0 14px !important;
    border: 1px solid var(--msfa-border) !important;
    border-radius: 13px !important;
    background: #fff !important;
}

.msfa-search input,
.msfa-v2-search input {
    width: 100% !important;
    border: 0 !important;
    outline: none !important;
    background: transparent !important;
    color: var(--msfa-text) !important;
    font-size: 13px !important;
}

.msfa-user-menu,
.msfa-v2-user-menu,
.msfa-account-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 12px !important;
    border: 1px solid var(--msfa-border) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--msfa-text) !important;
}

.msfa-user-avatar,
.msfa-v2-user-avatar {
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 900 !important;
    background: #f3efe2 !important;
    color: #1f2937 !important;
}

/* ======================================================
   BUTTONS
   ====================================================== */

.msfa-btn,
.msfa-v2-btn,
button.msfa-btn,
a.msfa-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 12px !important;
    border: 1px solid var(--msfa-border) !important;
    background: #fff !important;
    color: var(--msfa-text) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.msfa-btn:hover,
.msfa-v2-btn:hover,
button.msfa-btn:hover,
a.msfa-btn:hover {
    transform: translateY(-1px) !important;
}

.msfa-btn-primary,
.msfa-v2-btn-primary,
.msfa-btn.msfa-btn-primary,
.msfa-v2-btn.msfa-v2-btn-primary {
    background: var(--msfa-gold) !important;
    color: #fff !important;
    border-color: var(--msfa-gold) !important;
}

.msfa-btn-outline,
.msfa-v2-btn-outline {
    background: #fff !important;
    color: var(--msfa-text) !important;
    border-color: var(--msfa-border) !important;
}

.msfa-btn-danger,
.msfa-v2-btn-danger {
    background: #fff !important;
    color: #c2410c !important;
    border-color: #fed7aa !important;
}

/* ======================================================
   CARDS / PANELS
   ====================================================== */

.msfa-card,
.msfa-v2-card,
.msfa-panel,
.msfa-v2-panel,
.msfa-filter-card,
.msfa-summary-card,
.msfa-v2-summary-card {
    background: var(--msfa-surface) !important;
    border: 1px solid var(--msfa-border) !important;
    border-radius: var(--msfa-radius) !important;
    box-shadow: var(--msfa-shadow) !important;
}

.msfa-panel,
.msfa-v2-panel {
    padding: 18px 18px 16px !important;
}

.msfa-panel-head,
.msfa-v2-panel-head,
.msfa-section-head,
.msfa-v2-section-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
}

.msfa-panel-head h2,
.msfa-v2-panel-head h2,
.msfa-section-head h2,
.msfa-v2-section-head h2 {
    margin: 0 !important;
    color: var(--msfa-text) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.msfa-panel-head p,
.msfa-v2-panel-head p,
.msfa-section-head p,
.msfa-v2-section-head p {
    margin: 4px 0 0 !important;
    color: var(--msfa-muted) !important;
    font-size: 12px !important;
}

.msfa-eyebrow,
.msfa-v2-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: var(--msfa-gold-soft) !important;
    color: #8a6600 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* ======================================================
   DASHBOARD HERO & SUMMARY
   ====================================================== */

.msfa-v2-hero,
.msfa-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .9fr) !important;
    gap: 18px !important;
    padding: 20px !important;
    margin-bottom: 18px !important;
    background: #fffbea !important;
    border: 1px solid #ead8a4 !important;
    border-radius: 22px !important;
    box-shadow: none !important;
}

.msfa-v2-summary-grid,
.msfa-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
}

.msfa-summary-card strong,
.msfa-v2-summary-card strong {
    display: block !important;
    color: var(--msfa-text) !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    margin-top: 8px !important;
}

.msfa-summary-card small,
.msfa-v2-summary-card small,
.msfa-summary-card p,
.msfa-v2-summary-card p {
    color: var(--msfa-muted) !important;
    font-size: 12px !important;
}

.msfa-summary-card .trend-up,
.msfa-summary-card .trend-down,
.msfa-v2-summary-card .trend-up,
.msfa-v2-summary-card .trend-down {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.msfa-summary-card .trend-up,
.msfa-v2-summary-card .trend-up {
    color: #16a34a !important;
}

.msfa-summary-card .trend-down,
.msfa-v2-summary-card .trend-down {
    color: #dc2626 !important;
}

/* ======================================================
   HIDE CHARTS & TOOLTIP EXPERIMENTS
   ====================================================== */

.msfa-v2-cash-trend,
.msfa-v2-expense-composition,
.msfa-v2-chart-line,
.msfa-v2-chart-donut,
.msfa-v2-chart-months,
.msfa-v2-chart-months-v2,
.msfa-v2-chart-tooltip-v2,
.msfa-v2-tooltip-box-v3,
.msfa-v2-chart-overlay-v3,
.msfa-chart-hover-layer,
.msfa-chart-tooltip-box,
.msfa-chart-body-tooltip-v4,
.msfa-chart-guide-v4,
.msfa-chart-dot-v4,
.msfa-v2-hover-dot,
.msfa-v2-hover-guide {
    display: none !important;
}

.msfa-v2-main-grid,
.msfa-main-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: start !important;
}

.msfa-v2-main-grid > article,
.msfa-main-grid > article {
    min-height: 250px !important;
}

/* ======================================================
   FORMS / FILTERS
   ====================================================== */

.msfa-form-grid,
.msfa-v2-form-grid,
.msfa-filter-grid,
.msfa-v2-filter-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.msfa-form-group,
.msfa-v2-form-group,
.msfa-field,
.msfa-v2-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
}

.msfa-form-group label,
.msfa-v2-form-group label,
.msfa-field label,
.msfa-v2-field label {
    color: var(--msfa-text) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.msfa-input,
.msfa-v2-input,
.msfa-select,
.msfa-v2-select,
.msfa-textarea,
.msfa-v2-textarea,
input.msfa-input,
select.msfa-select,
textarea.msfa-textarea {
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--msfa-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--msfa-text) !important;
    box-shadow: none !important;
    outline: none !important;
}

.msfa-input:focus,
.msfa-v2-input:focus,
.msfa-select:focus,
.msfa-v2-select:focus,
.msfa-textarea:focus,
.msfa-v2-textarea:focus {
    border-color: #d5b14d !important;
    box-shadow: 0 0 0 3px rgba(184, 138, 16, .10) !important;
}

/* ======================================================
   TABLES
   ====================================================== */

.msfa-table-wrap,
.msfa-v2-table-wrap,
.msfa-table-scroll,
.msfa-v2-table-scroll {
    overflow-x: auto !important;
}

.msfa-table,
.msfa-v2-table,
table.msfa-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff !important;
}

.msfa-table thead th,
.msfa-v2-table thead th,
table.msfa-table thead th {
    padding: 12px 14px !important;
    background: #fbfcfe !important;
    border-bottom: 1px solid var(--msfa-border) !important;
    color: #475569 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    text-align: left !important;
}

.msfa-table tbody td,
.msfa-v2-table tbody td,
table.msfa-table tbody td {
    padding: 13px 14px !important;
    border-bottom: 1px solid #eef2f6 !important;
    color: var(--msfa-text) !important;
    font-size: 13px !important;
    vertical-align: middle !important;
}

.msfa-table tbody tr:hover,
.msfa-v2-table tbody tr:hover,
table.msfa-table tbody tr:hover {
    background: #fcfdfd !important;
}

.msfa-empty-state,
.msfa-v2-empty-state {
    padding: 28px 16px !important;
    text-align: center !important;
    color: var(--msfa-muted) !important;
    font-size: 13px !important;
}

/* ======================================================
   BADGES / STATUS
   ====================================================== */

.msfa-badge,
.msfa-v2-badge,
.msfa-status-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 26px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.msfa-badge-success,
.msfa-v2-badge-success {
    background: #eaf8ee !important;
    color: #15803d !important;
}

.msfa-badge-warning,
.msfa-v2-badge-warning {
    background: #fff3d8 !important;
    color: #a16207 !important;
}

.msfa-badge-danger,
.msfa-v2-badge-danger {
    background: #feebeb !important;
    color: #b91c1c !important;
}

.msfa-badge-neutral,
.msfa-v2-badge-neutral {
    background: #eff3f7 !important;
    color: #475569 !important;
}

/* ======================================================
   DETAIL / SETTINGS / SECTIONS
   ====================================================== */

.msfa-detail-grid,
.msfa-v2-detail-grid,
.msfa-settings-grid,
.msfa-v2-settings-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.msfa-detail-card,
.msfa-v2-detail-card,
.msfa-settings-card,
.msfa-v2-settings-card {
    padding: 18px !important;
    background: #fff !important;
    border: 1px solid var(--msfa-border) !important;
    border-radius: 16px !important;
    box-shadow: var(--msfa-shadow) !important;
}

.msfa-key-value,
.msfa-v2-key-value {
    display: grid !important;
    grid-template-columns: 140px 1fr !important;
    gap: 10px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.msfa-key-value:last-child,
.msfa-v2-key-value:last-child {
    border-bottom: 0 !important;
}

.msfa-key-value .label,
.msfa-v2-key-value .label {
    color: var(--msfa-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.msfa-key-value .value,
.msfa-v2-key-value .value {
    color: var(--msfa-text) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* ======================================================
   RESPONSIVE
   ====================================================== */

@media (max-width: 1280px) {
    .msfa-v2-summary-grid,
    .msfa-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .msfa-v2-main-grid,
    .msfa-main-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1024px) {
    .msfa-sidebar,
    .msfa-v2-sidebar {
        width: 100% !important;
        min-width: 0 !important;
    }

    .msfa-v2-hero,
    .msfa-hero {
        grid-template-columns: 1fr !important;
    }

    .msfa-form-grid,
    .msfa-v2-form-grid,
    .msfa-filter-grid,
    .msfa-v2-filter-grid,
    .msfa-detail-grid,
    .msfa-v2-detail-grid,
    .msfa-settings-grid,
    .msfa-v2-settings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .msfa-content,
    .msfa-v2-content {
        padding: 0 14px 20px !important;
    }

    .msfa-page-header,
    .msfa-v2-page-header {
        padding: 14px !important;
        margin: 0 -14px 18px !important;
    }

    .msfa-v2-summary-grid,
    .msfa-summary-grid,
    .msfa-v2-main-grid,
    .msfa-main-grid,
    .msfa-form-grid,
    .msfa-v2-form-grid,
    .msfa-filter-grid,
    .msfa-v2-filter-grid,
    .msfa-detail-grid,
    .msfa-v2-detail-grid,
    .msfa-settings-grid,
    .msfa-v2-settings-grid {
        grid-template-columns: 1fr !important;
    }

    .msfa-key-value,
    .msfa-v2-key-value {
        grid-template-columns: 1fr !important;
    }
}

/* HOTFIX_UI_CLEAN_NO_CHART_20260819_END */

/* MSFA_HARD_RESET_DASHBOARD_20260819_START */

.msfa-clean-dashboard {
    --msfa-clean-bg: #f7f9fc;
    --msfa-clean-card: #ffffff;
    --msfa-clean-border: #e7ebf1;
    --msfa-clean-text: #0f172a;
    --msfa-clean-muted: #64748b;
    --msfa-clean-gold: #ae7c08;
    --msfa-clean-navy: #163450;
    --msfa-clean-green: #309347;
    --msfa-clean-red: #db5a4f;

    width: 100% !important;
    min-height: 100vh !important;
    padding: 22px 24px 38px !important;
    background: var(--msfa-clean-bg) !important;
    color: var(--msfa-clean-text) !important;
}

.msfa-clean-dashboard *,
.msfa-clean-dashboard *::before,
.msfa-clean-dashboard *::after {
    box-sizing: border-box !important;
}

.msfa-clean-card {
    background: var(--msfa-clean-card) !important;
    border: 1px solid var(--msfa-clean-border) !important;
    border-radius: 16px !important;
    box-shadow:
        0 8px 28px rgba(15, 23, 42, .045) !important;
}


/* HERO */

.msfa-clean-hero {
    min-height: 100px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin-bottom: 18px !important;
}

.msfa-clean-eyebrow {
    display: block !important;
    margin-bottom: 7px !important;
    color: var(--msfa-clean-gold) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
}

.msfa-clean-hero h1 {
    margin: 0 !important;
    color: var(--msfa-clean-text) !important;
    font-size: 25px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

.msfa-clean-hero p {
    margin: 7px 0 0 !important;
    color: var(--msfa-clean-muted) !important;
    font-size: 12px !important;
}

.msfa-clean-period {
    min-width: 160px !important;
    padding: 13px 16px !important;
    border: 1px solid var(--msfa-clean-border) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
}

.msfa-clean-period span {
    display: block !important;
    color: var(--msfa-clean-muted) !important;
    font-size: 10px !important;
}

.msfa-clean-period strong {
    display: block !important;
    margin-top: 3px !important;
    color: var(--msfa-clean-green) !important;
    font-size: 13px !important;
}


/* KPI */

.msfa-clean-kpi-grid {
    display: grid !important;
    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
}

.msfa-clean-kpi {
    min-height: 118px !important;
    padding: 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.msfa-clean-kpi span {
    display: block !important;
    color: #526171 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
}

.msfa-clean-kpi strong {
    display: block !important;
    margin-top: 7px !important;
    color: var(--msfa-clean-text) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

.msfa-clean-kpi small {
    display: block !important;
    margin-top: 6px !important;
    color: var(--msfa-clean-muted) !important;
    font-size: 10px !important;
}

.msfa-clean-profit-value {
    color: var(--msfa-clean-green) !important;
}


/* ICON */

.msfa-clean-icon {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

.msfa-clean-icon.income {
    background: #e7f7e9 !important;
    color: #319245 !important;
}

.msfa-clean-icon.expense {
    background: #ffe9e7 !important;
    color: #db554c !important;
}

.msfa-clean-icon.balance {
    background: #fff2d9 !important;
    color: #ae7600 !important;
}

.msfa-clean-icon.profit {
    background: #eaf3ff !important;
    color: #477ebf !important;
}


/* HEAD */

.msfa-clean-card-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 15px !important;
}

.msfa-clean-card-head h2 {
    margin: 0 !important;
    color: var(--msfa-clean-text) !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
}

.msfa-clean-card-head p {
    margin: 6px 0 0 !important;
    color: var(--msfa-clean-muted) !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.msfa-clean-outline {
    min-height: 36px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--msfa-clean-border) !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    color: #475569 !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}


/* MAIN */

.msfa-clean-main-grid {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(320px, .85fr) !important;
    gap: 16px !important;
}

.msfa-clean-position,
.msfa-clean-status {
    padding: 20px !important;
}

.msfa-clean-balance-panel {
    margin-top: 22px !important;
    padding: 25px !important;
    border: 1px solid #edf0f4 !important;
    border-radius: 14px !important;
    background:
        linear-gradient(
            135deg,
            #fcfdff,
            #f8fafc
        ) !important;
}

.msfa-clean-balance-label {
    color: var(--msfa-clean-muted) !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}

.msfa-clean-balance-value {
    margin-top: 7px !important;
    color: var(--msfa-clean-navy) !important;
    font-size: 34px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    letter-spacing: -.04em !important;
}

.msfa-clean-divider {
    width: 100% !important;
    height: 1px !important;
    margin: 23px 0 !important;
    background: #e8edf2 !important;
}

.msfa-clean-mini-grid {
    display: grid !important;
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.msfa-clean-mini-grid span {
    display: block !important;
    color: var(--msfa-clean-muted) !important;
    font-size: 10px !important;
}

.msfa-clean-mini-grid strong {
    display: block !important;
    margin-top: 6px !important;
    color: var(--msfa-clean-text) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}


/* ACTIONS */

.msfa-clean-action-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    margin-top: 20px !important;
}

.msfa-clean-action {
    min-height: 66px !important;
    padding: 11px 12px !important;
    display: grid !important;
    grid-template-columns:
        38px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 11px !important;
    border: 1px solid #edf0f3 !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    color: inherit !important;
    text-decoration: none !important;
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease !important;
}

.msfa-clean-action:hover {
    transform: translateY(-1px) !important;
    border-color: #e4d3a2 !important;
    box-shadow:
        0 7px 18px rgba(15,23,42,.05) !important;
}

.msfa-clean-action-icon {
    width: 38px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    background: #fff5dd !important;
    color: #9b6b00 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}

.msfa-clean-action strong {
    display: block !important;
    color: var(--msfa-clean-text) !important;
    font-size: 12px !important;
}

.msfa-clean-action small {
    display: block !important;
    margin-top: 3px !important;
    color: var(--msfa-clean-muted) !important;
    font-size: 10px !important;
}

.msfa-clean-action b {
    color: #94a3b8 !important;
}


/* BOTTOM */

.msfa-clean-bottom-grid {
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin-top: 16px !important;
}

.msfa-clean-section {
    padding: 20px !important;
}

.msfa-clean-button-grid {
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin-top: 18px !important;
}

.msfa-clean-button-grid a {
    min-height: 46px !important;
    padding: 0 13px !important;
    display: flex !important;
    align-items: center !important;
    border: 1px solid #edf0f3 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #334155 !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}

.msfa-clean-button-grid a:hover {
    border-color: #e3ce91 !important;
    color: #8b6500 !important;
}


/* RESPONSIVE */

@media (max-width: 1200px) {

    .msfa-clean-kpi-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    .msfa-clean-main-grid {
        grid-template-columns: 1fr !important;
    }

}

@media (max-width: 800px) {

    .msfa-clean-dashboard {
        padding: 15px !important;
    }

    .msfa-clean-hero {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .msfa-clean-kpi-grid,
    .msfa-clean-bottom-grid {
        grid-template-columns: 1fr !important;
    }

    .msfa-clean-mini-grid {
        grid-template-columns: 1fr !important;
    }

}

/* MSFA_HARD_RESET_DASHBOARD_20260819_END */

/* MSFA_PLUS_JAKARTA_SANS_20260819_START */

/*
 * Muslim Safar Accounting Typography
 * Hanya mengubah font-family.
 * Tidak mengubah font-size, weight, spacing, layout, atau warna.
 */

.msfa-accounting-body,
.msfa-login-body,
.msfa-app,
.msfa-content,
.msfa-main,
.msfa-dashboard,
.msfa-clean-dashboard,
.msfa-fd-dashboard,
.msfa-rd-dashboard {
    font-family:
        "Plus Jakarta Sans",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
}


/*
 * Native form controls tidak selalu inherit font dari body.
 */

.msfa-accounting-body button,
.msfa-accounting-body input,
.msfa-accounting-body select,
.msfa-accounting-body textarea,
.msfa-accounting-body option,
.msfa-login-body button,
.msfa-login-body input,
.msfa-login-body select,
.msfa-login-body textarea,
.msfa-login-body option {
    font-family:
        "Plus Jakarta Sans",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
}


/*
 * Explicit typography pada komponen accounting.
 * Tidak menyentuh elemen icon.
 */

.msfa-app h1,
.msfa-app h2,
.msfa-app h3,
.msfa-app h4,
.msfa-app h5,
.msfa-app h6,
.msfa-app p,
.msfa-app a,
.msfa-app label,
.msfa-app table,
.msfa-app th,
.msfa-app td,
.msfa-app small,
.msfa-app strong,
.msfa-app b,
.msfa-app em {
    font-family:
        "Plus Jakarta Sans",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;
}

/* MSFA_PLUS_JAKARTA_SANS_20260819_END */

/* Internal expenses: local styles only, preserving the shared dashboard shell. */
.msfa-expense-summary .msfa-summary-card { min-height: 112px; }
.msfa-expense-filter { margin-bottom: 20px; }
.msfa-expense-form { display: grid; gap: 18px; }
.msfa-expense-form .msfa-detail-card { margin: 0; }
.msfa-expense-workflow { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 16px 20px; }
.msfa-expense-steps { display: flex; flex-wrap: wrap; gap: 8px; }
.msfa-expense-steps span { color: #8b95a7; font-size: 12px; font-weight: 750; }
.msfa-expense-steps span:not(:last-child)::after { content: "→"; margin-left: 8px; color: #c9a45a; }
.msfa-expense-steps .is-current { color: #b88724; }
.msfa-expense-steps .is-done { color: #1f6c58; }
.msfa-expense-state-draft { background: #eef1f5; color: #5c6573; }
.msfa-expense-state-submitted { background: #fff3d8; color: #9a6811; }
.msfa-expense-state-approved { background: #e1edf9; color: #1f5b91; }
.msfa-expense-state-paid { background: #e1f4ea; color: #176442; }
.msfa-expense-state-rejected { background: #fbe7e7; color: #ab3232; }
.msfa-expense-state-cancelled { background: #f0e8e8; color: #7d4b4b; }
@media (max-width: 760px) { .msfa-expense-workflow { align-items: flex-start; flex-direction: column; } }

/* Responsive accounting shell: scoped layout foundation for every semi-app page. */
.msfa-accounting-body,
.msfa-accounting-body .msfa-app,
.msfa-accounting-body .msfa-app * {
    box-sizing: border-box;
}

.msfa-accounting-body {
    overflow-x: hidden;
}

.msfa-accounting-body .msfa-app {
    display: flex !important;
    width: 100%;
    min-height: 100dvh;
    overflow: clip;
}

.msfa-accounting-body .msfa-sidebar {
    position: sticky !important;
    top: 0;
    z-index: 30;
    display: flex !important;
    flex: 0 0 240px !important;
    flex-direction: column;
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    height: 100dvh;
    min-height: 100dvh;
    padding: 16px 14px 18px !important;
    overflow: hidden !important;
}

.msfa-accounting-body .msfa-sidebar .msfa-brand {
    flex: 0 0 auto;
}

.msfa-accounting-body .msfa-nav {
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: 24px !important;
}

.msfa-accounting-body .msfa-shell,
.msfa-accounting-body .msfa-main {
    min-width: 0;
}

.msfa-accounting-body .msfa-shell {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: min(100%, calc(100vw - 240px));
}

.msfa-accounting-body .msfa-main {
    width: 100%;
}

.msfa-accounting-body .msfa-content {
    width: min(100%, 1560px) !important;
    max-width: 1560px !important;
    margin-inline: auto;
    padding: 28px clamp(18px, 3vw, 48px) 56px !important;
    overflow: visible !important;
}

.msfa-accounting-body .msfa-topbar {
    width: 100%;
    min-width: 0;
    padding: 18px clamp(18px, 3vw, 48px) !important;
}

.msfa-topbar-title {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 12px;
}

.msfa-topbar-title > div {
    min-width: 0;
}

.msfa-sidebar-toggle,
.msfa-sidebar-backdrop {
    display: none;
}

.msfa-sidebar-toggle {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--msfa-border);
    border-radius: 12px;
    background: #fff;
    color: var(--msfa-text);
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}

.msfa-accounting-body .msfa-topbar-right {
    min-width: 0;
}

.msfa-accounting-body .msfa-header-search {
    min-width: 0 !important;
}

.msfa-accounting-body .msfa-table-scroll,
.msfa-accounting-body .msfa-expense-list {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.msfa-accounting-body .msfa-actions,
.msfa-accounting-body .msfa-action-row {
    flex-wrap: wrap;
}

@media (min-width: 1280px) {
    .msfa-accounting-body .msfa-sidebar {
        flex-basis: 240px !important;
    }
}

@media (min-width: 1024px) and (max-width: 1279px) {
    .msfa-accounting-body .msfa-sidebar {
        flex-basis: 216px !important;
        width: 216px !important;
        min-width: 216px !important;
        max-width: 216px !important;
        padding-inline: 11px !important;
    }

    .msfa-accounting-body .msfa-shell {
        width: min(100%, calc(100vw - 216px));
    }

    .msfa-accounting-body .msfa-nav-item,
    .msfa-accounting-body .msfa-nav-subitem {
        min-height: 39px !important;
        padding: 9px 10px !important;
        font-size: 12px !important;
    }

    .msfa-accounting-body .msfa-nav-section {
        margin-top: 15px !important;
        font-size: 10px !important;
    }

    .msfa-accounting-body .msfa-clean-kpi-grid,
    .msfa-accounting-body .msfa-summary-grid,
    .msfa-accounting-body .msfa-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .msfa-accounting-body .msfa-clean-main-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)) !important;
    }
}

@media (max-width: 1023px) {
    .msfa-accounting-body.msfa-sidebar-open {
        overflow: hidden;
    }

    .msfa-accounting-body .msfa-app {
        display: block !important;
        overflow: visible;
    }

    .msfa-accounting-body .msfa-sidebar {
        position: fixed !important;
        inset: 0 auto 0 0;
        z-index: 60;
        flex: none !important;
        width: min(86vw, 300px) !important;
        min-width: min(86vw, 300px) !important;
        max-width: min(86vw, 300px) !important;
        transform: translateX(-105%);
        transition: transform .2s ease;
        box-shadow: 16px 0 36px rgba(15, 23, 42, .24);
    }

    .msfa-accounting-body .msfa-app.msfa-sidebar-open .msfa-sidebar {
        transform: translateX(0);
    }

    .msfa-accounting-body .msfa-nav-section {
        display: block !important;
    }

    .msfa-accounting-body .msfa-nav-item,
    .msfa-accounting-body .msfa-nav-subitem {
        flex: none;
        white-space: normal !important;
    }

    .msfa-sidebar-backdrop {
        position: fixed;
        inset: 0;
        z-index: 50;
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        background: rgba(15, 23, 42, .45);
        cursor: pointer;
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
    }

    .msfa-accounting-body .msfa-app.msfa-sidebar-open .msfa-sidebar-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .msfa-accounting-body .msfa-shell {
        width: 100%;
    }

    .msfa-sidebar-toggle {
        display: inline-flex;
    }

    .msfa-accounting-body .msfa-topbar {
        align-items: flex-start !important;
        flex-wrap: wrap;
    }

    .msfa-accounting-body .msfa-topbar-title {
        flex: 1 1 240px;
    }

    .msfa-accounting-body .msfa-topbar-right {
        flex: 1 1 100%;
        width: 100% !important;
        margin-left: 0 !important;
        justify-content: flex-start !important;
    }

    .msfa-accounting-body .msfa-header-search {
        flex: 1 1 260px;
        width: auto !important;
    }

    .msfa-accounting-body .msfa-clean-kpi-grid,
    .msfa-accounting-body .msfa-summary-grid,
    .msfa-accounting-body .msfa-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .msfa-accounting-body .msfa-clean-main-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .msfa-accounting-body .msfa-content {
        padding: 18px 14px 42px !important;
    }

    .msfa-accounting-body .msfa-topbar {
        padding: 14px !important;
        gap: 14px !important;
    }

    .msfa-accounting-body .msfa-topbar-right {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .msfa-accounting-body .msfa-header-search {
        grid-column: 1 / -1;
        width: 100% !important;
    }

    .msfa-accounting-body .msfa-header-chip {
        min-width: 0;
        padding-inline: 11px !important;
    }

    .msfa-accounting-body .msfa-header-chip span:last-child {
        display: none;
    }

    .msfa-accounting-body .msfa-user-meta {
        display: none;
    }

    .msfa-accounting-body .msfa-clean-kpi-grid,
    .msfa-accounting-body .msfa-clean-main-grid,
    .msfa-accounting-body .msfa-clean-bottom-grid,
    .msfa-accounting-body .msfa-summary-grid,
    .msfa-accounting-body .msfa-stat-grid,
    .msfa-accounting-body .msfa-grid-two,
    .msfa-accounting-body .msfa-form-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .msfa-accounting-body .msfa-clean-mini-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .msfa-accounting-body .msfa-clean-balance-value {
        font-size: clamp(24px, 8vw, 34px) !important;
        overflow-wrap: anywhere;
    }

    .msfa-accounting-body .msfa-expense-workflow {
        align-items: flex-start;
        flex-direction: column;
    }

    .msfa-accounting-body .msfa-expense-steps {
        gap: 6px;
    }

    .msfa-accounting-body .msfa-expense-form .msfa-detail-card,
    .msfa-accounting-body .msfa-expense-list {
        min-width: 0;
    }

    .msfa-accounting-body .msfa-actions > *,
    .msfa-accounting-body .msfa-action-row > * {
        max-width: 100%;
    }
}
