:root{--navy-950:#0f2138;--navy-900:#122c49;--navy-800:#1a3a5c;--navy-700:#234d78;--navy-600:#2c5c8a;--blue-500:#3d76ac;--blue-soft:#e7f0f8;--cream:#f6f4ee;--paper:#fff;--line:#e3dfd3;--ink:#1f2937;--ink-soft:#5b6472;--amber:#c98a3e;--green:#3f7d58;--green-soft:#e3f0e7;--red:#b23b3b;--red-soft:#f8e6e6;--radius:10px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Nastaliq Urdu", Roboto, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}a{color:var(--navy-700)}.app{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--navy-900), var(--navy-950));color:#dce7f2;flex-direction:column;flex:0 0 230px;width:230px;height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:18px 16px;display:flex}.brand-logo{object-fit:contain;background:#fff;border-radius:7px;width:42px;height:42px}.sidebar-collapse{color:#dce7f2;cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff38;border-radius:7px;width:100%;padding:8px 10px;font-size:12px}.sidebar-collapse em{margin-left:5px;font-style:normal}.sidebar.collapsed{flex-basis:72px;width:72px}.sidebar.collapsed .brand{justify-content:center;padding-left:10px;padding-right:10px}.sidebar.collapsed .brand-logo{width:44px;height:44px}.sidebar.collapsed .brand-text{display:none}.sidebar.collapsed .nav a{justify-content:center;padding-left:8px;padding-right:8px;font-size:0}.sidebar.collapsed .nav a svg{flex:0 0 19px;width:19px;height:19px}.sidebar.collapsed .section-label{display:none}.sidebar.collapsed .sidebar-foot{padding:10px;display:flex}.sidebar.collapsed .sidebar-foot>:not(.sidebar-collapse){display:none}.sidebar.collapsed .sidebar-collapse{text-align:center;padding:8px 0}.brand-mark{width:38px;height:38px;color:var(--navy-900);letter-spacing:-.02em;background:#fff;border-radius:8px;place-items:center;font-size:14px;font-weight:800;display:grid}.brand-text .name{color:#fff;font-size:14.5px;font-weight:700;line-height:1.2}.brand-text .tag{color:#9fb3c8;letter-spacing:.02em;font-size:10.5px}.nav{flex:1;padding:10px;overflow-y:auto}.nav a{text-align:left;color:#c4d4e3;cursor:pointer;width:100%;font-size:13.5px;font-family:var(--font);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav svg{opacity:.85;flex:0 0 17px;width:17px;height:17px}.nav a:hover{color:#fff;background:#ffffff0f}.nav a.active{background:var(--navy-700);color:#fff}.nav .section-label{text-transform:uppercase;letter-spacing:.08em;color:#7691a8;padding:14px 12px 6px;font-size:10.5px}.sidebar-foot{color:#7691a8;border-top:1px solid #ffffff14;padding:12px 16px;font-size:11px}.sidebar-foot .user-email{color:#c4d4e3;word-break:break-all;margin-bottom:6px}.sidebar-foot{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.sidebar-foot .link-btn{color:#9fb3c8;cursor:pointer;font-size:11.5px;font-family:var(--font);background:0 0;border:none;padding:0;text-decoration:underline}.sidebar-foot .user-email{margin-bottom:0}.sidebar-foot .signout:hover{color:#fff}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--paper);border-bottom:1px solid var(--line);z-index:20;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex;position:sticky;top:0}.topbar h1{color:var(--navy-900);margin:0;font-size:18px;font-weight:700}.topbar .sub{color:var(--ink-soft);margin-top:2px;font-size:12px}.menu-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:16px;display:none}.content{flex:1;padding:22px 24px 60px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.kpi-grid.cols-3{grid-template-columns:repeat(3,1fr)}.kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.kpi.clickable{cursor:pointer;transition:border-color .12s}.kpi.clickable:hover{border-color:var(--navy-600)}.kpi .label{color:var(--ink-soft);margin-bottom:6px;font-size:11.5px}.kpi .value{color:var(--navy-900);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.kpi .value.receivable{color:var(--blue-500)}.kpi .value.good{color:var(--red)}.kpi .meta{color:var(--ink-soft);margin-top:4px;font-size:11px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;padding:18px 20px}.panel h2{color:var(--navy-900);margin:0 0 14px;font-size:15px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel-head h2{margin:0}.panel-note{color:var(--ink-soft);margin:-6px 0 14px;font-size:12.5px;line-height:1.55}.btn{appearance:none;border:1px solid var(--navy-800);background:var(--navy-800);color:#fff;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);border-radius:8px;padding:8px 14px;transition:background .12s}.btn:hover:not(:disabled){background:var(--navy-700)}.btn.ghost{color:var(--navy-800);border:1px solid var(--line);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--cream)}.btn.danger{background:var(--red);border-color:var(--red)}.btn.ghost.danger-text{color:var(--red)}.btn.ghost.danger-text:hover:not(:disabled){background:var(--red-soft);border-color:var(--red)}.btn.small{border-radius:6px;padding:5px 10px;font-size:12px}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);border-bottom:2px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:11px}tbody td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}tbody tr.hoverable:hover{cursor:pointer;background:#fbfaf6}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table-wrap{overflow-x:auto}.debit-amt{color:var(--red)}.credit-amt{color:var(--green)}.customer-credit-amt{color:var(--red)}.customer-credit-pill{background:var(--red-soft);color:var(--red)}.row-opening{background:#fbfaf6}.row-actions button{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:2px 4px;font-size:14px}.row-actions button:hover{color:var(--navy-800)}.row-error{background:var(--red-soft)}.pill{border-radius:99px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.pill.recv{background:var(--blue-soft);color:var(--blue-500)}.pill.payable{background:var(--green-soft);color:var(--green)}.pill.settled{color:var(--ink-soft);background:#eef0f2}.badge-dest{color:var(--navy-800);background:#eef2f6;border-radius:5px;padding:1px 7px;font-size:11px;font-weight:700}label{display:block}.label-text{color:var(--ink-soft);margin-bottom:4px;font-size:12px;font-weight:600;display:block}input,select,textarea{border:1px solid var(--line);width:100%;font-size:13px;font-family:var(--font);color:var(--ink);background:#fff;border-radius:7px;padding:8px 10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue-500);outline-offset:0;border-color:var(--blue-500)}.field{margin-bottom:12px}.field-label{display:block}.field .hint{color:var(--ink-soft);margin-top:4px;font-size:11px;font-weight:400;display:block}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.checkbox-row{color:var(--ink);align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-row input{width:auto}.form-error{background:var(--red-soft);color:var(--red);border-radius:8px;margin-bottom:12px;padding:9px 12px;font-size:12.5px}.form-success{background:var(--green-soft);color:var(--green);border-radius:8px;margin-bottom:12px;padding:9px 12px;font-size:12.5px}.overlay{z-index:100;background:#0f213873;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:12px;width:100%;max-width:560px;padding:22px 24px;box-shadow:0 20px 50px #00000040}.modal.wide{max-width:760px}.modal h3{color:var(--navy-900);margin:0 0 16px;font-size:16px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.close-x{float:right;cursor:pointer;color:var(--ink-soft);background:0 0;border:none;font-size:18px}.empty{text-align:center;color:var(--ink-soft);padding:50px 20px}.empty svg{opacity:.4;width:44px;height:44px;margin-bottom:10px}.toast{background:var(--navy-900);color:#fff;z-index:200;border-radius:8px;max-width:340px;padding:11px 18px;font-size:13px;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 20px #0003}.toast.error{background:var(--red)}.customer-list-item{border:1px solid var(--line);cursor:pointer;background:var(--paper);border-radius:9px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.customer-list-item:hover{border-color:var(--navy-600);background:#fbfaf6}.customer-list-item .cname{color:var(--navy-900);font-size:13.5px;font-weight:700}.customer-list-item .cmeta{color:var(--ink-soft);margin-top:2px;font-size:11.5px}.customer-list-item .cbal{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.search-row{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.search-row input,.search-row select{flex:1;width:auto;min-width:160px}.tab-row{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tab-btn{color:var(--ink-soft);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px}.tab-btn:hover{color:var(--navy-800)}.tab-btn.active{color:var(--navy-900);border-bottom-color:var(--navy-800)}.tab-count{background:var(--cream);color:var(--ink-soft);border-radius:99px;margin-left:5px;padding:1px 6px;font-size:10.5px;font-weight:700;display:inline-block}.tab-btn.active .tab-count{background:var(--navy-800);color:#fff}.stmt-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.stmt-header .co{color:var(--navy-900);font-size:17px;font-weight:700}.stmt-header .co-meta{color:var(--ink-soft);margin-top:4px;font-size:12px}.totals-bar{border-top:2px solid var(--navy-900);flex-wrap:wrap;gap:22px;margin-top:14px;padding-top:12px;display:flex}.totals-bar .t-item .l{color:var(--ink-soft);font-size:11px}.totals-bar .t-item .v{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.chart-box{height:220px;position:relative}.chart-box.tall{height:260px}.sync-badge{color:var(--ink-soft);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.sync-dot{background:var(--ink-soft);border-radius:99px;width:8px;height:8px}.sync-dot.synced{background:var(--green)}.sync-dot.syncing{background:var(--amber)}.sync-dot.error,.sync-dot.offline{background:var(--red)}.auth-shell{grid-template-columns:minmax(0,1.1fr) minmax(390px,1fr);min-height:100vh;display:grid}.auth-brand{background:linear-gradient(160deg, var(--navy-800), var(--navy-950));color:#fff;flex-direction:column;justify-content:center;padding:clamp(28px,6vw,72px);display:flex}.auth-brand h1{letter-spacing:-.02em;margin:0 0 12px;font-size:30px}.auth-logo{object-fit:contain;background:#fff;border-radius:12px;width:190px;height:190px;margin-bottom:18px}.statement-logo{object-fit:contain;object-position:left center;width:190px;height:78px;margin-bottom:5px}.statement-sheet{box-shadow:none;background:#fff;border:none;border-radius:0}.statement-sheet .legacy-header{display:none}.statement-top{justify-content:space-between;align-items:flex-start;min-height:82px;display:flex}.statement-company{text-align:right;color:var(--navy-800);padding-top:3px}.statement-company b{font-size:24px;display:block}.statement-company span{color:var(--ink-soft);margin-top:4px;font-size:10px;display:block}.statement-info-grid{grid-template-columns:1fr 1fr;gap:26px;margin:6px 0 15px;display:grid}.statement-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:-5px 0 14px;display:flex}.statement-info{background:#f1f5f8;border:1px solid #d3dde5;border-left:8px solid #4fa9a2;flex-direction:column;gap:3px;min-height:104px;padding:12px 16px;display:flex}.statement-info b{color:#4fa9a2;border-bottom:1px solid #d3dde5;margin-bottom:4px;padding-bottom:7px;font-size:11px}.statement-info strong{color:var(--navy-900);font-size:12px}.statement-info span{color:var(--ink-soft);font-size:10px}.details-info{border-left-color:var(--navy-800)}.details-info b{color:var(--navy-800)}.details-info span{justify-content:space-between;display:flex}.details-info i{font-style:normal}.statement-section-title{background:var(--navy-800);color:#fff;margin-bottom:4px;padding:7px 14px;font-size:13px;font-weight:700}.ledger-table{border:1px solid #b8c9d8}.ledger-table thead th{background:var(--navy-800);color:#fff;border:1px solid #b8c9d8;padding:6px 8px;font-size:10px}.ledger-table tbody td{border:1px solid #b8c9d8;padding:5px 8px;font-size:11px}.ledger-table tbody tr:nth-child(2n){background:#f1f5f8}.ledger-table tbody tr.row-opening{background:#e9f0f5}.ledger-table tbody tr.row-opening td{font-weight:700}.ledger-table tfoot .ledger-total-row td{color:#fff;background:#4fa9a2;border:1px solid #b8c9d8;padding:6px 8px;font-size:10px;font-weight:800}.ledger-table tfoot .ledger-total-row td:first-child{text-align:right}.general-ledger-table .serial-number{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;width:48px}@media screen{.general-ledger-table tbody .general-ledger-entry{transition:background-color .12s}.general-ledger-table tbody .general-ledger-entry:hover{background:#c2ddf2}}.statement-sheet .stmt-header{border-bottom:1px solid #d9e0e7;margin-bottom:14px;padding-bottom:13px}.statement-sheet .statement-logo{object-fit:contain;object-position:left center;width:190px;height:78px;margin:0 0 7px}.statement-sheet .co{text-transform:uppercase;font-size:16px}.statement-sheet table{font-size:11px}.statement-sheet th{color:#234d78;border-bottom:1px solid #cfd8e1}.statement-sheet td{border-bottom:1px solid #d9e0e7;padding:8px 9px}.closing-balance-footer{color:#fff;break-before:auto;break-inside:avoid;page-break-before:auto;page-break-inside:avoid;margin-top:15px}.closing-balance-summary{box-sizing:border-box;background:#285579;min-height:62px;padding:14px 17px}.closing-balance-title{letter-spacing:.01em;font-size:16px;font-weight:800}.closing-balance-meta{margin-top:10px;font-size:10px;font-weight:600}.closing-balance-meta span{opacity:.75;margin:0 10px}.closing-balance-amount{background:#4fa9a2;flex-direction:column;justify-content:center;align-items:center;min-height:89px;display:flex}.closing-balance-amount strong{font-size:30px;line-height:1.1}.closing-balance-amount span{margin-top:6px;font-size:10px;font-weight:700}.closing-balance-footer{grid-template-columns:2.2fr 1fr;display:grid}.important-notes{color:#234d78;background:#f1f5f8;border:1px solid #d3dde5;border-left:12px solid #4fa9a2;grid-column:1/-1;margin-top:15px;padding:13px 14px 11px;font-size:10px}.important-notes-title{color:#4fa9a2;margin-bottom:7px;font-size:11px;font-weight:800}.important-notes ol{margin:0;padding-left:17px;line-height:1.65}.auth-brand p{color:#a9bed3;max-width:420px;font-size:14px;line-height:1.7}.auth-brand ul{color:#c4d4e3;margin:26px 0 0;padding:0;font-size:13.5px;list-style:none}.auth-brand li{padding:7px 0 7px 22px;position:relative}.auth-brand li:before{content:"✓";color:var(--amber);font-weight:700;position:absolute;left:0}.auth-panel{background:var(--cream);place-items:center;padding:clamp(20px,5vw,56px) 24px;display:grid}.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;width:100%;max-width:430px;padding:clamp(22px,4vw,34px);box-shadow:0 12px 32px #122c4914}.auth-card h2{color:var(--navy-900);margin:0 0 6px;font-size:20px}.auth-card .sub{color:var(--ink-soft);margin-bottom:20px;font-size:13px}.auth-foot{color:var(--ink-soft);text-align:center;margin-top:16px;font-size:13px}.auth-note{color:var(--ink-soft);background:var(--cream);border-radius:8px;margin-top:14px;padding:10px 12px;font-size:11.5px;line-height:1.6}.loader{min-height:100vh;color:var(--ink-soft);place-items:center;font-size:13px;display:grid}@media print{@page{size:landscape;margin:10mm}*,:before,:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.sidebar,.topbar,.no-print,.totals-bar{display:none!important}.ledger-table tfoot{break-inside:avoid;display:table-row-group}.content{padding:0}body{background:#fff}.panel{border:none;margin:0;padding:0}table{font-size:10px}th,td{padding:5px 6px}.statement-top{min-height:60px}.statement-sheet .statement-logo{width:155px;height:58px;margin-bottom:2px}.statement-company b{font-size:19px}.statement-company span{margin-top:2px;font-size:9px}.statement-info-grid{gap:18px;margin:2px 0 8px}.statement-info{gap:2px;min-height:78px;padding:8px 12px}.statement-info b{margin-bottom:2px;padding-bottom:4px;font-size:10px}.statement-info strong{font-size:11px}.statement-info span{font-size:9px}.statement-section-title{padding:5px 10px;font-size:11px}.ledger-table thead th{padding:4px 5px;font-size:9px}.ledger-table tbody td{padding:3px 5px;font-size:9.5px}.ledger-table tfoot .ledger-total-row td{padding:4px 5px;font-size:9px}.closing-balance-footer{margin-top:8px}.closing-balance-summary{min-height:0;padding:7px 12px}.closing-balance-title{font-size:12px}.closing-balance-meta{margin-top:4px;font-size:9px}.closing-balance-amount{min-height:54px}.closing-balance-amount strong{font-size:20px}.closing-balance-amount span{margin-top:2px;font-size:8px}.important-notes{margin-top:6px;padding:6px 9px 5px;font-size:9px}.important-notes-title{margin-bottom:3px;font-size:10px}.important-notes ol{line-height:1.2}}@media (width<=900px){.kpi-grid,.kpi-grid.cols-3{grid-template-columns:1fr 1fr}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.sidebar{z-index:50;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.menu-toggle{display:inline-flex}.content{padding:16px}.topbar{padding:12px 16px}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}}@media (width<=700px){.statement-top{flex-direction:column;gap:12px}.statement-company{text-align:left}.statement-info-grid{grid-template-columns:1fr;gap:12px}.statement-actions{justify-content:flex-start}}@media (width<=560px){.kpi-grid,.kpi-grid.cols-3{grid-template-columns:1fr}}.company-portal{background:var(--bg,#f3f5f8);min-height:100vh}.portal-topbar{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:20px max(20px,50vw - 620px);display:flex}.portal-content{max-width:1240px;margin:0 auto;padding:24px 16px}.access-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.access-form{max-width:620px}.access-actions{flex-wrap:wrap;gap:8px;display:flex}.activity-summary{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin:20px 0;display:grid}.activity-summary>div{background:var(--bg,#f3f5f8);border:1px solid #e2e8f0;border-radius:10px;padding:14px}.activity-summary dt{color:#536579;font-size:13px}.activity-summary dd{overflow-wrap:anywhere;margin:8px 0 0;font-size:19px;font-weight:600}@media print{.company-portal{background:#fff}.portal-content{max-width:none;padding:0}}
