@font-face {
  font-family: 'Noto Sans Bengali';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/noto-bengali-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans Bengali';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/noto-bengali-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans Bengali';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/noto-bengali-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans Bengali';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/noto-bengali-3.ttf) format('truetype');
}

:root{--navy:#101f33;--muted:#728096;--green:#15836e;--line:#e5eaf0;--bg:#f4f6fa;--gold:#c7a76a;font-family:Inter,"Noto Sans Bengali",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1c2b41;background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #6fc6b4;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:var(--navy);color:#d5dfed;padding:30px 18px 20px;overflow:auto;z-index:20;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:white;font-size:20px;font-weight:650;padding:0 6px 24px;letter-spacing:-.5px}.brand small{display:block;font-size:8px;letter-spacing:1.7px;font-weight:500;color:#92a5bf;margin-top:7px}.brand-icon{width:42px;height:46px;border:1px solid #8a7957;border-radius:12px;display:grid;place-content:center;color:#dfc186;font-family:Georgia,serif;font-size:28px;position:relative}.brand-icon span{font-size:11px;position:absolute;right:2px;top:2px}.nav-caption{font-size:9px;letter-spacing:1.7px;color:#6d829e;padding:0 14px}.sidebar nav{display:grid;gap:3px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:9px;color:#aab9ce;font-size:13px;min-height:43px}.sidebar nav a>span{font-size:19px;width:20px;text-align:center}.sidebar nav a:hover{background:#1b304a;color:white}.sidebar nav a.active{background:#20423f;color:#9ae1c9;box-shadow:inset 3px 0 #67b99d}.sidebar-foot{padding:25px 14px 0;margin-top:auto;font-size:10px;color:#8c9eb5}.sidebar-foot small{display:block;padding:8px 12px;color:#637995}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#54bd97;margin-right:6px}.workspace{margin-left:252px}.topbar{height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px;gap:12px}.breadcrumb{font-size:12px;color:#60718a}.breadcrumb span{margin:0 14px;color:#c2cad7}.top-actions{display:flex;gap:16px;align-items:center}.top-actions form{margin:0}.language,.text-button{border:0;background:none;color:#567084;font-size:12px;padding:10px 4px}.avatar{display:grid;place-content:center;background:#e6efeb;color:#356859;border-radius:50%;height:34px;width:34px;font-weight:700}.menu-toggle{display:none}main{max-width:1600px;margin:auto;padding:34px 38px 50px}.page-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:26px}.eyebrow{font-size:9px;font-weight:650;color:#8a9bb0;letter-spacing:2px;margin:0 0 10px}h1{font-size:28px;letter-spacing:-.7px;font-weight:650;margin:0}h2{font-size:16px;margin:0;font-weight:650}h3{font-size:15px}.today{font-size:12px;color:#7e8ca0}.welcome-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #cfe4dc;background:linear-gradient(110deg,#edf6f1,#f7faf7);border-radius:15px;padding:26px 28px;margin-bottom:24px}.welcome-banner h2{font-size:21px;color:#235445}.welcome-banner p{color:#668376;font-size:13px;margin:10px 0 0}.welcome-mark{font-family:Georgia,serif;font-size:65px;color:#b6cdbd}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:13px;padding:22px;position:relative;min-height:128px}.stat-label{font-size:12px;color:#78869b}.stat strong{display:block;font-size:28px;font-weight:650;margin:13px 0 8px;letter-spacing:-.8px}.stat small{color:#8493a6;font-size:11px}.stat-icon{position:absolute;top:18px;right:18px;color:#86a89c;background:#f1f6f4;padding:7px;border-radius:8px}.grid-two{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;margin-bottom:23px;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px}.panel-subtitle{color:var(--muted);font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 18px;border:1px solid #dce4e9;border-radius:8px;color:#43566c;background:white;font-weight:550;font-size:12px}.button.primary{background:var(--green);border-color:var(--green);color:white}.button.danger{color:#b04040;background:#fff5f4;border-color:#f1d7d2}.button:hover{filter:brightness(.97)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;align-items:center}.toolbar input{max-width:300px;margin-left:auto}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-actions a{border:1px solid var(--line);border-radius:10px;padding:18px 12px;color:#4c6074;display:flex;align-items:center;gap:10px;font-size:12px}.quick-actions a>span{color:#388b77;background:#eef7f3;border-radius:8px;padding:8px;font-size:19px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:12px}th{text-align:left;color:#8391a4;font-size:10px;font-weight:550;background:#f7f9fb;letter-spacing:.3px}th,td{padding:15px 13px;border-bottom:1px solid #edf0f4;max-width:320px;overflow:hidden;text-overflow:ellipsis}tbody tr:last-child td{border-bottom:0}.row-actions{display:flex;gap:10px;align-items:center}.row-actions form{margin:0}.row-actions button{background:none;border:0;color:#ad5448;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>span{font-size:12px;color:#607188}.field b{color:#bc6363}.wide{grid-column:1/-1}input,select,textarea{width:100%;background:white;border:1px solid #dce3eb;border-radius:7px;padding:11px 12px;min-height:43px;color:#314359}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #9cd7c5;outline-offset:1px}.form-actions{border-top:1px solid var(--line);padding-top:20px}.alert{padding:15px 18px;border-radius:9px;margin-bottom:22px;line-height:1.7}.alert.success{background:#e6f5ed;color:#267d55}.alert.error{background:#ffeded;color:#994141}.empty{text-align:center;padding:42px 20px;color:#7f8da1}.empty>span{font-size:36px;color:#b5cbbf}.empty h3{color:#64758b}.empty p{font-size:12px;line-height:1.8}.badge{display:inline-block;padding:5px 9px;border-radius:6px;background:#eaf6ee;color:#40845b;font-size:10px}.floor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.unit-tile{padding:16px;border:1px solid #d8e9e1;background:#f5faf7;border-radius:9px;color:#3c7b60}.unit-tile small{display:block;color:#8ba397;font-size:10px;margin-top:8px}.bar-chart{height:190px;display:flex;align-items:flex-end;gap:15px;padding:15px 0 24px;border-bottom:1px solid var(--line);position:relative}.bar-group{display:flex;align-items:flex-end;justify-content:center;gap:3px;position:relative;flex:1;height:100%}.bar{background:#86b9a5;width:16px;border-radius:4px 4px 0 0;min-height:1px}.bar.expense{background:#d6c39c}.bar-group small{position:absolute;bottom:-22px;font-size:9px;color:#8b98aa}.legend{display:flex;gap:15px;font-size:10px;color:#7a8b9d;margin-top:18px}.legend i{display:inline-block;width:8px;height:8px;background:#86b9a5;border-radius:2px;margin-right:5px}.legend .expense i{background:#d6c39c}.progress{height:9px;background:#edf1f6;border-radius:9px;overflow:hidden;margin:16px 0}.progress>span{display:block;height:100%;background:var(--green)}.metric-line{display:flex;justify-content:space-between;font-size:12px;padding:10px 0;border-bottom:1px solid var(--line);gap:15px}.metric-line:last-child{border:0}.muted{color:var(--muted);font-size:12px;line-height:1.8}footer{padding:0 38px 25px;color:#9aa5b4;font-size:10px;display:flex;justify-content:space-between}.guest{background:radial-gradient(ellipse at top,#e7efeb,#f4f6fa 65%);min-height:100vh}.auth-shell{max-width:650px;padding-top:60px}.auth-shell .page-heading{display:block;text-align:center}.auth-shell .today{display:none}.auth-shell .panel{padding:32px}.auth-shell .form-grid{grid-template-columns:1fr}.notice{padding:18px 0;border-bottom:1px solid var(--line)}.notice h3{margin:0 0 9px}.notice p{white-space:pre-wrap;font-size:13px;line-height:1.8}.receipt-total{font-size:30px;color:var(--green);text-align:right;margin-top:25px}details{padding:14px 0}summary{cursor:pointer;font-weight:600}.status-note{background:#fffaeb;border:1px solid #eee3be;padding:15px;border-radius:8px;font-size:12px;line-height:1.7;margin-bottom:20px}@media(min-width:1500px){main{padding:40px 48px}}@media(max-width:1100px){.sidebar{width:220px}.workspace{margin-left:220px}main{padding:25px 22px}.topbar{padding:0 22px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.floor-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s}.menu-open .sidebar{transform:translateX(0);box-shadow:10px 0 60px #0005}.workspace{margin:0}.menu-toggle{display:block;border:0;background:none;font-size:23px;padding:8px}.breadcrumb{display:none}.topbar{height:65px;padding:0 15px}.top-actions{gap:12px}main{padding:25px 16px}.today{display:none}h1{font-size:24px}.page-heading{margin-bottom:20px}.welcome-banner{padding:22px 18px}.welcome-banner h2{font-size:18px}.welcome-mark{display:none}.stats{gap:10px}.stat{padding:17px 14px;min-height:125px}.stat strong{font-size:23px}.stat-icon{display:none}.stat-label{font-size:11px}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.quick-actions{gap:8px}.quick-actions a{padding:13px 9px;font-size:11px}.toolbar input{max-width:none}.floor-grid{grid-template-columns:repeat(2,1fr)}footer{padding:0 16px 20px;line-height:1.7;display:block}footer span{display:block}.auth-shell{padding-top:35px}}@media print{.sidebar,.topbar,footer,.toolbar,.form-actions,.row-actions,.today,button{display:none!important}.workspace{margin:0}main{padding:0}.panel{border:0;padding:0;overflow:visible}.table-wrap{overflow:visible}body{background:white}table{white-space:normal}.page-heading{margin-top:20px}th,td{padding:8px;max-width:none}a{color:black}}

.sidebar-close{display:none}@media(max-width:700px){.sidebar-close{display:block;position:absolute;right:6px;top:3px;border:0;background:transparent;color:#aab9ce;font-size:25px;padding:4px 10px}}

.tenant-photo{width:90px;height:90px;object-fit:cover;border-radius:16px;margin-bottom:22px;border:3px solid white}

.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:10px;background:white;padding:3px}.brand>span:last-child{min-width:0;overflow-wrap:anywhere}button,a,input,select,textarea{scroll-margin-top:80px}:focus-visible{outline:3px solid #d0a84a;outline-offset:3px}@media(max-width:390px){.toolbar{gap:8px}.toolbar .button{font-size:12px}.page-heading h1{font-size:24px}.form-actions .button{width:100%}}

.brand-icon{flex-shrink:0}.table-hint{display:none}@media(max-width:700px){.table-hint{display:block;font-size:11px;color:var(--muted)}.row-actions a,.row-actions button{min-height:44px;display:inline-flex;align-items:center}}@media print{.table-hint{display:none!important}}

.guest-language{text-align:right;margin-bottom:14px}.brand-icon{flex-shrink:0}

.admin-disclosure{margin:20px 0}.admin-disclosure>summary{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.admin-disclosure[open]>summary{margin-bottom:12px}

.payment-choices{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;gap:12px;flex-wrap:wrap}.payment-choices label{display:flex;gap:8px;align-items:center;min-height:44px}.payment-choices input{min-height:20px;width:20px}.payment-choices legend{font-size:13px;color:#567084}

[hidden]{display:none!important}.recovery-code{display:block;font-size:1.1rem;overflow-wrap:anywhere;user-select:all}details.wide>summary{cursor:pointer;padding:14px 0}details.wide>.form-grid{padding-top:18px}

.brand-logo.default-brand{background:transparent;border:0;padding:0;border-radius:12px;object-fit:contain}

/* Administration workspace */
.admin-workspace{max-width:1180px;margin:0 auto}.admin-intro{color:var(--muted);margin:0 0 20px;line-height:1.8}.admin-tabs{display:flex;gap:8px;overflow-x:auto;padding:6px;background:#e9eef4;border-radius:14px;margin:0 0 24px;position:sticky;top:8px;z-index:5}.admin-tabs a{flex:1;white-space:nowrap;text-align:center;padding:12px 16px;color:#526176;border-radius:10px;font-weight:600}.admin-tabs a.active{background:white;color:var(--green);box-shadow:0 2px 8px #101f3310}.admin-workspace .panel{padding:26px;overflow:hidden}.admin-workspace details{border:1px solid var(--line);border-radius:12px;margin:14px 0;background:#fff}.admin-workspace summary{padding:18px;font-weight:600;cursor:pointer;line-height:1.6}.admin-workspace details>.form-grid{padding:0 18px 20px}.admin-workspace .admin-disclosure>.panel{margin:0;border:0;box-shadow:none}.admin-account-picker{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-account-picker select{flex:1;min-width:180px;border:1px solid var(--line);border-radius:9px;padding:12px;max-width:100%}.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.access-card{border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;gap:14px;align-items:center;justify-content:space-between;min-width:0}.access-card span{min-width:0}.access-card strong{display:block;font-size:14px}.access-card small{display:block;color:var(--muted);margin-top:6px;line-height:1.5}.access-card select{width:165px;max-width:48%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.admin-workspace .form-actions{padding-top:12px}.admin-workspace .muted{line-height:1.8}
@media(max-width:760px){.admin-workspace .panel{padding:18px}.admin-tabs{position:static}.admin-tabs a{flex:0 0 auto;padding:11px 14px}.access-grid{grid-template-columns:1fr}.admin-account-picker{align-items:stretch;flex-direction:column}.access-card{padding:13px}.admin-workspace details>.form-grid{padding:0 12px 16px}.admin-workspace .toolbar{flex-wrap:wrap}}

/* Communications keep long messages and addresses within narrow screens. */
.message-preview{white-space:normal;overflow-wrap:anywhere;max-height:24rem;overflow:auto;padding:1rem;background:#f4f7fb;border-radius:10px}.admin-tabs{flex-wrap:wrap}.notice{overflow-wrap:anywhere}

label.wide:has(>input[name="confirm_send"]){display:flex;align-items:flex-start;gap:.65rem}input[name="confirm_send"]{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;margin:.15rem 0 0;accent-color:#16836d}
