@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Vazirmatn:wght@400;500;600;700&family=Noto+Sans+Bengali:wght@400;500;600;700&display=swap');
:root{--ink:#172d2b;--muted:#7c8987;--green:#167762;--line:#e5ebe8;--bg:#f6f8f7;--font:'DM Sans','Vazirmatn','Noto Sans Bengali',sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px var(--font);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}aside{width:246px;background:#fff;position:fixed;inset-block:0;inset-inline-start:0;border-inline-end:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column}.brand{font-size:41px;font-weight:700;letter-spacing:-2px;text-decoration:none;color:var(--ink);line-height:1;margin:0 15px 34px;direction:ltr;text-align:start}.brand span{color:var(--green)}.brand b{display:block;font-size:8px;letter-spacing:2.1px;color:var(--muted);margin-top:12px}.workspace{border:1px solid var(--line);padding:12px 9px;border-radius:9px;display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600;margin-bottom:33px}.workspace small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.avatar{display:inline-grid;place-items:center;width:33px;height:34px;border-radius:8px;background:#e5eeea;color:var(--green);font-size:12px;font-weight:700;flex-shrink:0}.avatar.small{width:32px;height:32px;background:#193c35;color:white;border-radius:50%}.dot{width:6px;height:6px;background:#28a783;border-radius:50%;margin-inline-start:auto}aside>label,.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted)}aside>label{margin:0 14px 14px}.nav{display:flex;width:100%;align-items:center;gap:13px;border:0;background:none;color:#64716e;padding:13px 14px;border-radius:7px;margin-bottom:5px;font-size:13px;text-align:start}.nav span{font-size:20px;width:23px}.nav.active{background:#e9f3ee;color:#176e58;font-weight:700}.nav em{margin-inline-start:auto;font-style:normal;background:#d7e9df;font-size:10px;padding:2px 6px;border-radius:4px}.aside-bottom{margin-top:auto;padding:23px 12px 0}.shield{font-size:17px;color:var(--green);margin-bottom:10px}.aside-bottom strong{font-size:12px}.aside-bottom p{font-size:11px;line-height:1.8;color:var(--muted)}.version{font-size:9px;letter-spacing:1.2px;color:#99a39f;display:block;margin-top:23px}.shell{margin-inline-start:246px}header{height:77px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.crumb{font-size:12px;color:var(--muted)}.crumb span{margin:0 15px;color:#c3ccc7}.crumb b{color:var(--ink);font-weight:500}.header-actions{display:flex;align-items:center;gap:20px}.currency{font-size:10px;font-weight:600;letter-spacing:1px;color:#71817a}select{background:#fff;border:1px solid var(--line);border-radius:6px;padding:9px;color:var(--ink)}main{max-width:1600px;margin:auto;padding:37px 38px 28px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:15px}h1{font-size:30px;letter-spacing:-1px;font-weight:550;margin:10px 0}p{color:var(--muted);line-height:1.7}.page-heading p{margin:0;font-size:12px}.primary,.secondary{border-radius:6px;padding:11px 17px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.primary{background:var(--green);color:white;border:1px solid var(--green);box-shadow:0 2px 3px #154f4220}.primary:hover{background:#105f4d}.primary:disabled{opacity:.5}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px}.card-label{display:flex;justify-content:space-between;align-items:center;color:#61716c;font-size:12px;gap:5px}.metric-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;color:#23816b;background:#eaf4ef;font-size:18px}.m1{background:#fbf0e7;color:#b27a43}.m2,.m3{background:#f1f4f2;color:#6a7973}.metric{margin-top:15px;font-size:25px;letter-spacing:-.8px;white-space:nowrap;font-weight:600}.metric small{font-size:11px;font-weight:500;letter-spacing:0;color:var(--muted)}.card p{font-size:10px;margin:10px 0 0}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-heading,.toolbar{padding:21px 23px;display:flex;justify-content:space-between;align-items:center;gap:12px}h2{font-size:15px;margin:0;font-weight:650}.panel-heading p{font-size:11px;margin:6px 0 0}.analytics{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(220px,1fr);gap:22px;margin-bottom:24px}.legend{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px}.legend i{width:7px;height:7px;background:#378b72;border-radius:2px}.legend i.pale{margin-inline-start:10px}.pale{background:#cfe4d8!important}.chart{height:215px;margin:10px 28px 22px;display:flex;gap:30px;background:repeating-linear-gradient(to top,transparent 0,transparent 45px,#f0f3f1 46px,#f0f3f1 47px);padding-top:5px}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px;color:var(--muted)}.bar-space{height:178px;display:flex;align-items:flex-end;justify-content:center;gap:6px;width:100%}.bar{width:23px;background:#368b72;border-radius:4px 4px 0 0;min-height:3px;max-width:40%}.focus{padding:25px}.focus h2{margin-top:9px}.ring{width:122px;height:122px;border:10px solid #e2eee7;outline:1px solid #f3f6f4;border-radius:50%;margin:21px auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring b{font-size:30px;font-weight:550}.ring small{font-size:10px;color:var(--muted)}.focus-row{display:flex;justify-content:space-between;font-size:11px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;color:#687870}.focus-row b{color:var(--ink)}.text-button{border:0;background:none;color:var(--green);font-size:11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:start;white-space:nowrap}th{text-align:start;font-size:10px;font-weight:500;color:#84918b;background:#fafbf9;padding:13px 22px;border-block:1px solid var(--line)}td{padding:17px 22px;border-bottom:1px solid #eff2ef;font-size:11px}tbody tr:last-child td{border-bottom:0}tr[data-invoice],tr[data-contact]{cursor:pointer}tbody tr:hover{background:#fafcfb}td small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.invoice-no{font-weight:600;color:#356f5d}.numeric{font-variant-numeric:tabular-nums}.contact-dot{background:#f1f0e9;display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;margin-inline-end:8px;color:#8a866c;font-size:10px}.badge{display:inline-block;padding:5px 9px;font-size:9px;border-radius:5px;background:#f0f2ef;color:#68756e}.paid{background:#e9f5ee;color:#2a8964}.partial{background:#fff3e1;color:#a87b31}.overdue{background:#ffeded;color:#bd6260}.empty{text-align:center;padding:40px 20px 45px}.empty>span{font-size:30px;color:#b2c8bb}.empty h3{font-size:14px;font-weight:500;margin:12px 0 0}.empty p{font-size:11px;margin:5px 0}footer{display:flex;justify-content:space-between;padding:15px 38px 25px;color:#94a099;font-size:9px;letter-spacing:.7px}.toolbar input{width:270px}.toolbar h2{white-space:nowrap}input,textarea{width:100%;padding:10px 11px;border:1px solid #dce5df;border-radius:5px;background:white;color:var(--ink);font-size:12px}input:focus,select:focus,textarea:focus{outline:2px solid #b3d6c3;border-color:var(--green)}.notice{padding:0 23px;font-size:11px}.report{padding:25px}.report-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-block:25px;gap:25px}.report-metrics span{color:var(--muted);font-size:12px}.report-metrics h2{margin-top:10px;font-size:25px}.report p{font-size:12px}.actions{display:flex;gap:12px;margin-top:20px}.muted{color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;padding:0;width:min(860px,95vw);max-height:90vh;color:var(--ink);box-shadow:0 25px 100px #12362b30}dialog::backdrop{background:#132d2660;backdrop-filter:blur(3px)}body:has(dialog[open]){overflow:hidden}.modal-head{padding:23px 27px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}button.close{border:0;background:none;color:var(--muted);font-size:24px}.modal-body{padding:25px 27px;max-height:65vh;overflow:auto}.modal-foot{padding:17px 27px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;align-items:center}.modal-foot .secondary{font-size:12px;border:1px solid var(--line)}#formError{margin-inline-end:auto;font-size:12px;color:#b24c47}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;margin-bottom:17px}.field select{width:100%}.modal-body h3{font-size:13px}.line{display:grid;grid-template-columns:3fr 1fr 1.4fr 1fr 24px;gap:9px;margin-bottom:13px;align-items:end}.line label{display:flex;flex-direction:column;font-size:10px;gap:7px}.remove{border:0;background:none;color:#bc6961;font-size:20px;padding:8px 0}.calculation{display:flex;justify-content:flex-end;gap:20px;background:#f4f8f5;padding:18px;margin-block:20px;flex-wrap:wrap;font-size:12px}.calculation span b,.calculation strong b{display:block;margin-top:7px}.invoice-paper .paper-head{display:flex;justify-content:space-between;padding-block:10px 25px;border-bottom:1px solid var(--line)}.paper-head h2{font-size:30px;color:var(--green)}#toast{position:fixed;bottom:30px;inset-inline-start:50%;transform:translateX(-50%);background:#183c30;color:white;padding:14px 25px;border-radius:8px;z-index:20;opacity:0;pointer-events:none;font-size:13px}#toast.show{opacity:1}[dir=rtl] body{font-family:'Vazirmatn','DM Sans',sans-serif}[lang=bn] body{font-family:'Noto Sans Bengali','DM Sans',sans-serif}[dir=rtl] .eyebrow,[lang=bn] .eyebrow{letter-spacing:0}[dir=rtl] h1{letter-spacing:0}@media(min-width:1500px){main{padding-top:48px}.metric{font-size:31px}.chart{height:260px}.bar-space{height:220px}}@media(max-width:1150px){aside{width:210px;padding-inline:14px}.shell{margin-inline-start:210px}main{padding:25px 22px}header{padding-inline:22px}.cards{gap:10px}.card{padding:14px}.metric{font-size:21px}.analytics{gap:15px}.legend{display:none}.chart{gap:13px}}@media(max-width:850px){aside{position:static;width:auto;padding:15px;display:block;border-bottom:1px solid var(--line)}.brand{font-size:29px;margin:0 10px}.brand b,.workspace,aside>label,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin-top:18px;gap:3px}.nav{width:auto;white-space:nowrap;font-size:11px;padding:9px}.nav span{font-size:15px;width:auto}.shell{margin:0}header{height:60px}.cards{grid-template-columns:repeat(2,1fr)}.analytics{grid-template-columns:1fr}.focus{display:none}.page-heading{align-items:flex-start}h1{font-size:25px}.crumb{display:none}.header-actions{width:100%;justify-content:flex-end}.currency{margin-inline-end:auto}.report-metrics{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar input{width:100%}.line{grid-template-columns:2fr 1fr 1fr 1fr 20px}.modal-body{padding:18px}.line input{padding:8px 4px}.form-grid{gap:10px}.calculation{gap:12px}.page-heading .primary{padding:11px;white-space:nowrap;font-size:11px}.page-heading p{max-width:240px}footer{padding-inline:22px}.legend{display:none}}@media print{body>*{display:none!important}body>.shell{display:none!important}dialog[open]{display:block!important;position:static;border:0;box-shadow:none;width:100%;max-height:none}dialog::backdrop{background:none}.modal-head,.modal-foot,.actions{display:none}.modal-body{max-height:none;overflow:visible}.invoice-paper{color:#000}table{white-space:normal}}

/* Unified contact accounts */
.account-payable{color:#a16d38}.account-receivable{color:#167762}.statement-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:22px}.statement-controls label{display:flex;flex-direction:column;gap:6px;font-size:11px}.statement-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#f1f7f3;border:1px solid #e0eae3;border-radius:8px;padding:16px;margin:18px 0}.statement-summary small{display:block;color:#7c8987;font-size:10px;margin-bottom:8px}.statement-summary strong{font-size:12px;line-height:1.8}.statement-paper td{white-space:normal;min-width:90px;line-height:1.8}.statement-paper td small{max-width:200px;overflow-wrap:anywhere}.opening-row{background:#f8faf8}.statement-paper .paper-head h2{font-size:20px}.field[hidden]{display:none}.statement-paper table{font-variant-numeric:tabular-nums}@media(max-width:650px){.statement-summary{grid-template-columns:1fr}.statement-controls label{flex:1;min-width:120px}.statement-actions{flex-wrap:wrap}}@media print{.statement-controls,.statement-actions{display:none!important}.statement-summary{break-inside:avoid;grid-template-columns:repeat(3,1fr)}.statement-paper .table-wrap{overflow:visible}.statement-paper th,.statement-paper td{padding:8px;min-width:0}.statement-paper table{white-space:normal;width:100%}dialog{max-height:none!important}tr{break-inside:avoid}}

.persian-date-field{position:relative;display:block;min-width:150px}.persian-date-entry{display:flex;position:relative;align-items:center}.persian-date-text{padding-right:40px;font-variant-numeric:tabular-nums;font-family:var(--font)}.calendar-toggle{position:absolute;right:5px;border:0;background:#edf5ef;color:#167762;border-radius:4px;font-size:20px;padding:1px 7px;line-height:28px}.persian-calendar{display:block;background:white;border:1px solid #d5e4da;border-radius:9px;box-shadow:0 8px 25px #173c2925;padding:12px;margin-top:8px;min-width:260px;max-width:310px;direction:rtl}.persian-calendar[hidden]{display:none}.calendar-heading{display:flex;gap:5px;margin-bottom:10px;align-items:center}.calendar-heading select{padding:6px;font-size:11px;min-width:0;flex:1}.calendar-heading button,.calendar-grid button,.calendar-today{border:0;background:#f2f7f3;border-radius:4px;color:#244c3b;cursor:pointer}.calendar-heading button{font-size:20px;padding:3px 9px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-grid button{min-height:30px;font-size:12px}.calendar-grid button:hover,.calendar-grid button.selected{background:#167762;color:white}.calendar-weekday{font-size:10px;color:#7c8987;padding:5px}.calendar-today{margin-top:9px;padding:5px 13px;font-size:11px}.statement-controls .persian-date-field{min-width:160px}@media print{.persian-calendar,.calendar-toggle{display:none!important}}
