:root{color:#172126;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f7f5;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,select{font:inherit}.loading,.login-page{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at top left,#e8fff5,transparent 36%),#f7faf8}.loading img{width:min(420px,72vw);margin-bottom:16px}.login-card{width:min(560px,100%);padding:42px;border-radius:28px;background:#fff;box-shadow:0 24px 80px #0048311f}.login-card img{width:92px}.eyebrow,.hello{color:#278037;font-weight:680;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.login-card h1{font-size:clamp(34px,5vw,58px);line-height:.98;margin:18px 0}.login-card p{color:#60706a;font-size:18px;line-height:1.55}.primary-button{width:100%;border:0;border-radius:16px;background:#278037;color:#fff;padding:16px 20px;font-weight:620;margin:18px 0 14px;cursor:pointer}.login-card a{color:#278037;font-weight:700}.error{border-radius:14px;background:#fff0f5;color:#bf2d61;padding:12px 14px;margin:12px 0;font-weight:560}.app-shell{--sidebar-width: 260px;--sidebar-collapsed-width: 88px;min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);transition:grid-template-columns .22s ease}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px;background:#0f3328;color:#fff;display:flex;flex-direction:column;gap:28px;transition:padding .22s ease}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-toggle{width:32px;height:32px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#ffffff0d;color:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:680;letter-spacing:.02em}.brand img{width:40px;height:40px;border-radius:12px}.sidebar nav{display:grid;gap:8px}.sidebar a,.sidebar nav button,.logout{display:flex;align-items:center;gap:12px;border:0;border-radius:16px;padding:14px 16px;color:#ffffffb8;background:transparent;font-weight:520;cursor:pointer}.sidebar a.active,.sidebar nav button.active{color:#fff;background:#ffffff1f}.logout{margin-top:auto;width:100%}.build-tag{display:block;margin-top:auto;margin-bottom:8px;padding-left:14px;color:#9dc5ad;font-size:12px;letter-spacing:.2px}.app-shell.sidebar-collapsed .sidebar{padding:20px 12px;align-items:center}.app-shell.sidebar-collapsed .brand span,.app-shell.sidebar-collapsed .sidebar nav button span,.app-shell.sidebar-collapsed .logout span,.app-shell.sidebar-collapsed .build-tag{display:none}.app-shell.sidebar-collapsed .sidebar-head{justify-content:center}.app-shell.sidebar-collapsed .brand{justify-content:center;width:auto}.app-shell.sidebar-collapsed .sidebar nav{width:100%}.app-shell.sidebar-collapsed .sidebar-toggle{margin:0 auto}.app-shell.sidebar-collapsed .sidebar nav button,.app-shell.sidebar-collapsed .logout{justify-content:center;padding:12px}.workspace{width:min(1480px,100%);margin:0 auto;padding:24px}.topbar{display:grid;gap:16px;margin-bottom:24px}.topbar h1{margin:8px 0 0;font-size:clamp(26px,3vw,40px);line-height:1}.top-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 14px}.top-action-group{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.filter-controls{flex:1 1 520px;justify-content:flex-end}.period-controls,.utility-controls{flex:0 0 auto}.month-nav-button{width:42px;height:42px;border-radius:12px}.top-actions select,.year-select{min-width:140px;border:1px solid #cde4d3;border-radius:14px;background:#fff;padding:12px 14px;color:#278037;font-weight:560}.year-select{min-width:104px;cursor:pointer}.account-select{min-width:180px;max-width:240px;cursor:pointer}.category-select{min-width:190px;max-width:260px;cursor:pointer}.invoice-select{min-width:260px;max-width:340px;cursor:pointer}.period-button{display:inline-flex;align-items:center;gap:8px;border:1px solid #cde4d3;border-radius:14px;background:#fff;padding:12px 14px;color:#278037;font-weight:560;cursor:pointer}.icon-button{width:46px;height:46px;border-radius:14px;border:1px solid #dce7df;background:#fff;color:#278037}.notification-wrap{position:relative}.notification-button{position:relative;display:grid;place-items:center}.notification-button.has-alerts{color:#d94b78}.notification-button>span{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border:2px solid #f6faf7;border-radius:999px;background:#d94b78;color:#fff;display:grid;place-items:center;padding:0 5px;font-size:10px;font-weight:760}.notifications-popover{position:absolute;z-index:20;top:calc(100% + 12px);right:0;width:min(380px,calc(100vw - 32px));border:1px solid #dce7df;border-radius:16px;background:#fff;box-shadow:0 20px 48px #102d242e;padding:14px}.notifications-header,.notification-summary,.notification-item{display:flex;align-items:center}.notifications-header{justify-content:space-between;gap:12px}.notifications-header span{color:#278037;font-size:11px;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.notifications-header strong{display:block;margin-top:3px;color:#172126;font-size:18px}.ghost-icon-button{width:32px;height:32px;border:1px solid #dce7df;border-radius:10px;background:#fff;color:#278037;display:grid;place-items:center;cursor:pointer}.notification-summary{gap:8px;margin-top:12px}.notification-summary span{border-radius:999px;background:#eef6f0;color:#278037;padding:6px 10px;font-size:12px;font-weight:680}.notification-summary span.danger{background:#ff5a8a1f;color:#d94b78}.notification-empty{margin:18px 0 4px;color:#68776f;font-size:14px}.notification-list{display:grid;gap:10px;max-height:430px;margin-top:12px;overflow-y:auto;overflow-x:hidden;padding-right:2px}.notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;border:1px solid #e4ece7;border-left:4px solid #278037;border-radius:12px;padding:10px;min-width:0}.notification-item.overdue{border-left-color:#d94b78}.notification-item>div{min-width:0;grid-column:1 / -1}.notification-item strong,.notification-item span{display:block}.notification-item strong{color:#172126;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item span{margin-top:3px;color:#68776f;font-size:12px}.notification-item b{align-self:center;font-size:13px;white-space:nowrap}.notification-item button{justify-self:end;border:1px solid #dce7df;border-radius:10px;background:#f7fbf8;color:#278037;display:inline-flex;align-items:center;gap:5px;padding:8px 9px;font-size:12px;font-weight:680;cursor:pointer}.notification-more{color:#68776f;font-weight:650}.hero-card,.panel,.account-card,.kpi-card{background:#fff;border:1px solid rgba(31,101,48,.08);box-shadow:0 16px 50px #102d2414}.hero-card{border-radius:24px;padding:22px;display:grid;grid-template-columns:1fr auto;gap:18px;margin-bottom:18px;background:linear-gradient(135deg,#008b6424,#ffffffeb),#fff}.muted{color:#6c7c75;font-weight:500}.big-number{display:block;font-size:clamp(30px,3.2vw,46px);line-height:1;margin-top:8px;font-weight:520}.positive{color:#278037}.negative{color:#ff5a8a}.soft-icon{color:#6a7771;margin-top:16px}.hero-chips{display:flex;flex-wrap:wrap;gap:10px;grid-column:1 / -1}.hero-chips span{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:999px;background:#eaf6ee;color:#278037;font-weight:540}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.kpi-card{border-radius:18px;padding:16px;display:grid;gap:8px;background:#fff}.kpi-card.green{border-color:#27803729}.kpi-card.pink{border-color:#d94b7829}.kpi-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fffc}.kpi-card span:not(.kpi-icon){color:#6b7772;font-weight:500}.kpi-card strong{font-size:23px;font-weight:540}.dashboard-tabs{display:grid;gap:16px}.dashboard-tabbar{display:flex;width:fit-content;max-width:100%;gap:4px;border:1px solid #d7e5dc;border-radius:14px;background:#eef5f1;padding:4px;overflow-x:auto}.dashboard-tabbar button{border:0;border-radius:10px;background:transparent;color:#4f6159;padding:10px 16px;font-weight:620;white-space:nowrap;cursor:pointer}.dashboard-tabbar button.selected{background:#278037;color:#fff;box-shadow:0 8px 20px #2780372e}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(420px,auto);gap:18px;align-items:stretch}.dashboard-grid>.panel{width:100%;min-width:0;min-height:420px}.panel{border-radius:22px;padding:20px;min-height:360px}.panel-wide{grid-column:1 / -1;min-height:260px}.panel-span-2{grid-column:span 2}.panel-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.panel-title>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#278037;background:#eaf6ee}.panel-title h2{margin:0;font-size:20px}.panel-title p{margin:3px 0 0;color:#7d8984}.donut-wrap{display:grid;place-items:center;gap:20px}.donut{width:min(260px,70vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center}.donut>div{width:48%;aspect-ratio:1;border-radius:50%;background:#fff}.legend{display:flex;flex-wrap:wrap;gap:10px 14px;justify-content:center;color:#596660;font-size:13px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:4px}.bars{display:grid;gap:18px}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.bar-row span{color:#56655f;font-weight:560}.bar-track{height:10px;border-radius:999px;background:#eef4f1;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:inherit}.chart-card{display:grid;gap:12px;height:100%;align-content:center}.analysis-view{display:grid;gap:16px}.analysis-metrics{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.summary-metrics{margin-bottom:20px}.analysis-metric{min-height:96px;border:1px solid #e0eae4;border-radius:16px;background:#fff;box-shadow:0 10px 28px #102d240f;padding:14px 16px;display:grid;align-content:center;gap:6px}.analysis-metric span{color:#68776f;font-size:12px;font-weight:680;letter-spacing:.05em;text-transform:uppercase}.analysis-metric strong{color:#172126;font-size:clamp(22px,2.2vw,30px);line-height:1;font-weight:620}.analysis-metric small{color:#68776f;font-size:12px;font-weight:650}.analysis-metric.positive{border-top:4px solid #278037}.analysis-metric.negative{border-top:4px solid #ff8aa8}.analysis-metric.positive strong{color:#278037}.analysis-metric.negative strong{color:#d94b78}.analysis-chart-panel{min-height:480px}.analysis-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.analysis-chart-meta{display:none;flex-wrap:wrap;justify-content:flex-end;gap:10px;color:#314039;font-size:12px;font-weight:620}.analysis-chart-meta span{border:1px solid #d9e6de;border-radius:999px;background:#f8fbf9;padding:8px 11px}.area-chart-wrap{position:relative;min-height:360px}.area-chart{width:100%;height:380px;display:block;overflow:visible}.analysis-area{fill:#4ed15247}.analysis-area.negative{fill:#ffa6bc8c}.analysis-line{fill:none;stroke:#3fbe45;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.analysis-line.negative{stroke:#ff5a8a}.analysis-dot{fill:#2fbf42;stroke:#fff;stroke-width:3;pointer-events:none}.hover-capture{fill:transparent;cursor:crosshair}.hover-line{stroke:#1f332c59;stroke-width:1.5}.area-tooltip{position:absolute;z-index:4;min-width:218px;transform:translate(12px,-50%);border:1px solid #7a9284;border-radius:6px;background:#fffffff5;box-shadow:0 10px 26px #0f251c29;padding:10px 12px;color:#172126;pointer-events:none}.area-tooltip strong{display:block;margin-bottom:8px;font-size:13px}.area-tooltip span{display:flex;align-items:center;gap:7px;font-size:12px}.area-tooltip i{width:12px;height:12px;border-radius:2px;background:#4ed152}.area-tooltip b{margin-left:auto;font-size:13px}.pareto-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:16px;align-items:stretch}.pareto-card{min-height:300px;display:grid;grid-template-rows:auto 1fr}.pareto-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.pareto-card-head span{display:block;color:#68776f;font-size:12px;font-weight:620;letter-spacing:.05em;text-transform:uppercase}.pareto-card-head strong{display:block;margin-top:2px;color:#15241e;font-size:32px;line-height:1}.pareto-card-head b{color:#278037;font-size:24px}.pareto-card-body{display:grid;grid-template-columns:minmax(140px,.85fr) minmax(0,1fr);gap:18px;align-items:center;height:100%}.pareto-donut{width:min(190px,100%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;justify-self:center}.pareto-donut>div{width:52%;aspect-ratio:1;border-radius:50%;background:#fff;display:grid;align-content:center;place-items:center;color:#172126;text-align:center;padding:10px}.pareto-donut span{color:#60706a;font-size:12px;font-weight:760;letter-spacing:.06em}.pareto-donut strong{max-width:100%;color:#172126;font-size:clamp(13px,1.05vw,16px);line-height:1.12;font-weight:620;overflow-wrap:anywhere}.pareto-list{display:grid;gap:10px;min-width:0;align-content:center}.pareto-list span{display:grid;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:8px}.pareto-list i{width:4px;height:28px;border-radius:999px}.pareto-list small{overflow:hidden;color:#66736d;text-overflow:ellipsis;white-space:nowrap}.pareto-list b{color:#172126;font-weight:560}.pareto-list em{color:#7d8984;font-style:normal}.pareto-view,.pareto-ranking-panel{display:grid;gap:18px}.pareto-ranking{display:grid;gap:15px}.pareto-row{display:grid;gap:8px}.pareto-row-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.pareto-badge{width:30px;height:28px;display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--pareto-color) 16%,transparent);color:var(--pareto-color);font-weight:820;font-size:13px}.pareto-row-head strong{min-width:0;overflow:hidden;color:#172126;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.pareto-row-head b{color:var(--pareto-color);font-size:14px;white-space:nowrap}.pareto-progress{height:10px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--pareto-color) 16%,#edf2ef)}.pareto-progress i{display:block;height:100%;border-radius:inherit;background:var(--pareto-color)}.pareto-table-panel{display:grid;gap:16px}.pareto-table-wrap{overflow-x:auto}.pareto-table{width:100%;min-width:720px;border-collapse:collapse}.pareto-table th,.pareto-table td{padding:13px 12px;border-bottom:1px solid #edf3ef;text-align:left;white-space:nowrap}.pareto-table th{color:#278037;font-size:12px;font-weight:780;letter-spacing:.04em;text-transform:uppercase}.pareto-table tbody tr{background:color-mix(in srgb,var(--pareto-color) 7%,transparent)}.pareto-table td{color:var(--pareto-color);font-size:13px;font-weight:620}.pareto-table td:nth-child(2){max-width:280px;overflow:hidden;text-overflow:ellipsis}.line-chart{width:100%;height:280px;display:block;overflow:visible}.area-fill-positive{fill:#27803733}.area-fill-negative{fill:#f26b3f33}.grid-line{stroke:#e8efea;stroke-width:1}.zero-line{stroke:#1d2c27;stroke-dasharray:6 6;stroke-width:1.4}.axis-label{fill:#7c8983;font-size:12px;font-weight:560}.negative-label{fill:#f26b3f}.line-path{fill:none;stroke:#278037;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.dot{fill:#278037;stroke:#fff;stroke-width:3}.negative-dot{fill:#f26b3f}.chart-axis{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;color:#7c8983;font-size:12px;text-align:center}.chart-axis-aligned{gap:0}.monthly-bars-horizontal{display:grid;gap:10px}.monthly-h-row{display:grid;grid-template-columns:48px minmax(0,1fr) 132px;align-items:center;gap:10px;border-radius:10px;padding:4px 8px}.monthly-h-row strong{font-size:12px;color:#41504a}.monthly-h-row span{text-align:right;font-size:12px;color:#5f6d68;font-weight:560}.monthly-h-row span b{display:block;font-weight:620}.monthly-dual-bars{display:grid;gap:5px}.monthly-h-track{height:8px;border-radius:999px;background:#ecf1ee;overflow:hidden}.monthly-h-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff8ab0,#ff5a8a)}.monthly-h-track.income i{background:linear-gradient(90deg,#59d783,#278037)}.monthly-h-track.expense i{background:linear-gradient(90deg,#ff8ab0,#ff5a8a)}.monthly-h-row.is-current{border:1px solid #b9e6c4;background:#eefaf1}.monthly-h-row.is-current strong{color:#126b2b}.monthly-h-row.is-current span{color:#278037}.monthly-h-row.is-current.negative-current{border-color:#ffd2e3;background:#fff4f8}.monthly-h-row.is-current.negative-current strong{color:#b3396b}.monthly-h-row.is-current.negative-current span{color:#c04373}.monthly-h-row.is-current.negative-current .monthly-h-track.expense i{background:linear-gradient(90deg,#ff6b9f,#ff3f7f)}.monthly-detail{border-radius:14px;border:1px solid #e5ece7;overflow:hidden;background:#fff}.monthly-detail-table{width:100%;border-collapse:collapse;table-layout:fixed}.monthly-detail-table thead th{background:#eef6f0;color:#486059;font-size:12px;font-weight:600;padding:11px 10px;text-align:left}.monthly-detail-table td{border-top:1px solid #edf2ef;padding:10px;font-size:13px;color:#445752}.monthly-detail-table td.positive{color:#278037;font-weight:600}.monthly-detail-table td.negative{color:#d94b78;font-weight:600}.monthly-detail-table tr.is-current td{background:#fff4f8;border-top-color:#ffd2e3;border-bottom:1px solid #ffd2e3;font-weight:680}.monthly-detail-table tr.is-current td:first-child{color:#b3396b;box-shadow:inset 4px 0 #ff5a8a}.monthly-detail-table tr.is-current.positive-current td{background:#effaf2;border-top-color:#b9e6c4;border-bottom-color:#b9e6c4}.monthly-detail-table tr.is-current.positive-current td:first-child{color:#1f7b38;box-shadow:inset 4px 0 #278037}.monthly-detail-table tr.is-current.negative-current td{background:#fff4f8;border-top-color:#ffd2e3;border-bottom-color:#ffd2e3}.monthly-detail-table tr.is-current.negative-current td:first-child{color:#b3396b;box-shadow:inset 4px 0 #ff5a8a}.monthly-detail-table .total-row td{background:#fafcfb;font-weight:600}.daily-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:12px;align-items:end;min-height:220px}.daily-bars-horizontal{display:grid;gap:10px}.daily-h-row{display:grid;grid-template-columns:58px minmax(0,1fr) 108px;align-items:center;gap:10px}.daily-h-row strong{font-size:12px;color:#41504a;white-space:nowrap}.daily-h-row span{text-align:right;font-size:12px;color:#5f6d68;font-weight:560}.daily-h-track{height:10px;border-radius:999px;background:#ecf1ee;overflow:hidden}.daily-h-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff8ab0,#ff5a8a)}.daily-bar{display:grid;grid-template-rows:1fr auto auto;gap:7px;min-width:0}.daily-track{width:min(34px,100%);height:160px;justify-self:center;border-radius:999px;background:#f0f4f1;display:flex;align-items:end;overflow:hidden}.daily-track i{width:100%;display:block;border-radius:inherit;background:linear-gradient(180deg,#ff8ab0,#ff5a8a)}.daily-bar strong,.daily-bar span{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.daily-bar strong{font-size:12px}.daily-bar span{color:#7c8983;font-size:10px}.transactions{display:grid;gap:12px}.transactions article{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:16px;background:#f8faf8}.tx-dot{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;font-weight:900}.tx-dot.income{background:#dcf4e2;color:#278037}.tx-dot.expense{background:#ffe2ed;color:#ff5a8a}.transactions strong{display:block}.transactions small{display:block;color:#7c8983;margin-top:3px}.accounts-section{margin-top:24px}.accounts-toolbar,.section-heading-row,.card-action-row,.account-card-actions,.category-management-row{display:flex;align-items:center}.accounts-toolbar,.section-heading-row{justify-content:space-between;gap:12px;margin-bottom:14px}.accounts-toolbar{justify-content:flex-end}.card-action-row,.category-management-row{justify-content:space-between;gap:12px}.card-action-row>div,.account-card-actions,.category-management-row>div{display:flex;gap:6px}.danger-icon{color:#d6304f}.danger-icon:disabled{cursor:not-allowed;opacity:.35}.account-grid{display:grid;grid-template-columns:1fr;gap:14px}.account-card{border-radius:20px;padding:18px;display:grid;gap:8px;width:100%}.account-card span{color:#7c8983;font-size:13px;font-weight:560}.account-card strong{display:block;min-width:0;color:#172126;overflow-wrap:anywhere}.account-card b{display:block;font-size:24px}.credit-card-panel{gap:16px}.credit-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.credit-card-head>div:first-child{min-width:0;flex:1}.credit-card-head>div:first-child span,.credit-card-head>div:first-child strong,.credit-card-head>div:first-child b{display:block}.credit-card-head>div:first-child strong{margin-top:6px}.credit-card-head>div:first-child b{margin-top:8px}.category-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.category-management-panel{border:1px solid #e4ece7;border-radius:18px;background:#fff;padding:16px}.category-management-panel h3{margin:0 0 12px;color:#172126;font-size:16px}.category-management-row{border-top:1px solid #edf2ef;padding:10px 0}.category-management-row:first-of-type{border-top:0}.category-management-row strong{min-width:0;flex:1;color:#172126}.form-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.credit-limit-box{min-width:170px;border:1px solid #dce7df;border-radius:14px;background:#f8fbf9;padding:12px;text-align:right}.credit-limit-box strong,.credit-limit-box small{display:block}.credit-limit-box strong{color:#172126;font-size:18px}.credit-limit-box small{margin-top:4px;color:#278037;font-size:12px;font-weight:680}.credit-limit-track{height:10px;border-radius:999px;background:#edf3ef;overflow:hidden}.credit-limit-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#59d783,#278037)}.invoice-browser{display:grid;gap:12px;border-top:1px solid #e5ece7;padding-top:14px}.invoice-browser-head,.invoice-totals,.invoice-transaction-row{display:flex;align-items:center}.invoice-browser-head{justify-content:space-between;gap:12px}.invoice-browser-head>strong{color:#172126}.invoice-browser-head span{color:#68776f;font-size:12px;font-weight:650}.invoice-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.invoice-tabs button{min-width:120px;border:1px solid #dce7df;border-radius:12px;background:#fff;color:#314039;padding:10px 12px;text-align:left;cursor:pointer}.invoice-tabs button.selected{border-color:#278037;background:#eefaf1;box-shadow:inset 4px 0 #278037}.invoice-tabs strong,.invoice-tabs span{display:block}.invoice-tabs span{margin-top:4px;color:#278037;font-size:12px;font-weight:720}.invoice-detail{display:grid;gap:12px}.invoice-totals{flex-wrap:wrap;gap:8px}.invoice-totals span{border-radius:999px;background:#f3f7f5;color:#5c6b65;padding:7px 10px;font-size:12px}.invoice-totals b{margin-left:4px;font-size:12px}.invoice-card-action{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #edf2ef;border-radius:14px;background:#f8fbf9;padding:14px}.invoice-card-action div{min-width:0}.invoice-card-action strong,.invoice-card-action span{display:block}.invoice-card-action strong{color:#172126;font-size:14px}.invoice-card-action span{margin-top:4px;color:#68776f;font-size:12px}.invoice-transactions{display:grid;max-height:320px;overflow:auto;border:1px solid #edf2ef;border-radius:12px}.invoice-transaction-row{justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid #edf2ef}.invoice-transaction-row:last-child{border-bottom:0}.invoice-transaction-row div{min-width:0}.invoice-transaction-row strong,.invoice-transaction-row span{display:block}.invoice-transaction-row strong{overflow:hidden;color:#172126;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.invoice-transaction-row span{margin-top:3px;color:#68776f;font-size:12px}.invoice-transaction-row b{flex:0 0 auto;font-size:13px}.invoice-statement-view{display:grid;gap:16px;margin-top:24px}.invoice-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.invoice-page-head>div{min-width:0;flex:1}.invoice-page-head>.secondary-button{flex:0 0 auto;margin-left:auto}.invoice-page-head span{color:#68776f;font-size:13px;font-weight:620}.invoice-page-head h2{margin:2px 0 0;color:#172126;font-size:28px}.invoice-page-head p{margin:4px 0 0;color:#68776f}.invoice-page-metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.invoice-page-metrics article{border:1px solid #e2ece6;border-radius:16px;background:#fff;padding:14px 16px;box-shadow:0 10px 28px #102d240f}.invoice-page-metrics span{display:block;color:#68776f;font-size:12px;font-weight:680;letter-spacing:.04em;text-transform:uppercase}.invoice-page-metrics strong{display:block;margin-top:6px;color:#278037;font-size:22px}.invoice-page-empty{display:grid;gap:16px;align-content:start}.simulator-view{display:grid;gap:12px}.simulator-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:18px;background:#278037;color:#fff;box-shadow:0 16px 50px #102d241f;padding:16px 20px}.simulator-hero span{display:block;color:#ffffffd6;font-size:13px;font-weight:720}.simulator-hero strong{display:block;margin-top:5px;font-size:clamp(30px,4vw,46px);line-height:1}.simulator-hero p{margin:6px 0 0;color:#ffffffc7}.simulator-hero .secondary-button{border-color:#ffffff47;background:#ffffff1f;color:#fff}.simulator-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:16px;align-items:stretch}.simulator-wide{grid-column:1 / -1}.simulator-params{display:grid;align-content:start;gap:14px}.simulator-param-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.simulator-slider{display:grid;gap:8px;align-content:start;padding:0}.simulator-slider span{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#60706a;font-size:13px;font-weight:540}.simulator-slider b{border:1px solid #dce7df;border-radius:10px;background:#f8fbf9;color:#172126;padding:6px 10px;font-size:12px;font-weight:560}.simulator-slider input[type=range]{width:100%;accent-color:#278037}.simulator-slider input[type=number]{min-height:42px;border:1px solid #dae6df;border-radius:12px;background:#f9fbfa;color:#23302b;padding:0 12px;font:inherit}.simulator-slider em{color:#278037;font-size:12px;font-style:normal;font-weight:560}.simulator-metrics{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.simulator-metric{display:grid;align-content:center;gap:6px;min-height:96px;border:1px solid #e0eae4;border-top:4px solid #278037;border-radius:16px;background:#fff;box-shadow:0 10px 28px #102d240f;padding:14px 16px}.simulator-metric span{color:#68776f;font-size:12px;font-weight:680;letter-spacing:.05em;text-transform:uppercase}.simulator-metric strong{font-size:clamp(22px,2.2vw,30px);line-height:1;font-weight:620}.simulator-metric.blue{border-top-color:#2f80ed}.simulator-metric.pink{border-top-color:#ff8aa8}.simulator-metric.purple{border-top-color:#7e57c2}.simulator-metric.gold{border-top-color:#f4b740}.simulator-metric.green strong{color:#278037}.simulator-metric.pink strong{color:#ff5a8a}.simulator-metric.purple strong{color:#7e57c2}.simulator-metric.blue strong{color:#2f80ed}.simulator-metric.gold strong{color:#a66c00}.investment-donut-wrap{display:grid;place-items:center;gap:18px}.investment-donut{width:min(260px,70vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center}.investment-donut>div{width:52%;aspect-ratio:1;border-radius:50%;background:#fff;display:grid;align-content:center;justify-items:center;gap:4px;padding:10px;text-align:center}.investment-donut strong{color:#172126;font-size:18px}.investment-donut span{color:#6b7772;font-size:11px}.investment-legend{display:grid;gap:10px;width:100%}.investment-legend span{display:flex;align-items:center;gap:8px;color:#4c5a55;font-size:13px}.investment-legend i{width:10px;height:10px;border-radius:50%}.investment-legend i.green{background:#278037}.investment-legend i.blue{background:#2f80ed}.investment-legend i.pink{background:#ff5a8a}.investment-legend b{margin-left:auto;color:#172126}.annual-interest-bars{display:grid;gap:12px}.annual-interest-row{display:grid;grid-template-columns:72px minmax(0,1fr) 112px;align-items:center;gap:10px}.annual-interest-row strong{color:#172126;font-size:13px}.annual-interest-row small{display:block;color:#7d8984;font-size:10px}.annual-interest-row>div{height:14px;border-radius:999px;background:#edf3ef;overflow:hidden}.annual-interest-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#59d783,#278037)}.annual-interest-row span{text-align:right;color:#278037;font-size:12px;font-weight:720}.investment-chart-wrap{position:relative}.investment-chart{width:100%;height:300px;display:block}.investment-chart-area{fill:#27803729}.investment-chart-line{fill:none;stroke:#278037;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-hover-line{stroke:#17212638;stroke-width:2}.chart-hover-dot{fill:#fff;stroke:#278037;stroke-width:4}.chart-hover-zone{fill:transparent;cursor:crosshair}.investment-chart-tooltip{position:absolute;z-index:2;min-width:130px;border:1px solid #dce7df;border-radius:10px;background:#fff;box-shadow:0 12px 30px #102d2429;color:#172126;padding:8px 10px;pointer-events:none;transform:translate(12px,-50%)}.investment-chart-tooltip strong,.investment-chart-tooltip span{display:block}.investment-chart-tooltip strong{font-size:12px}.investment-chart-tooltip span{margin-top:3px;color:#278037;font-size:13px;font-weight:760}.simulation-table-wrap{overflow-x:auto;border:1px solid #e5ece7;border-radius:14px}.simulation-table{width:100%;min-width:920px;border-collapse:collapse;background:#fff}.simulation-table th{background:#eef6f0;color:#486059;font-size:12px;font-weight:700;padding:12px 10px;text-align:left}.simulation-table td{border-top:1px solid #edf2ef;color:#445752;font-size:13px;padding:11px 10px;white-space:nowrap}.simulation-table .simulation-year-row td{background:#dff1e5;color:#17662c;font-weight:780}.simulation-table .simulation-year-row span{display:block;color:#4f7a5e;font-size:10px;font-weight:720;letter-spacing:.04em;text-transform:uppercase}.empty{color:#72807a}.table-panel{overflow:auto;border-radius:24px;background:#fff;border:1px solid #e2ece6;box-shadow:0 16px 50px #102d2414}.extract-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px}.extract-header h2{margin:0;font-size:22px}.extract-header p{margin:4px 0 0;color:#68776f;font-size:13px}.extract-header-actions{display:flex;align-items:center;gap:10px}.table-action-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:12px 16px;font-weight:620;cursor:pointer}.table-action-button{background:#278037;color:#fff}.extract-table{width:100%;min-width:980px;border-collapse:collapse;font-size:15px}.extract-table th{position:sticky;top:0;z-index:1;padding:16px 18px;background:#eef8f1;color:#4d5b55;font-size:12px;text-align:left;text-transform:uppercase;letter-spacing:.04em;font-weight:620}.extract-table td{padding:16px 18px;border-bottom:1px solid #eef2ef;color:#4c5a55;vertical-align:middle;white-space:nowrap;line-height:1.2}.extract-table tbody tr.row-completed td{color:#5f6d67}.extract-table tbody tr.row-completed td strong,.extract-table tbody tr.row-completed td span,.extract-table tbody tr.row-completed td{color:#95a39d}.extract-table tr{cursor:pointer}.extract-table tbody tr:hover{background:#f7fbf8}.extract-table tbody tr.row-selected{background:#eef8f1}.extract-table .right{text-align:right;font-weight:500}.extract-table td.negative{color:#e05a2a}.extract-table td.positive{color:#2f80ed}.extract-table .bullet-col{width:30px;padding-left:14px;padding-right:8px;text-align:center;vertical-align:middle}.account-group-row td{background:linear-gradient(90deg,#0f4f32,#176f3c);color:#fff;font-size:14px;font-weight:760;letter-spacing:.08em;text-transform:uppercase;border-top:2px solid #8fcea0;border-bottom:2px solid #8fcea0;box-shadow:inset 6px 0 #59d783}.month-group-row td{background:#dff3e6;color:#0f4f32;font-size:14px;font-weight:720;letter-spacing:.04em;text-transform:uppercase;border-top:2px solid #9dd6ae;border-bottom:2px solid #9dd6ae}.month-group-row td:first-child{box-shadow:inset 5px 0 #278037}.month-group-row .positive,.month-group-row .negative{font-weight:720}.row-actions{display:inline-flex;justify-content:flex-end;gap:8px}.row-actions button{width:34px;height:34px;border:1px solid #dce7df;border-radius:12px;background:#fff;color:#278037;cursor:pointer}.row-actions button:last-child{color:#d94b78}.row-actions-menu{position:relative}.row-actions-trigger{width:34px;height:34px;border:1px solid #dce7df;border-radius:12px;background:#fff;color:#55645f;display:inline-flex;align-items:center;justify-content:center}.row-actions-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:196px;background:#fff;border:1px solid #dce7df;border-radius:12px;box-shadow:0 8px 20px #12231c1f;z-index:15;overflow:hidden}.row-actions-dropdown button{width:100%;border:0;border-bottom:1px solid #edf3ef;border-radius:0;height:auto;padding:10px 12px;background:#fff;color:#2d3b35;display:flex;align-items:center;gap:8px;justify-content:flex-start;font-size:13px;cursor:pointer}.row-actions-dropdown button:last-child{border-bottom:0}.row-actions-dropdown button:hover{background:#f5faf7}.row-actions-dropdown button.danger{color:#d94b78}.selection-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce9e1;background:#f7fbf8;border-radius:14px;padding:10px 12px;margin-bottom:12px}.selection-summary-main{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#42514b;font-size:13px}.selection-summary-main strong{color:#1f2a26;font-weight:560}.selection-summary-main .positive{color:#2f80ed}.selection-summary-main .negative{color:#e05a2a}.selection-clear{border:1px solid #d6e3db;border-radius:10px;background:#fff;color:#3f4d47;font-weight:580;font-size:12px;padding:8px 10px;cursor:pointer}.value-pill{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:112px;padding:4px 0;border-radius:999px;font-weight:500;font-size:14px;background:transparent}.value-pill>span{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:11px;font-weight:560;line-height:1}.value-pill.income{color:#2f80ed}.value-pill.income>span{background:#2f80ede6}.value-pill.expense{color:#e05a2a}.value-pill.expense>span{background:#f26b3fe6}.type-bullet{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:0;vertical-align:middle;transform:translateY(0)}.type-bullet.income{background:#2f80ed}.type-bullet.expense{background:#f26b3f}.type-bullet.paid{background:#94d8a5;box-shadow:0 0 0 1px #2780372e}.paid-tag{display:inline-flex;margin-left:0;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:500;background:#eef7f1;color:#278037;vertical-align:middle}.paid-tag.below-date{margin-top:0;width:fit-content;white-space:nowrap}.paid-tag.done{background:#f1f5f3;color:#8f9e97}.paid-tag.pending{background:#fff5ef;color:#d4662f}.date-cell{min-width:104px;white-space:nowrap;vertical-align:middle}.date-main{display:inline-block;line-height:1.2;font-weight:500;white-space:nowrap}.status-cell{min-width:120px;white-space:nowrap;vertical-align:middle;padding-top:16px;padding-bottom:16px}.extract-table tbody tr.row-completed .value-pill.income{color:#8bb3db}.extract-table tbody tr.row-completed .value-pill.expense{color:#d6a58f}.extract-table tbody tr.row-completed td.positive{color:#9bb4c7}.extract-table tbody tr.row-completed td.negative{color:#d1a896}.strike-text{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:#60706acc}.axis-label-vertical{font-size:10px}.filters-panel{border-radius:28px;background:#fff;border:1px solid #e2ece6;box-shadow:0 18px 70px #102d241a;padding:28px}.filters-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:26px}.filters-header h2{margin:4px 0;font-size:34px}.filters-header span{color:#718079}.filters-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.filter-group{display:grid;gap:10px;margin-bottom:24px}.filter-group label{color:#60706a;font-size:13px;font-weight:620;letter-spacing:.05em;text-transform:uppercase}.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.filter-group select,.date-input,.search-field{min-height:50px;border:1px solid #dae6df;border-radius:16px;background:#f9fbfa;padding:0 14px}.date-input{color:#23302b}.search-field{display:flex;align-items:center;gap:10px}.search-field input{width:100%;border:0;outline:0;background:transparent;font:inherit}.month-cards{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}.month-cards button,.quick-filters button,.account-filter-cards button{min-width:96px;border:1px solid #dde6e0;border-radius:18px;background:#f7f9f8;padding:14px;color:#23302b;cursor:pointer}.month-cards button.selected,.quick-filters button.selected,.account-filter-cards button.selected{border-color:#278037;background:#278037;color:#fff}.month-cards strong,.month-cards span{display:block}.month-cards span{margin-top:4px;color:inherit;opacity:.72}.quick-filters{display:flex;flex-wrap:wrap;gap:10px}.quick-filters button{min-width:auto;border-radius:999px;padding:12px 16px;font-weight:580}.account-filter-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.account-filter-cards button{min-width:0;display:grid;gap:8px;text-align:left}.account-filter-cards svg{color:currentColor}.account-filter-cards span{color:inherit;opacity:.7;font-size:13px}.filter-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dce7df;border-radius:16px;background:#fff;padding:14px 18px;color:#53625b;font-weight:580;cursor:pointer}.primary-button.compact{width:auto;min-width:160px;margin:0}.secondary-button.compact{min-width:140px;padding:14px 18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:#08130f7a}.detail-modal{position:relative;width:min(520px,100%);border-radius:28px;background:#fff;padding:30px;box-shadow:0 24px 90px #08130f47}.modal-close{position:absolute;right:18px;top:18px;width:40px;height:40px;border:0;border-radius:12px;background:#f3f6f4;color:#4d5b55;cursor:pointer}.detail-modal h2{margin:18px 0 6px;font-size:28px}.modal-value{display:block;font-size:40px;margin-bottom:18px}.detail-modal dl{display:grid;gap:12px;margin:0}.detail-modal dl div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #eef2ef}.detail-modal dt{color:#718079;font-weight:560}.detail-modal dd{margin:0;text-align:right;font-weight:620}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.danger-button{border:1px solid rgba(217,75,120,.24);background:#ff5a8a1a;color:#d94b78}.form-modal{width:min(620px,100%)}.transaction-form{display:grid;gap:14px;margin-top:18px}.transaction-form label{display:grid;gap:8px;color:#60706a;font-size:13px;font-weight:620}.transaction-form input,.transaction-form select{min-height:48px;border:1px solid #dae6df;border-radius:14px;background:#f9fbfa;padding:0 14px;color:#23302b;font:inherit}.recurrence-box{display:grid;gap:12px;border:1px solid #dce9e1;border-radius:18px;background:#f7fbf8;padding:14px}.check-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important;color:#314039!important;font-size:14px!important;font-weight:620!important;cursor:pointer}.check-row input{width:18px;min-height:18px;accent-color:#278037}.check-row span{display:grid;gap:2px}.check-row small{color:#718079;font-size:12px;font-weight:500}.check-row.compact{font-size:13px!important}.recurrence-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}.type-toggle button{min-height:46px;border:1px solid #dae6df;border-radius:14px;background:#f7f9f8;color:#53625b;font-weight:620;cursor:pointer}.type-toggle button.selected:first-child{border-color:#d94b784d;background:#ff5a8a1f;color:#d94b78}.type-toggle button.selected:last-child{border-color:#27803747;background:#2780371a;color:#278037}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;padding:14px 20px}.sidebar nav{display:flex;overflow-x:auto}.logout{width:auto;margin-left:auto}.dashboard-grid,.kpi-grid,.analysis-metrics,.pareto-grid,.invoice-page-metrics,.simulator-grid,.filter-grid{grid-template-columns:1fr}.simulator-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.simulator-param-grid,.analysis-toolbar,.pareto-card-body{grid-template-columns:1fr}.analysis-toolbar{display:grid}.analysis-chart-meta{justify-content:flex-start}.panel-span-2{grid-column:1 / -1}.simulator-wide{grid-column:auto}}@media(max-width:720px){.workspace{padding:18px}.topbar,.filters-header,.sidebar{align-items:flex-start;flex-direction:column}.filters-header-actions{width:100%;justify-content:flex-start}.top-actions,.top-action-group,.top-actions select,.period-button{width:100%}.top-action-group{justify-content:flex-start}.filters-header-actions .primary-button,.filters-header-actions .secondary-button{flex:1 1 150px}.hero-card{padding:20px}.simulator-hero,.simulator-metrics,.simulator-param-grid,.category-management-grid,.form-two-columns,.simulator-slider span,.annual-interest-row{grid-template-columns:1fr}.simulator-hero,.simulator-metrics{display:grid}.investment-legend b,.annual-interest-row span{margin-left:0;text-align:left}.simulator-slider span{align-items:flex-start;flex-direction:column}.investment-chart-tooltip{transform:translate(-50%,-110%)}.credit-card-head{display:grid}.credit-limit-box{min-width:0;text-align:left}.invoice-browser-head,.invoice-card-action,.invoice-page-head,.invoice-transaction-row{align-items:flex-start;flex-direction:column}.invoice-card-action .secondary-button,.invoice-page-head .secondary-button{width:100%}.invoice-transaction-row b{align-self:flex-end}}
