@font-face{font-family:Bangla;src:url('fonts/HindSiliguri-Regular.ttf') format('truetype');font-weight:400;font-display:swap;unicode-range:U+0980-09FF,U+200C-200D,U+25CC}@font-face{font-family:Bangla;src:url('fonts/HindSiliguri-Bold.ttf') format('truetype');font-weight:600 900;font-display:swap;unicode-range:U+0980-09FF,U+200C-200D,U+25CC}
@font-face{font-family:Hind;src:url('fonts/HindSiliguri-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Hind;src:url('fonts/HindSiliguri-Bold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--ink:#182e39;--muted:#607480;--primary:#087f74;--primary-dark:#07665e;--nav:#102d36;--line:#dfe7e9;--canvas:#f3f6f7;--danger:#b83438;--bs-primary:#087f74;--bs-primary-rgb:8,127,116;--bs-success:#167451;--bs-danger:#b83438;--bs-body-color:var(--ink);--bs-body-bg:var(--canvas);--bs-border-color:var(--line);--bs-secondary-color:var(--muted)}
*{box-sizing:border-box}body{margin:0;font-family:Bangla,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:14px;color:var(--ink);background:var(--canvas);line-height:1.6}html[lang=bn] body{font-family:Hind,system-ui,sans-serif;font-size:16px}a{color:var(--primary-dark);text-underline-offset:3px}a:hover{color:#054d47}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a,button{transition:background .16s,color .16s,border-color .16s}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;color:var(--ink)}:focus-visible{outline:3px solid #1a9187;outline-offset:3px}.icon{flex:none;vertical-align:middle}.workspace{display:flex;min-height:100vh}.sidebar{width:238px;flex:none;background:var(--nav);color:#e2eded;padding:28px 18px 18px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:700 21px/1.2 system-ui,sans-serif;letter-spacing:-.7px;margin-bottom:28px}.brand:hover{color:white}.brand-symbol{display:grid;place-items:center;width:36px;height:42px;border-radius:12px;background:#d5ee5a;color:#122e36}.brand-symbol .icon{width:24px;height:24px}.brand small{font:500 9px/1.4 Hind,system-ui,sans-serif;display:block;color:#afc3c7;letter-spacing:1.5px;margin-top:6px}.sidebar-create{width:100%;margin-bottom:30px;background:#258f84!important;border-color:#258f84!important;min-height:44px}.nav-caption{font-size:10px;font-weight:700;color:#a6bdc3;letter-spacing:1.5px;padding:0 14px;margin-bottom:10px}.side-link{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:#c4d4d8;text-decoration:none;padding:12px 14px;border-radius:9px;margin:3px 0;font-weight:500;line-height:1.5;width:100%;text-align:left}.side-link:hover{background:#1c3b44;color:#fff}.side-link.active{background:#275058;color:#fff;box-shadow:inset 3px 0 #d5ee5a}.sidebar-bottom{margin-top:auto;padding-top:40px}.workspace-card{display:flex;align-items:flex-start;gap:10px;padding:14px 10px;border-top:1px solid #39525b}.workspace-card strong{font-size:12px;display:block;overflow-wrap:anywhere;line-height:1.5;color:#e6eff1}.workspace-card small{font-size:11px;color:#afc3c7;line-height:1.4;display:block;margin-top:4px}.workspace-icon{color:#d5ee5a}.logout-button{font-size:13px}.sidebar-version{display:flex;justify-content:space-between;color:#a6bdc3;font-size:10px;padding:14px}.main{min-width:0;flex:1}.topbar{height:78px;border-bottom:1px solid var(--line);background:white;display:flex;justify-content:space-between;align-items:center;padding:0 34px;gap:15px}.topbar-start{min-width:0;display:flex;align-items:center;gap:10px}.topbar-label{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.topbar-actions{display:flex;align-items:center;gap:14px;flex:none}.topbar-divider{height:28px;width:1px;background:var(--line)}.user-meta{text-align:right}.user-meta strong{display:block;font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta small{display:block;font-size:10px;color:var(--muted)}.avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#edf2f3;color:#35535d;border:1px solid #dde6e8;font-weight:700}.language-switch{display:flex;gap:2px;border:1px solid var(--line);border-radius:8px;padding:3px;background:#f5f8f8}.language-switch button{background:transparent;border:0;color:#566c76;padding:4px 8px;border-radius:5px;font-size:12px;min-height:30px}.language-switch button.selected{background:#fff;color:var(--ink);box-shadow:0 1px 4px #102d3614;font-weight:700}.page-content{max-width:1600px;margin:auto;padding:28px 34px 0;outline:none}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--primary);margin-bottom:6px}.page-heading h1{font-size:28px;font-weight:700;line-height:1.35;margin:0 0 6px;overflow-wrap:anywhere}.page-heading p{margin:0;color:var(--muted);font-size:13px}.page-actions{display:flex;gap:10px;flex-wrap:wrap;flex:none;align-items:center}.page-footer{display:flex;justify-content:space-between;gap:20px;padding:24px 0;color:var(--muted);font-size:11px;border-top:1px solid var(--line);margin-top:32px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 3px #132c3402;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-head h2,.panel-head h3{font-size:16px;font-weight:700;margin:0}.panel-head p{font-size:12px;color:var(--muted);margin:5px 0 0}.panel-body{padding:22px}.section-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;margin-bottom:18px}.step-number{display:grid;place-items:center;font:700 12px system-ui;width:26px;height:26px;border-radius:7px;background:#e9f5f2;color:var(--primary)}.btn{border-radius:8px;min-height:42px;font-size:13px;font-weight:600;padding:9px 16px;display:inline-flex;justify-content:center;align-items:center;gap:7px;line-height:1.45}.btn-primary,.btn-success{--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:var(--primary-dark);--bs-btn-hover-border-color:var(--primary-dark);--bs-btn-active-bg:var(--primary-dark);--bs-btn-active-border-color:var(--primary-dark);--bs-btn-disabled-bg:var(--primary);--bs-btn-disabled-border-color:var(--primary)}.btn-outline-primary,.btn-outline-success{--bs-btn-color:var(--primary-dark);--bs-btn-border-color:#a8c7c2;--bs-btn-hover-bg:#eaf6f2;--bs-btn-hover-color:var(--primary-dark);--bs-btn-hover-border-color:var(--primary);--bs-btn-active-bg:var(--primary);--bs-btn-active-border-color:var(--primary)}.btn-outline-secondary{--bs-btn-color:#536a76;--bs-btn-border-color:#ccd8dd;--bs-btn-hover-bg:#edf2f4;--bs-btn-hover-color:var(--ink);--bs-btn-hover-border-color:#95a9b3;--bs-btn-active-bg:#e2ebee;--bs-btn-active-color:var(--ink)}.btn-outline-danger{--bs-btn-color:var(--danger);--bs-btn-border-color:#e2b2b3;--bs-btn-hover-bg:#b83438;--bs-btn-hover-border-color:#b83438}.btn-light{background:#f0f4f5;border-color:#e1e7e9;color:#42606d}.btn-sm{font-size:12px;min-height:34px;padding:6px 10px}.btn-lg{min-height:48px;font-size:14px}.btn-link{text-decoration:none}.btn:disabled{cursor:not-allowed}.icon-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted)}.form-label{font-size:12px;font-weight:600;color:#3f5663;margin-bottom:7px}.required{color:#b83438}.form-control,.form-select{background-color:#fff;border:1px solid #ccd8de;border-radius:7px;min-height:43px;font-size:13px;padding:9px 12px;color:var(--ink)}.form-control::placeholder{color:#768b96}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #087f741a}.form-control[readonly]{background:#f4f7f8;color:#607580}.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}.form-check-input:focus{box-shadow:0 0 0 3px #087f7420}.form-text{font-size:11px;color:var(--muted)}.invalid-feedback{font-size:12px}.is-invalid{border-color:var(--danger)}textarea{resize:vertical}.field{min-width:0}.text-secondary,.text-muted{color:var(--muted)!important}.text-danger{color:var(--danger)!important}.text-success{color:#167451!important}.alert{border-radius:9px;font-size:13px}.alert-success{color:#16573e;background:#eaf7f0;border-color:#c5e7d5}.alert-danger{color:#942c32;background:#fff1f1;border-color:#f1cdce}.alert-info{color:#245c6e;background:#eef6f9;border-color:#d2e5ed}.alert-warning{color:#885c15;background:#fff7e7;border-color:#f0dfb7}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat-card{padding:20px;position:relative}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.stat-label{font-size:12px;color:#5b717d;font-weight:500}.stat-icon{color:var(--primary);background:#edf7f4;width:32px;height:32px;border-radius:8px;display:grid;place-items:center}.stat-value{font-weight:700;font-size:25px;letter-spacing:-.7px;margin:10px 0 4px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.stat-foot{font-size:11px;color:var(--muted)}.stat-card.due-card{background:#fffbf3;border-color:#eee0c5}.due-card .stat-icon{background:#fff0cf;color:#92641a}.due-card .stat-value{color:#976215}.table{font-size:13px;--bs-table-bg:transparent;--bs-table-border-color:#edf1f3;margin-bottom:0}.table th{background:#f7f9fa;color:#617580;font-size:10px;letter-spacing:.5px;font-weight:700;white-space:nowrap;padding:12px 18px}.table td{padding:15px 18px;vertical-align:middle}.table td a{text-decoration:none;font-weight:600}.table tbody tr:hover{background:#fafcfc}.table tbody tr:last-child td{border-bottom:0}.table .money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.table td .subtext{display:block;font-size:11px;color:var(--muted);font-weight:400}.table-responsive{position:relative;max-width:100%;scrollbar-width:thin}.invoice-reference{white-space:nowrap}.status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px;font-weight:600;border-radius:20px;padding:4px 9px;line-height:1.4}.status .icon{width:12px;height:12px}.status-dot{width:5px;height:5px;border-radius:100%;background:currentColor}.status-green{color:#166b49;background:#eaf6ee}.status-amber{color:#825a12;background:#fff1d2}.status-red{color:#ab363c;background:#ffedee}.status-neutral{color:#57717e;background:#eef3f5}.quick-link{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #edf1f3;text-decoration:none;color:var(--ink)}.quick-link:last-child{border-bottom:0;padding-bottom:0}.quick-link>span{flex:1}.quick-link strong{font-size:13px;display:block}.quick-link small{font-size:11px;display:block;color:var(--muted);margin-top:3px}.quick-link>.icon:first-child{color:var(--primary)}.hint-box{padding:15px;border:1px solid #d7e8e3;background:#f3faf6;border-radius:9px;font-size:12px;color:#3f685b}.empty-state{text-align:center;padding:42px 20px}.empty-icon{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:14px;background:#edf4f3;color:var(--primary);margin-bottom:12px}.empty-state h3{font-size:16px;font-weight:600}.empty-state p{font-size:13px;color:var(--muted);max-width:360px;margin:8px auto 16px}.search-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}.search-toolbar .search-field{flex:1;min-width:180px}.search-toolbar .filter-field{min-width:140px}.pagination-wrapper{padding:16px 20px;border-top:1px solid var(--line)}.pagination-wrapper nav>div{gap:15px;flex-wrap:wrap}.pagination{margin-bottom:0;--bs-pagination-color:var(--primary);--bs-pagination-active-bg:var(--primary);--bs-pagination-active-border-color:var(--primary);--bs-pagination-border-color:var(--line);--bs-pagination-focus-box-shadow:0 0 0 3px #087f7420}.pagination .page-link{min-width:36px;text-align:center;font-size:12px}.summary-sticky{position:sticky;top:22px}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:13px}.summary-row strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.summary-total{background:#edf7f3;border-radius:8px;color:#175d4a;padding:14px;margin:14px 0;font-size:16px;font-weight:700}.summary-due{border-top:1px solid var(--line);margin-top:12px;padding-top:16px;font-weight:700;color:#92641a}.items-editor{width:100%;border-collapse:collapse}.items-editor th{padding:10px 6px;font-size:11px;font-weight:600;color:var(--muted);text-align:left}.items-editor td{padding:10px 6px;vertical-align:top;border-top:1px solid #edf1f3}.items-editor .item-description{width:40%}.items-editor .item-qty{width:13%}.items-editor .item-unit{width:13%}.items-editor .item-rate{width:18%}.items-editor .item-total{width:16%;text-align:right}.items-editor .form-control{padding:8px;min-height:42px}.items-editor .item-total output{display:block;padding:9px 0;font-weight:600;font-size:12px;overflow-wrap:anywhere}.item-row .mobile-label{display:none}.row-heading{display:none}.remove-row{width:28px;height:28px;min-height:28px;padding:3px;border:0;color:#a43b42;background:#fff0f1}.remove-row:disabled{opacity:.25}.add-item{border-style:dashed}.form-save-note{font-size:11px;text-align:center;color:var(--muted);margin-top:10px}.item-error{font-size:11px;color:#a62930;margin-top:4px}.note-content{white-space:pre-wrap;overflow-wrap:anywhere}.description-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:150px;max-width:440px}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.detail-meta dt{font-size:11px;color:var(--muted);font-weight:400}.detail-meta dd{font-size:13px;margin:4px 0;overflow-wrap:anywhere}.payment-entry{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.payment-entry:last-child{border:0;padding-bottom:0}.payment-entry small{display:block;color:var(--muted)}.payment-entry .money{font-weight:700;white-space:nowrap}.skip-link{position:absolute;top:-60px;left:12px;background:white;padding:10px;z-index:9999}.skip-link:focus{top:10px}.mobile-drawer{background:var(--nav);color:white;max-width:88vw}.mobile-drawer .offcanvas-body{display:flex;flex-direction:column;padding:20px}.modal-content{background:white;border:0;border-radius:14px}.modal-header,.modal-footer{padding:18px 22px;border-color:var(--line)}.modal-body{padding:22px}.modal-title{font-size:19px;font-weight:700}.login-page{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr;background:white}.login-art{background:var(--nav);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:52px 10%;position:relative;overflow:hidden}.login-art h1{font-size:clamp(30px,3.2vw,48px);font-weight:700;line-height:1.25;color:#fff;max-width:500px;margin:45px 0 24px}.login-art p{color:#b8cfd3;max-width:390px;line-height:1.8}.login-art .brand{margin:0}.login-feature{display:flex;gap:12px;align-items:center;margin:16px 0;color:#e0eded;font-size:14px}.login-feature .icon{color:#d5ee5a}.login-art small{color:#afc3c7;font-size:11px}.login-form-wrap{display:flex;flex-direction:column;padding:30px 10%}.login-form-wrap .language-switch{align-self:flex-end}.login-card{max-width:400px;width:100%;margin:auto;padding:45px 0}.login-card h2{font-size:28px;font-weight:700;margin-bottom:10px}.login-card>p{color:var(--muted);font-size:13px;margin-bottom:32px}.login-mobile-brand{display:none}.password-wrap{position:relative}.password-toggle{position:absolute;right:9px;top:34px;border:0;background:white;color:var(--primary);font-size:11px;padding:7px}.password-wrap input{padding-right:72px}.login-help{font-size:12px;color:var(--muted);text-align:center;line-height:1.8;margin-top:22px}.error-page{min-height:100dvh;display:grid;place-items:center;background:var(--canvas);padding:24px}.error-card{width:100%;max-width:500px;background:white;padding:36px;border:1px solid var(--line);border-radius:16px;text-align:center}.error-code{font-size:52px;color:var(--primary);font-weight:700;margin:12px}.error-card h1{font-size:24px;font-weight:700}.error-card p{color:var(--muted);margin:18px 0 24px}
html[lang=bn] .btn,html[lang=bn] .form-control,html[lang=bn] .form-select,html[lang=bn] .table,html[lang=bn] .summary-row{font-size:15px}html[lang=bn] .form-label,html[lang=bn] .stat-label,html[lang=bn] .quick-link strong{font-size:14px}html[lang=bn] .form-text,html[lang=bn] .table th,html[lang=bn] .stat-foot,html[lang=bn] .status,html[lang=bn] .page-heading p,html[lang=bn] .quick-link small,html[lang=bn] .form-save-note{font-size:13px}
@media(min-width:1600px){.page-content{padding:36px 42px 0}}@media(max-width:1199.98px){.sidebar{width:218px;padding:24px 14px}.topbar{padding:0 24px}.page-content{padding:24px 24px 0}.stat-card{padding:16px}.stat-value{font-size:23px}.table td,.table th{padding-left:13px;padding-right:13px}.page-heading h1{font-size:25px}.items-editor .item-description{width:35%}}@media(max-width:991.98px){.sidebar{display:none}.topbar{height:68px;padding:0 20px}.page-content{padding:24px 20px 0}.summary-sticky{position:static}.login-art{padding:40px 8%}.login-art h1{font-size:32px}.page-heading{align-items:flex-start}.stat-value{font-size:23px}}
@media(max-width:767.98px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.page-heading{flex-wrap:wrap;gap:16px;margin-bottom:20px}.page-heading h1{font-size:25px}.page-actions{width:100%}.page-content{padding:22px 16px 0}.topbar{padding:0 16px}.user-meta{display:none}.topbar-actions{gap:10px}.topbar-divider{display:none}.topbar-label{font-size:12px;max-width:180px}.panel-head,.panel-body{padding:18px}.login-page{display:block}.login-art{display:none}.login-form-wrap{padding:20px 24px;min-height:100dvh}.login-mobile-brand{display:flex;color:var(--ink);margin-bottom:40px}.login-mobile-brand:hover{color:var(--ink)}.login-card{padding:35px 0;max-width:420px}.search-toolbar{padding:16px}.search-toolbar .search-field{min-width:100%}.search-toolbar .filter-field{flex:1}.items-editor,.items-editor tbody{display:block}.items-editor thead{display:none}.items-editor tr.item-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;border:1px solid var(--line);border-radius:9px;padding:14px;margin-bottom:14px;position:relative}.items-editor td{border:0;padding:0;width:auto!important;min-width:0}.items-editor .item-description{grid-column:1/-1;padding-top:22px}.items-editor .item-total{grid-column:1/3;display:flex;align-items:center;justify-content:space-between;text-align:left}.items-editor .item-remove{position:absolute;right:12px;top:9px}.items-editor .mobile-label{display:block;font-size:11px;color:var(--muted);margin:0 0 5px;font-weight:600}.items-editor .row-heading{display:block;font-size:11px;color:var(--muted);position:absolute;top:12px;left:14px}.items-editor .item-total output{padding:0}.items-editor .item-total .mobile-label{margin:0}.items-editor textarea{min-height:65px}.table-responsive .table{min-width:580px}.detail-meta{grid-template-columns:1fr}.description-text{max-width:320px}.page-footer{margin-top:24px}.language-switch button{min-height:32px;padding:4px 7px}.modal-dialog{margin:16px}}@media(max-width:399.98px){.topbar-label{max-width:95px}.avatar{display:none}.stat-card{padding:13px}.stat-value{font-size:21px}.stat-label{font-size:11px}.stat-icon{width:27px;height:27px}.stat-icon .icon{width:16px;height:16px}.page-actions .btn{padding:9px 12px}.panel-body{padding:15px}.items-editor tr.item-row{gap:8px;padding:12px}.page-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.sidebar,.topbar,.offcanvas,.page-footer,.no-print{display:none!important}.page-content{padding:0;max-width:none}.main{width:100%}.panel{box-shadow:none}.workspace{display:block}}
