:root{--green:#164b3f;--mint:#e8f2ec;--ink:#203a33;--muted:#687c74;--line:#dce6df;--paper:#f5f7f3;--gold:#b18036}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Nirmala UI","Noto Sans Bengali",Arial,sans-serif;font-size:15px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:8px;padding:10px 15px;color:var(--ink)}button:hover{background:var(--mint)}button.primary{background:var(--green);color:white;border-color:var(--green)}button.danger{color:#a53333}button:disabled{opacity:.5;cursor:wait}a{color:var(--green)}.layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}aside{background:var(--green);color:#fff;padding:30px 18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{padding:0 12px 28px;border-bottom:1px solid #ffffff30;margin-bottom:20px}.brand b{display:block;font-size:23px}.brand small{color:#bdd6c9}.brand .symbol{font-size:34px;color:#d9c298}nav button{width:100%;text-align:left;border:0;background:transparent;color:#d7e7df;margin:3px 0;padding:12px}nav button.active,nav button:hover{background:#ffffff19;color:white}.sidebar-foot{font-size:12px;color:#bed4c9;margin:25px 12px}.main{padding:28px 36px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;gap:15px}header small{color:var(--muted)}h1{font-size:28px;margin:5px 0 8px}h2{font-size:21px;margin:0 0 16px}h3{font-size:17px}.actions,.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar{margin:24px 0 18px}.toolbar input[type=search]{flex:1;min-width:180px}.toolbar label{display:flex;gap:7px;align-items:center}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}.card small{color:var(--muted)}.card strong{display:block;font-size:29px;margin:13px 0 5px}.card.accent{background:var(--green);color:white}.card.accent small{color:#cde1d5}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.panel{margin-bottom:20px}.muted{color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#edf3ed;font-size:13px;color:#536a60}tbody tr:hover{background:#f7faf7}td.wrap{white-space:normal;min-width:160px}td button{padding:5px 8px;font-size:12px;margin:2px}.badge{background:var(--mint);color:var(--green);border-radius:20px;padding:4px 9px;display:inline-block;font-size:12px}.empty{text-align:center;padding:50px;color:var(--muted)}input,select,textarea{background:white;border:1px solid #cbd8cf;border-radius:7px;padding:10px;width:100%;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #84b49b;outline-offset:1px}textarea{min-height:75px;resize:vertical}label{display:block;font-size:14px}label span{display:block;margin:0 0 6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.auth{max-width:450px;margin:9vh auto;padding:36px;background:white;border:1px solid var(--line);border-radius:16px}.auth label{margin:20px 0}.auth h1{font-size:25px}.auth .symbol{font-size:42px;color:var(--green)}dialog{border:1px solid var(--line);border-radius:14px;width:min(900px,94vw);max-height:90vh;padding:28px;color:var(--ink)}dialog::backdrop{background:#102e266b}.error{color:#ad3030;font-size:14px;white-space:pre-wrap}.report-head{text-align:center;margin-bottom:25px}.report-head h2{margin-bottom:5px}.summary{display:flex;gap:20px;flex-wrap:wrap;padding:18px;background:var(--mint);margin:18px 0;border-radius:9px}.details{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.detail{border-bottom:1px solid var(--line);padding:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.detail small{display:block;color:var(--muted);margin-bottom:5px}.signature{display:flex;justify-content:space-between;margin-top:70px}.notice{padding:14px;background:#fff6df;border-radius:8px;line-height:1.8}.bar{display:flex;align-items:center;gap:12px;margin:14px 0}.bar i{height:12px;display:block;background:#6d9d7c;border-radius:3px}.bar label{min-width:72px}#toast{position:fixed;bottom:24px;right:24px;padding:14px 22px;border-radius:8px;background:var(--green);color:white;display:none;z-index:100}.print-only{display:none}.page-note{font-size:12px;color:var(--muted);margin-top:12px}.module-top{display:flex;justify-content:space-between;align-items:center;margin-top:26px}.print-card{border:1px solid var(--line);padding:26px}.big-amount{font-size:28px;text-align:center;background:var(--mint);padding:20px;margin:18px 0}.mobile-title{display:none}@media(max-width:1000px){.layout{grid-template-columns:200px 1fr}.main{padding:24px 20px}.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:700px){.layout{display:block}aside{position:static;width:100%;height:auto;padding:14px}.brand{padding:0 0 12px;margin:0}.brand b{font-size:20px}.brand .symbol,.sidebar-foot{display:none}nav{display:flex;overflow:auto;gap:5px;margin-top:10px}nav button{width:auto;white-space:nowrap}header{align-items:flex-start}h1{font-size:23px}.main{padding:20px 12px}.form-grid,.details{grid-template-columns:1fr}.card{padding:16px}.card strong{font-size:23px}.toolbar label{width:100%}.toolbar label input{width:auto;flex:1}}@page{size:A4 landscape;margin:12mm}@media print{body{background:white;color:black;font-size:11px}.layout{display:block}aside,header,.toolbar,.module-top,.no-print,#toast,.form-actions{display:none!important}.main{padding:0}.table-wrap,.panel{border:0;border-radius:0;padding:0;overflow:visible}th,td{white-space:normal;padding:7px;border:1px solid #aaa;font-size:10px}thead{display:table-header-group}tr{break-inside:avoid}.print-only{display:block}.report-head h2{font-size:22px}.summary{background:white;border:1px solid #aaa;padding:9px}.badge{color:black;background:white;padding:0}body:has(dialog[open]) #root{display:none}dialog[open]{position:static;display:block;width:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:visible}dialog::backdrop{background:white}.print-card{border:0;padding:10px}.detail{break-inside:avoid}input,select{border:0}.error{display:none}}

.settings-grid{margin-top:24px}
