:root{--bg-primary: #FFFFFF;--bg-secondary: #F8F9FA;--bg-tertiary: #F1F3F5;--border: #E5E7EB;--border-strong: #D1D5DB;--text-primary: #111827;--text-secondary: #6B7280;--text-muted: #9CA3AF;--brand: #FF0000;--brand-hover: #CC0000;--brand-light: #FFF0F0;--income: #10B981;--income-bg: #ECFDF5;--expense: #EF4444;--expense-bg: #FEF2F2;--warning: #F59E0B;--warning-bg: #FFFBEB;--neutral: #6B7280;--neutral-bg: #F3F4F6;--font-sans: "Inter", system-ui, sans-serif;--font-bn: "Hind Siliguri", "Inter", sans-serif;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .875rem;--fs-lg: 1rem;--fs-xl: 1.25rem;--fs-2xl: 1.75rem;--fs-hero: 2.75rem;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .04);--shadow-md: 0 1px 3px rgba(17, 24, 39, .06), 0 1px 2px rgba(17, 24, 39, .04);--shadow-lg: 0 10px 30px rgba(17, 24, 39, .1), 0 4px 12px rgba(17, 24, 39, .06);--sidebar-w: 232px;--sidebar-w-rail: 64px;--topbar-h: 56px;--row-pad-y: 10px;--row-pad-x: 14px}[data-density=compact]{--row-pad-y: 6px;--row-pad-x: 10px;--fs-md: .8125rem;--fs-sm: .75rem}[data-lang=bn]{--font-sans: "Hind Siliguri", "Inter", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-secondary);font-size:var(--fs-md);line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01","tnum"}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.mono{font-family:IBM Plex Mono,JetBrains Mono,ui-monospace,monospace}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;min-height:100vh}.app[data-sidebar=rail]{grid-template-columns:var(--sidebar-w-rail) 1fr}.topbar{grid-column:1 / -1;height:var(--topbar-h);background:var(--bg-primary);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 18px;gap:10px;position:sticky;top:0;z-index:30;min-width:0}.topbar>*{flex-shrink:0}.topbar .spacer{flex:1 1 auto;min-width:0}.topbar .brand-mark{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;letter-spacing:-.01em;color:var(--text-primary)}.topbar .brand-mark .logo{width:22px;height:22px;border-radius:5px;background:var(--brand);display:grid;place-items:center;color:#fff;font-weight:700;font-size:12px}.topbar .search{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-md);padding:6px 10px;width:240px;max-width:28vw;min-width:0;color:var(--text-secondary);flex:0 1 240px}.topbar .search input{background:transparent;border:0;outline:0;flex:1;font-size:13px;color:var(--text-primary)}.topbar .icon-btn{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);background:var(--bg-primary);border-radius:var(--r-md);color:var(--text-secondary)}.topbar .icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.topbar .lang-pill{display:inline-flex;align-items:center;gap:2px;height:28px;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--bg-tertiary);font-size:11px;font-weight:600}.topbar .lang-pill button{border:0;background:transparent;height:24px;padding:0 10px;border-radius:999px;color:var(--text-secondary)}.topbar .lang-pill button.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.co-switcher{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 8px;border:1px solid var(--border);background:var(--bg-primary);border-radius:999px;font-weight:600;font-size:13px;color:var(--text-primary);position:relative}.co-switcher .dot{width:8px;height:8px;border-radius:999px}.co-switcher:hover{background:var(--bg-secondary)}.co-switcher .chev{color:var(--text-muted)}.co-menu{position:absolute;top:calc(100% + 6px);left:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);min-width:280px;z-index:50;padding:6px}.co-menu .item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md);cursor:pointer;font-size:13px}.co-menu .item:hover{background:var(--bg-secondary)}.co-menu .item.active{background:var(--brand-light);color:var(--brand-hover)}.co-menu .divider{height:1px;background:var(--border);margin:6px 4px}.co-menu .item .meta{color:var(--text-muted);font-size:11px;margin-left:auto}.sidebar{border-right:1px solid var(--border);background:var(--bg-primary);padding:14px 10px;display:flex;flex-direction:column;gap:2px;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow:auto}.sidebar .group-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:12px 10px 6px}.sidebar .nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md);color:var(--text-secondary);font-size:13px;font-weight:500;border:0;background:transparent;width:100%;text-align:left}.sidebar .nav-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar .nav-item.active{background:var(--brand-light);color:var(--brand-hover)}.sidebar .nav-item .label{flex:1}.sidebar .nav-item .badge{background:var(--neutral-bg);color:var(--text-secondary);font-size:11px;padding:1px 6px;border-radius:999px;font-weight:600}.app[data-sidebar=rail] .sidebar .nav-item .label,.app[data-sidebar=rail] .sidebar .group-label,.app[data-sidebar=rail] .sidebar .nav-item .badge,.topbar .menu-btn{display:none}@media(max-width:720px){.topbar .menu-btn{display:grid}}.app[data-sidebar=rail] .sidebar .nav-item{justify-content:center;padding:10px}.settings-nav{display:flex;flex-direction:column;gap:2px;padding:6px}.settings-nav button{display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;background:transparent;border-radius:var(--r-md);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background .12s,color .12s}.settings-nav button:hover{background:var(--bg-secondary);color:var(--text-primary)}.settings-nav button.active{background:var(--brand-light);color:var(--brand-hover);font-weight:600}.settings-nav button svg{flex-shrink:0;opacity:.7}.settings-nav button.active svg{opacity:1}@media(max-width:720px){.settings-layout{grid-template-columns:1fr!important}.settings-nav{flex-direction:row;overflow-x:auto;gap:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 6px}.settings-nav::-webkit-scrollbar{display:none}.settings-nav button{white-space:nowrap;padding:8px 12px;flex-shrink:0}}.sidebar-scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;z-index:49;opacity:0;transition:opacity .2s}.app[data-mobile-sidebar=open] .sidebar-scrim{display:block;opacity:1}.sidebar .foot{margin-top:auto;padding:10px;border-top:1px solid var(--border)}.app[data-sidebar=rail] .sidebar .foot{padding:10px 4px}.main{padding:20px 28px 80px;max-width:1400px;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}@media(max-width:720px){.page-head{flex-direction:column;align-items:flex-start;gap:10px}.page-head>div:last-child{width:100%;display:flex;gap:8px}.page-head>div:last-child .select{flex:1}}.page-head h1{font-size:20px;font-weight:700;letter-spacing:-.015em;margin:0}.page-head .sub{color:var(--text-secondary);font-size:13px;margin-top:4px}.btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-weight:600;white-space:nowrap}.btn:hover{background:var(--bg-secondary)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-secondary)}.btn.ghost:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn.danger{color:var(--expense);border-color:var(--border)}.btn.danger:hover{background:var(--expense-bg);border-color:var(--expense)}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.lg{height:44px;padding:0 18px;font-size:14px}.btn.block{width:100%;justify-content:center}.input,.select{height:36px;padding:0 10px;border:1px solid var(--border);background:var(--bg-tertiary);border-radius:var(--r-md);font-size:13px;color:var(--text-primary);width:100%;outline:0}.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1d6aff2e;background:var(--bg-primary)}textarea.input{height:auto;padding:10px;min-height:70px;resize:vertical;line-height:1.5}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.card-head h3{margin:0;font-size:13px;font-weight:700;letter-spacing:-.005em}.card-head .meta{font-size:12px;color:var(--text-muted)}.card-body{padding:16px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}@media(max-width:880px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 18px 16px;box-shadow:var(--shadow-sm);position:relative}.kpi .label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:6px}.kpi .value{font-size:var(--fs-hero);font-weight:700;letter-spacing:-.02em;margin-top:6px;line-height:1.05;font-variant-numeric:tabular-nums}.kpi .value .cur{font-size:.55em;color:var(--text-muted);font-weight:600;margin-right:4px}.kpi .footnote{margin-top:8px;font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.kpi .delta{font-weight:600}.kpi .delta.up{color:var(--income)}.kpi .delta.down{color:var(--expense)}.kpi.income .value{color:var(--income)}.kpi.expense .value{color:var(--expense)}.kpi.net.pos .value{color:var(--income)}.kpi.net.neg .value{color:var(--expense)}[data-kpi-style=bordered] .kpi{box-shadow:none}[data-kpi-style=filled] .kpi{background:var(--bg-secondary);box-shadow:none}[data-kpi-style=filled] .kpi.income{background:var(--income-bg);border-color:#bbf7d0}[data-kpi-style=filled] .kpi.expense{background:var(--expense-bg);border-color:#fecaca}[data-kpi-style=filled] .kpi.net.pos{background:var(--income-bg);border-color:#bbf7d0}[data-kpi-style=filled] .kpi.net.neg{background:var(--expense-bg);border-color:#fecaca}[data-kpi-style=accent] .kpi{border-left-width:3px}[data-kpi-style=accent] .kpi.income{border-left-color:var(--income)}[data-kpi-style=accent] .kpi.expense{border-left-color:var(--expense)}[data-kpi-style=accent] .kpi.net.pos{border-left-color:var(--income)}[data-kpi-style=accent] .kpi.net.neg{border-left-color:var(--expense)}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:980px){.row-2{grid-template-columns:1fr}}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-md);font-variant-numeric:tabular-nums}.tbl thead th{text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:10px var(--row-pad-x);background:var(--bg-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.tbl tbody td{padding:var(--row-pad-y) var(--row-pad-x);border-bottom:1px solid var(--border);vertical-align:middle}.tbl tbody tr:hover{background:var(--bg-secondary);cursor:pointer}.tbl tbody tr:last-child td{border-bottom:0}.tbl td.num,.tbl th.num{text-align:right}.tbl td.amt{font-weight:600}.tbl td.amt.inc{color:var(--income)}.tbl td.amt.exp{color:var(--expense)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--neutral-bg);color:var(--text-secondary);line-height:1.5}.badge.income{background:var(--income-bg);color:#047857}.badge.expense{background:var(--expense-bg);color:#b91c1c}.badge.warning{background:var(--warning-bg);color:#b45309}.badge.brand{background:var(--brand-light);color:var(--brand-hover)}.badge.dot:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;background:var(--bg-primary);border:1px solid var(--border);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0}.filter-bar .input,.filter-bar .select{height:30px;font-size:12px;width:auto;min-width:120px}.filter-bar .spacer{flex:1}.filter-bar .search{width:220px;min-width:0}.tbl-wrap{background:var(--bg-primary);border:1px solid var(--border);border-top:0;border-radius:0 0 var(--r-lg) var(--r-lg);overflow:auto}.tbl-wrap.only{border-top:1px solid var(--border);border-radius:var(--r-lg)}.modal-bd{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#11182773;display:grid;place-items:center;padding:20px;animation:fade-in .18s ease}.modal{width:100%;max-width:480px;background:var(--bg-primary);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);max-height:calc(100vh - 40px);display:flex;flex-direction:column;animation:pop-in .2s ease}.modal.wide{max-width:720px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:15px;font-weight:700}.modal-body{padding:18px;overflow:auto}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--border);background:var(--bg-secondary);border-radius:0 0 var(--r-lg) var(--r-lg)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.seg-big{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-md)}.seg-big button{height:40px;border:0;background:transparent;border-radius:var(--r-sm);font-weight:600;font-size:13px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:6px}.seg-big button.active.income{background:#fff;color:var(--income);box-shadow:var(--shadow-sm)}.seg-big button.active.expense{background:#fff;color:var(--expense);box-shadow:var(--shadow-sm)}.amount-input{display:flex;align-items:center;border:1px solid var(--border);background:var(--bg-tertiary);border-radius:var(--r-md);padding:0 12px;height:56px}.amount-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #1d6aff2e;background:var(--bg-primary)}.amount-input .cur{font-size:22px;font-weight:600;color:var(--text-muted);padding-right:8px}.amount-input input{flex:1;border:0;background:transparent;outline:0;font-size:24px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.amount-input .toggle{border:1px solid var(--border);background:var(--bg-primary);border-radius:var(--r-sm);padding:4px 8px;font-size:11px;font-weight:600;color:var(--text-secondary)}.bar-row{display:grid;grid-template-columns:140px 1fr 80px;gap:10px;align-items:center;padding:6px 0;font-size:12px}.bar-row .name{color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row .bar{height:10px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;position:relative}.bar-row .bar>span{display:block;height:100%;background:var(--brand);border-radius:3px}.bar-row .val{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.bar-row.expense .bar>span{background:var(--expense)}.spark svg{display:block;width:100%;height:220px}.onboarding{min-height:100vh;background:var(--bg-secondary);display:grid;place-items:center;padding:24px}.onb-card{width:100%;max-width:460px;background:var(--bg-primary);border:1px solid var(--border);border-radius:14px;padding:32px;box-shadow:var(--shadow-lg)}.onb-steps{display:flex;gap:6px;margin-bottom:20px}.onb-steps .dot{flex:1;height:4px;border-radius:2px;background:var(--bg-tertiary)}.onb-steps .dot.active{background:var(--brand)}.onb-steps .dot.done{background:var(--brand);opacity:.5}.onb-card h1{margin:0 0 6px;font-size:22px;font-weight:700;letter-spacing:-.02em}.onb-card .lede{color:var(--text-secondary);font-size:14px;margin-bottom:22px}.biz-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.biz-grid button{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--border);background:var(--bg-primary);border-radius:var(--r-md);text-align:left;font-size:12px;font-weight:600;color:var(--text-primary)}.biz-grid button:hover{border-color:var(--brand);background:var(--brand-light)}.biz-grid button.active{border-color:var(--brand);background:var(--brand-light);color:var(--brand-hover)}.biz-grid .ic{font-size:16px}.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:var(--text-primary);color:#fff;padding:10px 14px;border-radius:999px;font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);animation:pop-in .2s ease}.fab,.bottom-nav{display:none}@media(max-width:720px){.app{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;z-index:50;transform:translate(-100%);transition:transform .24s ease,width .2s ease;box-shadow:4px 0 16px #11182714;touch-action:pan-y}.app[data-mobile-sidebar=open] .sidebar{transform:translate(0)}.app[data-mobile-sidebar=open][data-sidebar=rail] .sidebar{width:64px}.main{padding:14px 14px 0;padding-bottom:calc(72px + env(safe-area-inset-bottom));min-width:0;overflow-x:hidden}.topbar{padding:0 8px;gap:6px}.topbar .brand-mark span,.topbar .search{display:none}.topbar .icon-btn.search-btn{display:grid}.co-switcher{max-width:36vw;min-width:0;flex-shrink:1}.co-switcher span:not(.dot):not(.chev){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.topbar .btn.primary span{display:none}.topbar .btn.primary{width:34px;height:34px;padding:0;justify-content:center;border-radius:50%;flex-shrink:0}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:1px solid var(--border);height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:30}.bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:var(--text-muted);font-size:10px;font-weight:500;padding-bottom:0}.bottom-nav .nav-item.active{color:var(--brand)}.fab{display:grid;position:fixed;right:16px;bottom:calc(64px + env(safe-area-inset-bottom));z-index:40;width:50px;height:50px;border-radius:999px;background:var(--brand);color:#fff;border:0;box-shadow:var(--shadow-lg);place-items:center}.kpi{padding:14px}.kpi .value{font-size:1.7rem}.kpi-grid{gap:10px}.bar-row{grid-template-columns:100px 1fr 70px;gap:8px}.modal-bd{display:flex;flex-direction:column;justify-content:flex-end;padding:0;align-items:stretch}.modal{width:100%;max-width:100%;border-radius:14px 14px 0 0;max-height:92vh;padding-bottom:env(safe-area-inset-bottom)}.filter-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-bar .select{min-width:100px;flex-shrink:0}}.topbar .icon-btn.search-btn{display:none}@media(max-width:720px){.topbar .icon-btn.search-btn{display:grid}}
