:root{--ink:#17322d;--muted:#71827d;--deep:#103f37;--green:#188a66;--mint:#e4f4ed;--bg:#f3f5f0;--line:#e1e7e1;--red:#d95d49;--shadow:0 14px 40px rgba(17,60,51,.07);font-family:Arial,"Noto Sans Bengali",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}a{text-decoration:none;color:inherit}.app{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--deep);padding:27px 20px;color:#fff;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:11px;font-weight:800}.logo>span,.auth-logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#caec83;color:var(--deep);font-size:18px}.logo small{display:block;color:#a9c2bc;font-size:9px;font-weight:500}.sidebar nav{display:grid;gap:6px;margin-top:48px}.sidebar nav a{padding:12px;border-radius:9px;color:#b9cec8;font-size:13px;font-weight:600}.sidebar nav a b{display:inline-block;width:29px;font-size:16px}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff16;color:#fff}.user{margin-top:auto;padding:14px;border-radius:11px;background:#ffffff12}.user small,.user b{display:block}.user small{color:#a9c2bc;font-size:9px}.user b{font-size:12px;margin:4px 0 9px}.user a{font-size:10px;color:#caec83}.content{padding:30px 38px 50px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.top p,.eyebrow{margin:0;color:#7e8e89;font-size:9px;font-weight:800;letter-spacing:1.1px}.top h1{font-size:24px;margin:4px 0 0}.top-actions{display:flex;gap:8px}.btn{display:inline-block;border:0;border-radius:9px;padding:11px 15px;background:var(--deep);color:#fff;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.btn.light{background:#fff;color:var(--ink);border:1px solid var(--line)}.menu{display:none}.flash{padding:12px 15px;border-radius:9px;margin-bottom:16px;background:var(--mint);color:#126348;font-size:12px}.flash.error{background:#ffe8e3;color:#a64031}.periods{display:flex;width:max-content;background:#e7ebe5;border-radius:9px;padding:4px;margin-bottom:14px}.periods a{padding:7px 12px;border-radius:7px;font-size:10px;font-weight:700;color:#697a75}.periods a.active{background:#fff;color:var(--deep);box-shadow:0 2px 8px #153d3510}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:15px}.kpis article{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.kpis article.dark{background:var(--deep);color:#fff}.kpis p{font-size:11px;color:var(--muted);margin:0}.kpis .dark p{color:#b9d0c9}.kpis strong{display:block;font-size:25px;margin-top:12px}.kpis small{display:block;font-size:9px;color:#8b9894;margin-top:8px}.panel,.form-card,.invoice,.statement-head{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.panel-head,.statement-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.panel-head h2,.statement-head h2{font-size:17px;margin:4px 0}.panel-head a{font-size:10px;color:var(--green);font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:820px}th{background:#fafbf8;padding:11px 14px;text-align:left;color:#80908b;font-size:8px;letter-spacing:.7px;text-transform:uppercase}td{padding:13px 14px;border-top:1px solid #eef1ed;font-size:11px}td small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.green{color:var(--green)!important}.red{color:var(--red)!important}.badge{display:inline-block;padding:5px 8px;border-radius:40px;font-size:8px;font-weight:800;text-transform:uppercase}.badge.paid{background:var(--mint);color:#147152}.badge.due{background:#ffe6e1;color:#ac4434}.row-actions{white-space:nowrap}.row-actions a,.row-actions button,.card-actions a,.card-actions button{border:0;background:none;color:var(--green);font:inherit;font-size:9px;font-weight:700;cursor:pointer;margin-right:8px}.toolbar{display:flex;gap:8px;margin-bottom:14px}.toolbar input,.toolbar select{border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:9px;font:inherit;font-size:11px}.toolbar input{min-width:280px}.customer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.customer-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.avatar{width:40px;height:40px;border-radius:10px;background:var(--mint);color:var(--deep);display:grid;place-items:center;font-weight:800}.customer-card h3{font-size:14px;margin:12px 0 4px}.customer-card>p{font-size:10px;color:var(--muted);margin:0}.customer-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.customer-stats small,.customer-stats b{display:block}.customer-stats small{font-size:8px;color:var(--muted)}.customer-stats b{font-size:11px;margin-top:4px}.card-actions{margin-top:14px}.card-actions form{display:inline}.form-card{padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,dialog label,.auth-card label{font-size:10px;font-weight:700;color:#50625d}.form-grid input,.form-grid select,.form-grid textarea,dialog input,dialog select,.auth-card input{display:block;width:100%;padding:11px;margin-top:6px;border:1px solid #dce4dd;border-radius:8px;font:inherit;font-size:11px;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #188a6619}.form-grid textarea{min-height:80px;resize:vertical}.form-grid .wide{grid-column:1/-1}.form-grid label small{color:var(--green)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.empty{text-align:center;padding:55px;color:var(--muted);font-size:12px}.empty a{color:var(--green);font-weight:700}.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#dceee6,var(--bg) 42%)}.auth-card{width:min(400px,100%);background:#fff;padding:30px;border-radius:18px;border:1px solid var(--line);box-shadow:0 24px 70px #103f3717}.auth-card h1{font-size:24px;margin:15px 0 8px}.auth-card>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:20px}.auth-card label{display:block;margin-top:13px}.auth-card .btn{width:100%;margin-top:20px}.auth-logo{margin-bottom:14px}.statement-head{margin-bottom:14px}.statement-head{border-bottom:1px solid var(--line)}.statement-head p{font-size:10px;color:var(--muted)}.invoice{max-width:900px;margin:auto;padding:30px}.invoice-top{display:flex;justify-content:space-between}.invoice-top h2{font-size:30px;margin:6px 0}.invoice-grid{display:grid;grid-template-columns:1fr 1fr;margin:35px 0}.invoice-grid small,.invoice-grid b{display:block}.invoice-grid small{font-size:9px;color:var(--muted)}.invoice-grid b{margin-top:8px}.invoice-grid p{font-size:11px;color:var(--muted);line-height:1.5}dialog{border:0;border-radius:15px;width:min(400px,calc(100% - 25px));padding:0;box-shadow:0 30px 80px #0b2e2750}dialog::backdrop{background:#08251f99;backdrop-filter:blur(3px)}dialog form{padding:22px}dialog label{display:block;margin:13px 0}.dialog-head{display:flex;justify-content:space-between}.dialog-head h3{margin:0}.dialog-head button{border:0;background:#eef1ed;border-radius:50%;width:30px;height:30px;font-size:18px}@media(max-width:1000px){.app{grid-template-columns:76px 1fr}.sidebar{padding:24px 13px}.logo div,.sidebar nav a:not(.active){font-size:0}.sidebar nav a b{font-size:17px}.user{display:none}.kpis{grid-template-columns:1fr 1fr}.customer-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.app{display:block}.sidebar{position:fixed;z-index:20;width:230px;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.sidebar .logo div,.sidebar .nav a{font-size:13px}.sidebar .user{display:block}.content{padding:20px 14px}.menu{display:block;border:0;background:none;font-size:20px}.top h1{font-size:18px}.top-actions .light{display:none}.kpis{gap:8px}.kpis article{padding:14px}.kpis strong{font-size:20px}.customer-grid,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.toolbar{flex-wrap:wrap}.toolbar input{min-width:0;flex:1}.invoice-grid{grid-template-columns:1fr;gap:20px}}@media print{.sidebar,.top,.flash,.btn,.periods{display:none!important}.app{display:block}.content{padding:0}.invoice,.panel,.statement-head{box-shadow:none;border:0}.invoice{max-width:none}}
