:root{--bg:#f5f7fb;--panel:#fff;--text:#162033;--muted:#7b8798;--brand:#0f766e;--brand2:#111827;--line:#e7eaf0;--danger:#dc2626}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Cairo,Inter,system-ui,Segoe UI,Tahoma,Arial}button,input,select,textarea{font:inherit}button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;display:inline-flex}button.secondary{color:var(--brand);background:#eef6f5;margin-bottom:12px}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:12px 14px}textarea{min-height:48px}.login{background:linear-gradient(135deg,#071a2b 0%,#0a3b3a 45%,#08131f 100%);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.loginOrb{filter:blur(90px);pointer-events:none;z-index:0;will-change:transform;border-radius:50%;position:absolute}.loginOrb1{opacity:.55;background:#14b8a6;width:460px;height:460px;animation:20s ease-in-out infinite orbFloat;top:-90px;right:-60px}.loginOrb2{opacity:.45;background:#3b82f6;width:420px;height:420px;animation:24s ease-in-out -8s infinite orbFloat;bottom:-120px;left:-90px}.loginOrb3{opacity:.38;background:#8b5cf6;width:340px;height:340px;animation:28s ease-in-out -14s infinite orbFloat;top:35%;left:28%}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(50px,-36px)scale(1.12)}66%{transform:translate(-34px,26px)scale(.92)}}@media (prefers-reduced-motion:reduce){.loginOrb{animation:none}}.loginGlass{-webkit-backdrop-filter:blur(28px)saturate(160%);z-index:1;border:1px solid #ffffff2e;position:relative;background:#ffffff12!important;box-shadow:0 30px 90px #0000008c,inset 0 1px #ffffff47!important}.loginShell{background:#fff;border-radius:28px;grid-template-columns:1.15fr 1fr;width:min(1120px,100%);min-height:620px;display:grid;overflow:hidden;box-shadow:0 40px 100px #0009}.loginBrandPanel{color:#fff;background:radial-gradient(circle at 12% -5%,#14b8a680 0,#0000 42%),linear-gradient(160deg,#0f766e80,#08131f52 80%);border-inline-start:1px solid #ffffff1f;flex-direction:column;justify-content:space-between;gap:22px;padding:36px 40px;display:flex;position:relative;overflow:hidden}.loginBrandPanel:after{content:"";pointer-events:none;background:radial-gradient(circle at 80% 20%,#ffffff0d 0,#0000 30%);position:absolute;inset:0}.loginBrandTop{z-index:1;flex-direction:column;gap:8px;display:flex;position:relative}.logoLight{color:#fff;align-items:center;gap:8px;display:flex}.logoLight span,.logo.logoLight span{color:#5eead4}.loginBrandTag{color:#8bd8cf;letter-spacing:.3px;font-size:12px;font-weight:600}.loginBrandMid{z-index:1;position:relative}.loginBrandMid h1{letter-spacing:-.4px;margin:0 0 12px;font-size:31px;font-weight:800;line-height:1.35}.loginBrandMid p{color:#cbd5e1;max-width:44ch;margin:0 0 18px;font-size:13px;line-height:1.75}.loginFeatures{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.loginFeatures li{align-items:center;gap:10px;min-width:0;display:flex}.loginFeatureIcon{color:#5eead4;background:#ffffff17;border:1px solid #ffffff14;border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.loginFeatureText{flex-direction:column;gap:1px;display:flex}.loginFeatureText strong{color:#fff;white-space:nowrap;font-size:12.5px;font-weight:700}.loginFeatureText span{color:#9fb0c3;font-size:10.5px;line-height:1.45}.loginBrandBottom{z-index:1;flex-direction:column;gap:14px;display:flex;position:relative}.loginModules{flex-wrap:wrap;gap:7px;display:flex}.loginModuleChip{color:#cbeee8;background:#ffffff12;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;display:inline-flex}.loginModuleChip svg{color:#5eead4}.loginBrandSecure{color:#8fa0b3;border-top:1px solid #ffffff14;align-items:center;gap:7px;padding-top:12px;font-size:11px;display:flex}.loginFormPanel{-webkit-backdrop-filter:blur(18px);background:#ffffffdb;justify-content:center;align-items:center;padding:40px;display:flex}.loginCard{gap:14px;width:min(390px,100%);display:grid}.loginCard .inputIcon input{background:#ffffff8c;border:1px solid #0f766e29;box-shadow:inset 0 1px 2px #ffffff80}.loginCard .inputIcon input:focus{border-color:var(--brand);background:#ffffffd9;outline:none;box-shadow:0 0 0 3px #0f766e1f}.loginCard>button[type=submit],.loginCard button:not(.pwdToggle):not(.secondary){background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:0 10px 24px #0f766e40,inset 0 1px #ffffff40}.loginCard>button:hover{filter:brightness(1.05)}.loginCardHead{text-align:center;margin-bottom:4px}.loginCardLogo{color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6);border-radius:15px;place-items:center;width:52px;height:52px;margin:0 auto 14px;display:grid;box-shadow:0 8px 20px #0f766e40}.loginCard h2{margin:0;font-size:23px;font-weight:800}.loginSub{color:var(--muted);margin:6px 0 0;font-size:13px;display:block}.loginRemember{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin:-2px 0 2px;font-size:13px;display:flex}.loginRemember input{width:16px;min-width:auto;height:16px;accent-color:var(--brand);cursor:pointer;padding:0}.loginFoot{text-align:center;color:#aab4c2;margin-top:6px;font-size:11px}.inputIcon{align-items:center;display:flex;position:relative}.inputIcon svg:first-child{color:var(--muted);pointer-events:none;position:absolute;inset-inline-start:14px}.inputIcon input{width:100%;padding-inline:40px}.pwdToggle{color:var(--muted);background:0 0;border-radius:8px;flex:none;min-width:32px;min-height:32px;padding:6px;position:absolute;inset-inline-end:8px}[dir=rtl] .pwdToggle{left:8px;right:auto}[dir=ltr] .pwdToggle{left:auto;right:8px}.pwdToggle:hover{background:#f1f5f9}.demoHint{border:1px dashed var(--line);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:9px 12px;font-size:12px;display:flex;color:var(--muted)!important;box-shadow:none!important;background:#f8fafc!important}.demoHint:hover{color:var(--brand)!important;background:#f1f5f9!important}.demoHint svg{color:var(--brand);flex-shrink:0}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.err{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:6px;margin:0;padding:9px 12px;font-size:13px;display:flex}@media (width<=940px){.login{background:#fff;padding:0}.loginShell{min-height:100dvh;box-shadow:none;border-radius:0;grid-template-columns:1fr}.loginBrandPanel{display:none}.loginFormPanel{flex-direction:column;justify-content:center;min-height:100dvh;padding:32px 24px}.loginCard{width:100%;max-width:400px}}.brand,.logo{font-size:28px;font-weight:900}.brand span,.logo span{color:var(--brand)}.app{grid-template-columns:270px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#111827;flex-direction:column;gap:12px;height:100vh;padding:22px;display:flex;position:sticky;top:0;overflow-y:auto}aside::-webkit-scrollbar{width:6px}aside::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:6px}aside button{flex-shrink:0}aside .logo{flex-shrink:0;margin-bottom:20px}aside button{color:#d1d5db;background:0 0;border-radius:14px;justify-content:flex-start}aside button.active,aside button:hover{color:#fff;background:#ffffff14}main{padding:28px;overflow:auto}header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}header h2{margin:0;font-size:30px}header p{color:var(--muted);margin:6px 0}.user{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.userAvatar{color:#fff;background:linear-gradient(135deg,#14b8a6,#0f766e);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:14px;font-weight:800;display:grid}.userMeta{flex-direction:column;gap:3px;display:flex}.userName{font-size:13px;font-weight:600}.roleBadge{border-radius:999px;width:fit-content;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.roleBadge.role-ADMIN{color:#b91c1c;background:#fee2e2}.roleBadge.role-SUPERVISOR{color:#0369a1;background:#e0f2fe}.statusBadge{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.statusBadge.status-on{color:#15803d;background:#dcfce7}.statusBadge.status-off{color:#64748b;background:#f1f5f9}.statusBadge.status-cancelled{color:#94a3b8;background:#f1f5f9;text-decoration:line-through}.statusBadge.status-settled{color:#6d28d9;background:#ede9fe}.statusBadge.status-settlement{color:#b45309;background:#fef3c7;font-weight:700}.instTblCancelledDash{color:var(--muted);opacity:.4;padding:0 8px;font-size:14px}.statusBadge.status-pending{color:#b45309;background:#fef3c7}.emptyChart{height:260px;color:var(--muted);text-align:center;place-items:center;padding:0 20px;font-size:13px;display:grid}.formSection{grid-column:1/-1;align-items:center;gap:10px;margin:4px 0 -2px;display:flex}.formSection:first-child{margin-top:0}.formSectionTitle{color:var(--brand);white-space:nowrap;font-size:12px;font-weight:700}.formSection:after{content:"";background:var(--line);flex:1;height:1px}select:disabled{color:var(--muted);cursor:not-allowed;background:#f8fafc}.techRow{display:contents}.techRowHead{color:var(--brand);border-top:1px dashed var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;font-size:12px;font-weight:700;display:flex}.chipPicker{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--text);border:1px solid var(--line);background:#f1f5f9;border-radius:999px;padding:8px 14px;font-size:13px}.chip:hover{background:#e2e8f0}.chip.chipSelected{background:var(--brand);color:#fff;border-color:var(--brand)}.chipHint{color:var(--danger);margin-top:4px;display:block}.headerRight{align-items:center;gap:10px;display:flex}.mobileLogout,.mobileTabs{display:none}@media (width<=1000px){aside{display:none}main{padding-bottom:100px}.mobileLogout{color:var(--muted);background:#f1f5f9;border-radius:12px;padding:9px;display:inline-flex}.mobileTabs{bottom:0;z-index:40;box-shadow:0 -1px 0 var(--line),0 -8px 24px #0000000f;border-top:1px solid var(--line);background:#fff;gap:0;padding:6px 4px 20px;display:flex;position:fixed;inset-inline:0;overflow-x:auto}.mobileTabs button{color:#94a3b8;background:0 0;border-radius:0;flex-direction:column;flex:1;gap:3px;min-width:54px;padding:6px 4px;font-size:10px;font-weight:500}.mobileTabs button span{white-space:nowrap}.mobileTabs button.active{color:var(--brand);background:0 0}.mobileTabs button.active svg{filter:drop-shadow(0 0 6px #0f766e55)}}.permsHint{color:var(--muted);margin:0 0 16px;font-size:14px}.permsList{gap:10px;max-width:420px;margin-bottom:18px;display:grid}.permsRow{border:1px solid var(--line);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.permsRow:hover{background:#f8fafc}.permsRow input{width:16px;height:16px;accent-color:var(--brand)}.permsRow small{color:var(--muted);margin-inline-start:auto}.permsRowLocked{cursor:not-allowed;background:#f8fafc}.viewDetails{gap:16px;display:grid}.viewDetails b{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.viewDetails p{white-space:pre-wrap;margin:0;line-height:1.7}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:24px;min-width:0;box-shadow:0 10px 28px #1018280a}.card{align-items:center;gap:14px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex}.card:hover{transform:translateY(-2px);box-shadow:0 14px 32px #10182814}.cardBody{min-width:0}.card p{color:var(--muted);margin:0;font-size:13px}.card h3{margin:4px 0 0;font-size:26px}.cardIcon{border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.cardIcon.tone-teal{color:#0f766e;background:#ccfbf1}.cardIcon.tone-amber{color:#b45309;background:#fef3c7}.cardIcon.tone-blue{color:#1d4ed8;background:#dbeafe}.cardIcon.tone-purple{color:#7e22ce;background:#f3e8ff}.panel{margin-bottom:16px;padding:20px}.panel h3{margin:0 0 16px}.grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.form{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.form textarea,.form button{grid-column:span 2}.form.compact{grid-template-columns:1fr}.form.compact button{grid-column:auto}.table{border:1px solid var(--line);border-radius:18px;position:relative;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:480px}th,td{text-align:start;border-bottom:1px solid var(--line);vertical-align:top;padding:13px}th{color:#475569;white-space:nowrap;background:#f8fafc;font-size:13px}td{font-size:14px}tr:hover td{background:#fbfdfd}th:last-child,td:last-child{background:#fff;position:sticky;left:0;box-shadow:-6px 0 8px -6px #1018281f}th:last-child{background:#f8fafc}tr:hover td:last-child{background:#fbfdfd}.field{color:var(--muted);flex-direction:column;gap:6px;min-width:0;font-size:12px;display:flex}.field .req{color:var(--danger);margin-inline-start:4px}.form .field.wide{grid-column:span 2}.form.compact .field.wide{grid-column:auto}.panelActions{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.panelTitleIcon{align-items:center;gap:8px;display:flex}.filterBar{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.filterReset{white-space:nowrap;height:46px}@media (width<=1000px){.filterBar{grid-template-columns:1fr 1fr}.filterReset{grid-column:span 2}}.modalOverlay{z-index:100;background:#0f172abf;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modalBox{background:#fff;border-radius:24px;width:min(720px,100%);max-height:90vh;padding:24px;animation:.18s ease-out modalIn;overflow:auto;box-shadow:0 30px 80px #0007}.modalHead{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modalHead h3{margin:0}.iconBtn{color:var(--muted);background:#f1f5f9;border-radius:10px;padding:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1000px){.modalBox{border-radius:18px;padding:18px}}button.danger{color:var(--danger);background:#fee2e2}.actionsCell{white-space:nowrap;gap:6px;display:flex}.actionsCell button{padding:8px 10px}.tableSearch{width:100%;margin-bottom:10px}.pagination{color:var(--muted);justify-content:center;align-items:center;gap:14px;margin-top:10px;font-size:13px;display:flex}.pagination button{padding:8px 14px}.pagination button:disabled{opacity:.4;cursor:not-allowed}.empty{text-align:center;color:var(--muted);padding:24px!important}.toasts{bottom:24px;z-index:50;flex-direction:column;gap:10px;display:flex;position:fixed;inset-inline-end:24px}.toast{color:#fff;border-radius:14px;padding:14px 18px;font-size:14px;animation:.2s ease-out toastIn;box-shadow:0 10px 28px #1018283d}.toast.success{background:var(--brand)}.toast.error{background:var(--danger)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=1000px){.app{grid-template-columns:1fr;align-content:start}aside{height:auto;position:relative}.cards{grid-template-columns:repeat(2,1fr)}.grid2,.form{grid-template-columns:1fr}.form textarea,.form button,.form .field.wide{grid-column:auto}table{min-width:0}main{padding:16px 16px calc(112px + env(safe-area-inset-bottom))}.panel{padding:14px}header{flex-wrap:nowrap;align-items:center;gap:10px}header>div:first-child p{display:none}header h2{margin:0;font-size:20px}.user{border-radius:14px;flex-shrink:0;padding:6px 10px 6px 6px}.userAvatar{width:30px;height:30px;font-size:12px}.userName{font-size:11px}.roleBadge{font-size:9px}.card{gap:10px;padding:14px}.card h3{font-size:22px}.cardIcon{border-radius:12px;width:38px;height:38px}.table{background:0 0;border:none;border-radius:0;overflow:visible}.table table{border:none;display:block}.table thead{display:none}.table tbody{flex-direction:column;gap:10px;display:flex}.table tr{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;gap:0;padding:14px 16px;display:flex;box-shadow:0 2px 10px #0001}.table tr:hover td{background:0 0}.table td{border:none;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;display:flex}.table td:before{content:attr(data-label);color:var(--muted);flex-shrink:0;margin-inline-end:10px;font-size:11px;font-weight:600}.table td[data-label=""]:before{display:none}.table td:last-child{box-shadow:none;border-top:1px solid var(--line);justify-content:flex-start;gap:8px;margin-top:8px;padding-top:10px;position:static}.table td.empty{text-align:center;display:block}th:last-child,td:last-child{box-shadow:none;position:static}.modalOverlay{align-items:flex-end;padding:0}.modalBox{border-radius:28px 28px 0 0;width:100%;max-height:92vh;animation:.28s cubic-bezier(.32,.72,0,1) sheetIn}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.status-danger{color:#dc2626;background:#fee2e2}.status-partial{color:#b45309;background:#fef3c7}.status-warn{color:#1d4ed8;background:#dbeafe}.leaseDetailTitle{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.backBtn{color:var(--text);background:#f1f5f9;border-radius:10px;gap:4px;padding:7px 12px;font-size:14px}.backBtn:hover{background:#e2e8f0}.pageBackBtn{background:var(--surface);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:9px;align-items:center;gap:6px;margin-bottom:14px;padding:7px 14px 7px 10px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.pageBackBtn:hover{background:var(--hover);color:var(--fg);border-color:var(--brand);transform:translate(2px)}.leaseSummary{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:16px;margin-bottom:8px;padding:12px 0;display:flex}.leaseStat{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.leaseStat span{color:var(--text);font-weight:600}.instTable{padding:0 0 4px}.instTableHead{border-top:1px solid var(--line);background:var(--hover);justify-content:space-between;align-items:center;padding:14px 22px 10px;display:flex}.instTableTitle{color:var(--fg);letter-spacing:.2px;align-items:center;gap:7px;font-size:12.5px;font-weight:700;display:flex}.instTableTitle:before{content:"";background:#0f766e;border-radius:2px;width:3px;height:14px}.instTableAdd{border-radius:9px;margin-bottom:0;padding:6px 13px;font-size:12px}.instTableHeadBtns{align-items:center;gap:8px;display:flex}.instGenBtn{color:#7c3aed;border-color:#ddd6fe;border-radius:9px;align-items:center;gap:5px;margin-bottom:0;padding:6px 13px;font-size:12px;display:inline-flex}.instGenBtn:hover{background:#f5f3ff;border-color:#8b5cf6}.genModal{flex-direction:column;gap:14px;display:flex}.genField{color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:12.5px}.genField strong{color:var(--fg)}.genFreqGrid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.genFreqCard{background:var(--surface);border:1.5px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;font-family:inherit;transition:all .15s;display:flex}.genFreqCard:hover{border-color:#a78bfa}.genFreqActive{background:#f5f3ff;border-color:#7c3aed;box-shadow:0 0 0 3px #ede9fe}.genFreqLbl{color:var(--fg);font-size:14px;font-weight:800}.genFreqActive .genFreqLbl{color:#6d28d9}.genFreqSub{color:var(--muted);font-size:11px}.genPreview{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.genPreviewRow{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.genPreviewRow strong{color:#6d28d9;font-size:15px;font-weight:800}.genWarn{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.genConfirmBtn{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:11px;justify-content:center;align-items:center;gap:7px;width:100%;padding:12px 0;font-family:inherit;font-size:14px;font-weight:700;transition:background .15s;display:flex}.genConfirmBtn:hover:not(:disabled){background:#6d28d9}.genConfirmBtn:disabled{opacity:.6;cursor:not-allowed}.instTbl thead th:first-child,.instTbl td:first-child{padding-inline-start:22px}.instTbl thead th:last-child,.instTbl td:last-child{padding-inline-end:22px}.instTableEmpty{color:var(--muted);text-align:center;margin:0;padding:10px 14px;font-size:12px}.instTbl{border-collapse:collapse;width:100%;font-size:12px}.instTbl thead th{text-align:start;color:var(--muted);border-bottom:1px solid var(--line);background:#f8fafc;padding:5px 10px;font-size:10px;font-weight:600}.instTbl tbody tr:hover{background:#f0fdf4}.instTbl tbody tr:nth-child(2n){background:#fafafa}.instTbl td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:6px 10px}.instTbl tbody tr:last-child td{border-bottom:none}.instTblDate{color:var(--text);white-space:nowrap}.instTblAmt{white-space:nowrap;font-weight:700}.instTblCur{color:var(--muted);font-size:10px;font-weight:400}.instTblBarWrap{align-items:center;gap:6px;display:flex}.instTblBar{background:#e2e8f0;border-radius:4px;flex-shrink:0;width:70px;height:5px;overflow:hidden}.instTblBarFill{background:var(--brand);border-radius:4px;height:100%;transition:width .4s}.instTblPct{color:var(--muted);min-width:26px;font-size:10px}.instTblActions{white-space:nowrap;width:1%}.instTblActionsWrap{justify-content:flex-end;gap:4px;display:flex}.instTblActionsWrap button{border-radius:7px;margin-bottom:0;padding:4px 6px}.statusBadgeSm{padding:2px 7px;font-size:10px}.instList,.instCard{display:none}.paymentsModal{flex-direction:column;gap:4px;display:flex}.paymentsList{flex-direction:column;gap:8px;max-height:280px;display:flex;overflow-y:auto}.paymentRow{border:1px solid var(--line);background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.payRowMain{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.payAmount{color:#15803d;font-weight:800}.payDate,.payBy,.payStamp{color:var(--muted);align-items:center;gap:3px;font-size:11.5px;display:inline-flex}.payBy{color:#1d4ed8;font-weight:600}.payStamp{color:#94a3b8}.payNotes{color:var(--muted);font-size:11.5px}.payLockedNote{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:9px;align-items:center;gap:7px;margin-bottom:10px;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.instHistoryBtn{color:#475569;border-color:var(--line);border-radius:9px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.instHistoryBtn:hover{background:var(--hover)}.tenantPhone{color:var(--muted);margin-inline-start:8px;font-size:13px;font-weight:400}.leaseTabsRow{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:14px;padding-bottom:14px;display:flex}.leaseTab{color:var(--muted);background:#f1f5f9;border-radius:10px;padding:7px 14px;font-size:13px}.leaseTab:hover{background:#e2e8f0}.leaseTabActive{background:var(--brand);color:#fff}.instProgress{align-items:center;gap:8px;margin-top:5px;display:flex}.instProgressBar{background:var(--brand);border-radius:4px;height:4px;transition:width .4s}.instProgress span{color:var(--muted);white-space:nowrap;font-size:10px}.tenantListHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.tenantListTitle{color:var(--text);align-items:center;gap:10px;display:flex}.tenantListTitle h2{margin:0;font-size:20px;font-weight:700}.tenantListCount{background:var(--brand);color:#fff;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.6}.tenantListActions{align-items:center;gap:10px;display:flex}.tenantSearch input{border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;min-width:220px;height:38px;padding:0 14px;font-family:inherit;font-size:13px}.tenantSearch input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0f766e15}.tenantRows{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;gap:0;display:flex;overflow:hidden}.tenantRow{cursor:pointer;border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:13px 16px;transition:background .15s;display:flex;position:relative}.tenantRow:last-child{border-bottom:none}.tenantRow:hover{background:var(--hover)}.tenantRowIdx{color:var(--muted);text-align:center;flex-shrink:0;width:22px;font-size:11px;font-weight:600}.tenantRowAvatar{color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:16px;font-weight:800;display:grid}.tenantRowMain{flex:1;min-width:0}.tenantRowName{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;display:block;overflow:hidden}.tenantRowMeta{flex-wrap:wrap;align-items:center;gap:14px;margin-top:3px;display:flex}.tenantRowMetaItem{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.tenantRowActions{flex-shrink:0;align-items:center;gap:6px;display:flex}.tenantRowViewBtn{color:var(--brand);cursor:pointer;white-space:nowrap;background:#f0fdf4;border:1px solid #a7f3d0;border-radius:7px;align-items:center;gap:5px;padding:4px 12px;font-size:12px;font-weight:600;display:flex}.tenantRowViewBtn:hover{background:#dcfce7}.tenantEmpty{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.tenantProfile{border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 2px 12px #0001}.tenantProfileBg{background:linear-gradient(135deg,var(--brand) 0%,#0e7490 60%,#1d4ed8 100%);height:64px}.tenantProfileBody{padding:0 24px 20px;position:relative}.tenantProfileMain{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:18px;padding-top:14px;display:flex}.tenantProfileAvatarWrap{flex-shrink:0;margin-top:-46px;position:relative}.tenantProfileAvatar{color:#fff;border:4px solid #fff;border-radius:20px;place-items:center;width:72px;height:72px;font-size:30px;font-weight:800;display:grid;box-shadow:0 4px 14px #0002}.tenantProfileActiveDot{bottom:6px;background:#22c55e;border:2px solid #fff;border-radius:50%;width:13px;height:13px;position:absolute;inset-inline-end:6px}.tenantProfileInfo{flex:1;min-width:0;padding-bottom:2px}.tenantProfileName{color:var(--fg);margin:0;font-size:20px;font-weight:800}.tenantProfileContacts{flex-wrap:wrap;gap:16px;margin-top:6px;display:flex}.tenantProfileContact{color:var(--muted);align-items:center;gap:5px;font-size:12.5px;font-weight:500;display:flex}.tenantProfileContact svg{color:var(--brand);opacity:.8}.tenantProfileActions{flex-wrap:wrap;align-self:flex-end;gap:8px;margin-inline-start:auto;display:flex}.tenantProfileActions button{margin-bottom:0}.tenantProfileStats{border:1px solid var(--line);background:linear-gradient(#f8fafc,#f1f5f9);border-radius:14px;align-items:center;gap:0;padding:16px 20px;display:flex}.tenantProfileStat{text-align:center;flex:1}.tenantProfileStatVal{font-size:20px;font-weight:800;line-height:1;display:block}.tenantProfileStatLbl{color:var(--muted);margin-top:5px;font-size:10.5px;font-weight:600;display:block}.tenantProfileStatDiv{background:var(--line);flex-shrink:0;width:1px;height:38px}.tenantLeasesSection{flex-direction:column;gap:0;display:flex}.tenantLeasesEmpty{border:1px solid var(--line);color:var(--muted);text-align:center;background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 20px;display:flex}@media (width<=600px){.tenantGrid{grid-template-columns:1fr}.tenantProfileStats{flex-wrap:wrap;gap:12px}.tenantProfileStatDiv{display:none}.tenantProfileStat{flex:1 0 40%}.tenantSearch input{min-width:160px}.tenantListHeader{flex-direction:column;align-items:stretch}.tenantListActions{justify-content:space-between}}.leaseBlock{border:1px solid var(--line);border-inline-end:4px solid var(--brand);background:#fff;border-radius:12px;margin-bottom:10px;overflow:hidden;box-shadow:0 1px 4px #0001}.leaseBlockExpired{opacity:.82;border-inline-end-color:#cbd5e1}.leaseBlockStrip{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.leaseBlockMeta{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.leaseBlockBadge{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.leaseBlockBadgeActive{color:#15803d;background:#dcfce7}.leaseBlockBadgeExpired{color:#94a3b8;background:#f1f5f9}.leaseBlockBadgeReview,.statusBadge.status-review{color:#b45309;background:#fef3c7}.leaseBlockLocation{white-space:nowrap;align-items:center;gap:5px;font-size:13px;font-weight:600;display:flex}.leaseBlockPhone{color:var(--muted);font-size:11px;font-weight:400}.leaseBlockDates{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.leaseBlockFin{flex-shrink:0;align-items:center;gap:8px;display:flex}.leaseBlockFinItem{flex-direction:column;align-items:center;gap:1px;display:flex}.leaseBlockFinVal{font-size:13px;font-weight:700;line-height:1}.leaseBlockFinLbl{color:var(--muted);font-size:9px}.leaseBlockFinGreen{color:#15803d}.leaseBlockFinRed{color:#dc2626}.leaseBlockSep{background:var(--line);width:1px;height:28px}.leaseBlockBar{background:#f1f5f9;height:3px}.leaseBlockBarFill{background:linear-gradient(90deg,var(--brand),#0e7490);height:100%;transition:width .5s}.leaseBlockExpired .leaseBlockBarFill{background:#94a3b8}.aptPageHeader{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.aptSearch{flex:1;min-width:200px;margin-bottom:0}.villaSection{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:14px;overflow:hidden;box-shadow:0 1px 4px #0001}.villaSectionHeader{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f0fdf4,#f8fafc);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.villaSectionTitle{color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.villaSectionArea{color:var(--muted);background:#e2e8f0;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:400}.villaSectionRight{align-items:center;gap:10px;display:flex}.villaSectionCount{color:var(--muted);background:#f1f5f9;border-radius:20px;padding:3px 10px;font-size:12px}.lbRoot{z-index:600;color:#e2e8f0;background:radial-gradient(1200px 600px at 80% -10%,#12324a,#0a1a2b 55%,#060f1a);flex-direction:column;gap:16px;padding:20px 24px;font-family:inherit;display:flex;position:fixed;inset:0;overflow:hidden}.lbLoading{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:16px}.lbSpin{color:#14b8a6;animation:.9s linear infinite spin}.lbHeader{flex:none;justify-content:space-between;align-items:center;gap:16px;display:flex}.lbBrand{letter-spacing:.5px;align-items:center;gap:12px;font-size:22px;font-weight:800;display:flex}.lbBrandIcon{color:#2dd4bf}.lbLive{color:#4ade80;background:#22c55e24;border:1px solid #4ade804d;border-radius:20px;align-items:center;gap:7px;margin-inline-start:8px;padding:4px 12px;font-size:12px;font-weight:700;transition:transform .3s;display:flex}.lbLivePulse{transform:scale(1.08)}.lbLiveDot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse;box-shadow:0 0 8px #4ade80}.lbClock{flex-direction:column;align-items:center;line-height:1.1;display:flex}.lbTime{font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:30px;font-weight:900}.lbDate{color:#94a3b8;font-size:12px}.lbExit{color:#cbd5e1;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.lbExit:hover{background:#ffffff1f}.lbKpis{flex:none;grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.lbKpi{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;padding:16px 18px;position:relative;overflow:hidden}.lbKpi:before{content:"";top:0;width:4px;height:100%;position:absolute;inset-inline-start:0}.lbKpiTop{color:#94a3b8;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.lbKpiVal{font-variant-numeric:tabular-nums;margin:8px 0 4px;font-size:34px;font-weight:900;line-height:1.1}.lbKpiSub{color:#64748b;font-size:12px}.lbKpiDanger .lbKpiTop svg{color:#f87171}.lbKpiDanger:before{background:#ef4444}.lbKpiDanger .lbKpiVal{color:#fca5a5}.lbKpiGreen .lbKpiTop svg{color:#4ade80}.lbKpiGreen:before{background:#22c55e}.lbKpiGreen .lbKpiVal{color:#86efac}.lbKpiAmber .lbKpiTop svg{color:#fbbf24}.lbKpiAmber:before{background:#f59e0b}.lbKpiAmber .lbKpiVal{color:#fcd34d}.lbKpiTeal .lbKpiTop svg{color:#2dd4bf}.lbKpiTeal:before{background:#14b8a6}.lbKpiTeal .lbKpiVal{color:#5eead4}.lbKpiBlue .lbKpiTop svg{color:#60a5fa}.lbKpiBlue:before{background:#3b82f6}.lbKpiBlue .lbKpiVal{color:#93c5fd}.lbMain{flex:auto;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr;gap:16px;min-height:0;display:grid}.lbCard{background:#ffffff09;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;min-height:0;padding:14px 18px;display:flex}.lbCardTitle{color:#cbd5e1;flex:none;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.lbCardTitle svg{color:#2dd4bf}.lbChartBox{flex:auto;min-height:0}.lbEmpty{color:#64748b;place-items:center;height:100%;font-size:14px;display:grid}.lbCardDonut{align-items:center}.lbDonutBox{flex:auto;width:100%;min-height:0;position:relative}.lbDonutCenter{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lbDonutPct{color:#fff;font-size:40px;font-weight:900;line-height:1}.lbDonutTxt{color:#94a3b8;margin-top:2px;font-size:13px}.lbLegend{flex-wrap:wrap;flex:none;justify-content:center;gap:16px;margin-top:8px;display:flex}.lbLegendItem{color:#cbd5e1;align-items:center;gap:6px;font-size:12px;display:flex}.lbLegendDot{border-radius:3px;width:11px;height:11px}.lbOverdueList{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow:hidden}.lbOverdueRow{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:12px;padding:8px 12px;display:flex}.lbOverdueDays{text-align:center;color:#fca5a5;background:#ef444424;border-radius:8px;flex:none;min-width:40px;padding:5px 4px;font-size:12px;font-weight:800}.lbOverdueInfo{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lbOverdueName{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.lbOverdueUnit{color:#64748b;font-size:11px}.lbOverdueAmt{color:#fca5a5;font-variant-numeric:tabular-nums;flex:none;font-size:16px;font-weight:800}@media (width<=1200px){.lbKpis{grid-template-columns:repeat(3,1fr)}.lbMain{grid-template-columns:1fr 1fr}}.payAmountRow{align-items:stretch;gap:8px;display:flex}.payAmountRow input{flex:1}.payAllBtn{white-space:nowrap;color:var(--brand);cursor:pointer;background:#f0fdf4;border:1px solid #a7f3d0;border-radius:9px;align-items:center;gap:5px;margin-bottom:0;padding:0 14px;font-size:12.5px;font-weight:700;transition:background .15s;display:flex}.payAllBtn:hover{background:#dcfce7}.payAllBtn:active{transform:scale(.97)}.aptDetailHeader{border:1px solid var(--line);background:#fff;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px 20px;display:flex;box-shadow:0 1px 4px #0001}.aptDetailInfo{align-items:center;gap:14px;min-width:0;display:flex}.aptDetailAvatar{color:#fff;background:linear-gradient(135deg,#0e7490,#0f766e);border-radius:16px;flex-shrink:0;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 3px 10px #0f766e33}.aptDetailText{min-width:0}.aptDetailName{color:var(--fg);margin:0;font-size:19px;font-weight:800}.aptDetailMeta{flex-wrap:wrap;align-items:center;gap:14px;margin-top:5px;display:flex}.aptDetailMetaItem{color:var(--muted);align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.aptDetailMetaItem svg{color:var(--brand);opacity:.8}.aptDetailActions{flex-shrink:0;align-items:center;gap:10px;display:flex}.aptDetailStatus{white-space:nowrap;border-radius:20px;padding:5px 12px;font-size:12px;font-weight:700}.aptDetailStatusRented{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5}.aptDetailStatusAvail{color:#15803d;background:#f0fdf4;border:1px solid #86efac}.villaSectionHeaderClickable{cursor:pointer;-webkit-user-select:none;user-select:none}.villaSectionHeaderClickable:hover{background:linear-gradient(135deg,#e7fbef,#eef2f7)}.villaChevron{color:var(--muted);flex-shrink:0;transition:transform .2s}.villaChevronOpen{transform:rotate(180deg)}.villaSectionAdd{border-radius:9px;margin-bottom:0;padding:5px 12px;font-size:12px}.aptCountChip{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.aptCountRented{color:#0f766e;background:#eef6f5}.aptCountAvail{color:#b45309;background:#fffbeb}.aptCountChip.aptCountZero{color:#94a3b8;background:#f1f5f9}.aptRows{flex-direction:column;display:flex}.aptRow{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;padding:11px 16px;transition:background .12s;display:flex}.aptRow:last-child{border-bottom:none}.aptRow:hover{background:var(--hover)}.aptRowDot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.aptRowDotRented{background:#dc2626}.aptRowDotAvail{background:#22c55e}.aptRowNo{color:var(--fg);flex-shrink:0;min-width:56px;font-size:15px;font-weight:800}.aptRowStatus{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:2px 9px;font-size:10.5px;font-weight:700}.aptRowStatusRented{color:#dc2626;background:#fef2f2}.aptRowStatusAvail{color:#15803d;background:#f0fdf4}.aptRowMeta{flex-wrap:wrap;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.aptRowType{color:var(--text);font-size:12.5px;font-weight:600}.aptRowMetaItem{color:var(--muted);align-items:center;gap:4px;font-size:11.5px;display:flex}.aptRowMetaItem svg{opacity:.7}.aptRowActions{flex-shrink:0;align-items:center;gap:6px;display:flex}.aptRowBtn{border-radius:8px;align-items:center;gap:5px;margin-bottom:0;padding:5px 12px;font-size:12px;display:flex}.aptRowActions .iconBtn{border-radius:8px;margin-bottom:0;padding:5px 7px}@media (width<=700px){.aptRow{flex-wrap:wrap;gap:8px}.aptRowMeta{flex-basis:100%;order:3}}.leasesHeader{margin-bottom:16px}.leasesSummaryBar{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px;display:grid}.leasesSumCard{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.leasesSumCardMain{border-color:var(--brand);background:#f0fdf4}.leasesSumVal{font-size:20px;font-weight:800;line-height:1}.leasesSumLbl{color:var(--muted);font-size:11px}.leasesToolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.leasesFilterTabs{gap:6px;display:flex}.leasesFilterTab{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#f1f5f9;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;line-height:1.35;display:flex}.leasesFilterTab:hover{background:#e2e8f0}.leasesFilterTabActive{background:var(--brand);color:#fff;border-color:var(--brand)}.leasesFilterTabActive:hover{background:#0e6b63}.leasesFilterCount{background:#0000001f;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex}.leasesFilterTabActive .leasesFilterCount{background:#ffffff40}.leasesToolbarRight{align-items:center;gap:10px;display:flex}.leasesGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.leasesGridInSection{gap:12px;padding:14px}.leaseRows{flex-direction:column;display:flex}.leaseRow{border-bottom:1px solid var(--line);cursor:pointer;border-inline-end:3px solid #22c55e;align-items:center;gap:18px;padding:13px 18px;transition:background .12s;display:flex}.leaseRow:last-child{border-bottom:none}.leaseRow:hover{background:var(--hover)}.leaseRowExpired{border-inline-end-color:#cbd5e1}.leaseRowReview{background:#fffdf7;border-inline-end-color:#f59e0b}.leasesFilterTabReview{color:#b45309;border-color:#fde68a}.leaseRowMain{flex:1;align-items:center;gap:12px;min-width:180px;display:flex}.leaseRowIdentity{flex-direction:column;gap:4px;min-width:0;display:flex}.leaseRowTenant{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.leaseRowAptChip{color:var(--brand);background:#f0fdf4;border:1px solid #a7f3d0;border-radius:20px;align-self:flex-start;padding:1px 9px;font-size:10.5px;font-weight:700}.leaseRowDates{color:var(--muted);white-space:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:5px;font-size:11.5px;display:flex}.leaseRowFin{flex-shrink:0;justify-content:flex-end;align-items:center;gap:20px;display:flex}.leaseRowFinItem{flex-direction:column;align-items:center;gap:2px;min-width:70px;display:flex}.leaseRowFinVal{font-size:14px;font-weight:800;line-height:1}.leaseRowFinLbl{color:var(--muted);font-size:10px}.leaseRowProgress{flex-shrink:0;align-items:center;gap:8px;width:130px;display:flex}.leaseRowProgressBar{background:#e2e8f0;border-radius:6px;flex:1;height:6px;overflow:hidden}.leaseRowProgressFill{background:var(--brand);border-radius:6px;height:100%;transition:width .4s}.leaseRowPct{color:var(--muted);white-space:nowrap;text-align:end;direction:ltr;flex:0 0 46px;font-size:11px;font-weight:700}.leaseRowActions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;display:flex}.leaseRowViewBtn{white-space:nowrap;border-radius:8px;align-items:center;gap:5px;margin-bottom:0;padding:6px 12px;font-size:12px;display:flex}.leaseRowActions .iconBtn{border-radius:8px;margin-bottom:0;padding:6px 8px}@media (width<=1100px){.leaseRow{flex-wrap:wrap;gap:12px}.leaseRowProgress{order:5;width:100%}.leaseRowActions{margin-inline-start:auto}}.leaseCard{border:1px solid var(--line);cursor:pointer;border-inline-end:4px solid var(--brand);background:#fff;border-radius:16px;flex-direction:column;gap:10px;padding:16px;transition:box-shadow .18s,transform .18s,border-color .18s;display:flex}.leaseCard:hover{border-color:#99f6e4;transform:translateY(-2px);box-shadow:0 6px 24px #0f766e18}.leaseCardExpired{opacity:.85;border-inline-end-color:#cbd5e1}.leaseCardExpired:hover{border-color:#cbd5e1}.leaseCardHeader{justify-content:space-between;align-items:center;display:flex}.leaseCardActions{gap:5px;display:flex}.leaseCardTenant{font-size:15px;font-weight:700}.leaseCardLocation{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.leaseCardAptChip{color:var(--brand);background:#f0fdf4;border:1px solid #a7f3d0;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.leaseCardDates{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.leaseCardFinRow{border:1px solid var(--line);border-radius:10px;gap:0;display:flex;overflow:hidden}.leaseCardFin{text-align:center;border-inline-start:1px solid var(--line);flex:1;padding:8px 6px}.leaseCardFin:last-child{border-inline-start:none}.leaseCardFinVal{font-size:13px;font-weight:700;line-height:1;display:block}.leaseCardFinLbl{color:var(--muted);margin-top:3px;font-size:9px;display:block}.leaseCardProgressWrap{align-items:center;gap:8px;display:flex}.leaseCardProgressBar{background:#f1f5f9;border-radius:6px;flex:1;height:6px;overflow:hidden}.leaseCardProgressFill{background:linear-gradient(90deg,var(--brand),#0e7490);border-radius:6px;height:100%;transition:width .5s}.leaseCardPct{color:var(--muted);text-align:end;flex-shrink:0;width:28px;font-size:11px;font-weight:700}.leaseCardViewBtn{border:1px solid var(--line);width:100%;color:var(--brand);cursor:pointer;background:#f8fafc;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:2px;padding:7px;font-size:12px;font-weight:600;display:flex}.leaseCardViewBtn:hover{background:#f0fdf4;border-color:#a7f3d0}.leaseDetailPage{flex-direction:column;gap:14px;display:flex}.leaseDetailInstSection{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:4px 0;box-shadow:0 1px 4px #0001}.ldCard{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 2px 12px #0001}.ldCardTop{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 16px;display:flex}.ldCardLeft{flex:1;min-width:0}.ldCardBadges{align-items:center;gap:8px;margin-bottom:8px;display:flex}.ldOverdueBadge{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.ldCardName{color:var(--fg);margin:0;font-size:20px;font-weight:800;line-height:1.2}.ldCardMeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.ldCardMeta span{align-items:center;gap:4px;display:flex}.ldCardMetaSep{background:var(--line);width:1px;height:12px}.ldCardActions{flex-shrink:0;align-items:center;gap:8px;display:flex}.ldCardStats{background:var(--hover);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.ldStat{border-inline-start:1px solid var(--line);padding:14px 16px}.ldStat:last-child{border-inline-start:none}.ldStatLbl{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;font-size:10px;font-weight:600;display:block}.ldStatVal{color:var(--fg);font-size:18px;font-weight:800;line-height:1;display:block}.ldStatVal em{color:var(--muted);margin-inline-start:2px;font-size:10px;font-style:normal;font-weight:500}.ldStatBig{font-size:22px}.ldStatGreen .ldStatVal{color:#15803d}.ldStatRed .ldStatVal{color:#dc2626}.ldStatBlue .ldStatVal{color:#1d4ed8}.ldProgressWrap{align-items:center;gap:12px;padding:12px 22px;display:flex}.ldProgressTrack{background:var(--line);border-radius:6px;flex:1;height:6px;overflow:hidden}.ldProgressFill{border-radius:6px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.ldProgressLabel{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}@media (width<=768px){.leasesSummaryBar{grid-template-columns:repeat(3,1fr)}.leasesSumCard:nth-child(4),.leasesSumCard:nth-child(5){grid-column:span 1}.leasesGrid{grid-template-columns:1fr}.leaseDetailStats{grid-template-columns:repeat(2,1fr)}.leaseDetailStatDiv{display:none}.leasesToolbar{flex-direction:column;align-items:stretch}.leasesToolbarRight{justify-content:space-between}}@media (width<=480px){.leasesSummaryBar{grid-template-columns:repeat(2,1fr)}.leasesSumCard:first-child{grid-column:span 2}}.ldDepositChip{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;align-items:center;gap:6px;margin-top:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.ldDepositType{color:#fff;background:#1d4ed8;border-radius:10px;padding:1px 7px;font-size:10px}.ldDepositNotes{color:#3b82f6;font-weight:400}.ldTerminateBtn{color:#b45309;border-color:#fde68a}.ldTerminateBtn:hover{background:#fef3c7;border-color:#f59e0b}.ldTerminatedBadge{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.ldRenewBtn{color:#0d9488;border-color:#99f6e4}.ldRenewBtn:hover{background:#f0fdfa;border-color:#14b8a6}.renewHint{color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;border-radius:9px;grid-column:1/-1;align-items:center;gap:7px;margin-bottom:2px;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.renewHint svg{flex-shrink:0}.terminateModal{flex-direction:column;gap:14px;display:flex}.terminateCalcBox{background:var(--hover);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.terminateCalcRow{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.terminateCalcRow strong{color:var(--fg);font-size:14px;font-weight:700}.terminateCalcDivider{border-top:1px dashed var(--line);margin:4px 0}.terminateCalcHighlight{color:#1d4ed8;background:#eff6ff;border-radius:8px;margin:2px -4px;padding:6px 10px}.terminateCalcHighlight strong{color:#1d4ed8}.terminateUnpaid{border:1px solid #fecaca;border-radius:12px;overflow:hidden}.terminateUnpaidTitle{color:#dc2626;background:#fef2f2;border-bottom:1px solid #fecaca;padding:7px 14px;font-size:11px;font-weight:700}.terminateUnpaidRow{border-bottom:1px solid #fee2e2;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;font-size:12px;display:flex}.terminateUnpaidRow:last-child{border-bottom:none}.terminateResult{border:2px solid;border-radius:12px;align-items:center;gap:14px;padding:16px;display:flex}.terminateResultOwes{background:#fef2f2;border-color:#fca5a5}.terminateResultRefund{background:#f0fdf4;border-color:#86efac}.terminateResultIcon{flex-shrink:0;font-size:28px}.terminateResultTitle{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.terminateResultAmt{margin:3px 0;font-size:26px;font-weight:900;line-height:1.1}.terminateResultOwes .terminateResultAmt{color:#dc2626}.terminateResultRefund .terminateResultAmt{color:#15803d}.terminateResultSub{color:var(--muted);font-size:11px}.terminateDepositNote{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:5px;margin-top:6px;padding:5px 10px;font-size:11px;font-weight:600;display:flex}.terminateCalcDeposit{color:#1d4ed8;background:#eff6ff;border-radius:8px;margin:2px -4px;padding:5px 10px}.terminateCalcDeposit strong{color:#1d4ed8}.terminateChargesSection{background:#fffbeb;border:1.5px solid #fde68a;border-radius:12px;flex-direction:column;gap:8px;margin-top:14px;padding:14px 16px;display:flex}.terminateChargesHeader{color:#b45309;align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.terminateChargesOpt{color:#a16207;font-size:11px;font-weight:500}.terminateChargeRow{background:#fff;border:1px solid #fde68a;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:6px 10px;font-size:12.5px;display:grid}.terminateChargeDesc{color:var(--fg);font-weight:600}.terminateChargeAmt{color:#b45309;white-space:nowrap;font-weight:700}.terminateChargesTotal{color:#92400e;border-top:1px dashed #fde68a;justify-content:space-between;align-items:center;margin-top:2px;padding-top:8px;font-size:13px;display:flex}.terminateChargesTotal strong{color:#b45309;font-size:15px}.terminateDepositSection{background:#f0f9ff;border:1.5px solid #bae6fd;border-radius:12px;flex-direction:column;gap:8px;margin-top:14px;padding:14px 16px;display:flex}.terminateDepositHeader{color:#0369a1;border-bottom:1px solid #bae6fd;align-items:center;gap:7px;margin-bottom:2px;padding-bottom:8px;font-size:13px;font-weight:700;display:flex}.terminateDepositLine{justify-content:space-between;align-items:center;padding:3px 0;font-size:12.5px;display:flex}.terminateDepositLine span:first-child{color:var(--muted)}.terminateAddDeduction{border-top:1px dashed #bae6fd;gap:6px;margin-top:4px;padding-top:10px;display:flex}.terminateAddDesc{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;flex:1;padding:6px 10px;font-family:inherit;font-size:12px}.terminateAddAmt{border:1px solid var(--line);background:var(--surface);width:90px;color:var(--fg);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:12px}.terminateDepositResult{border-radius:9px;justify-content:space-between;align-items:center;margin-top:4px;padding:10px 14px;font-weight:700;display:flex}.terminateDepositResultPos{background:#dcfce7;border:1.5px solid #86efac}.terminateDepositResultNeg{background:#fef2f2;border:1.5px solid #fca5a5}.terminateDepositResultLbl{font-size:12px}.terminateDepositResultPos .terminateDepositResultLbl{color:#15803d}.terminateDepositResultNeg .terminateDepositResultLbl{color:#b91c1c}.terminateDepositResultVal{font-size:18px}.terminateDepositResultPos .terminateDepositResultVal{color:#15803d}.terminateDepositResultNeg .terminateDepositResultVal{color:#dc2626}.terminateCheckNote{color:#64748b;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:12px;align-items:center;gap:8px;margin-top:14px;padding:12px 14px;font-size:12px;font-weight:600;display:flex}.terminateCheckNote svg{color:#94a3b8;flex-shrink:0}.tpPreview{border:1.5px solid var(--line);border-radius:12px;margin-top:14px;overflow:hidden}.tpPreviewTitle{color:var(--fg);background:var(--surface);border-bottom:1.5px solid var(--line);align-items:center;gap:7px;padding:11px 16px;font-size:12px;font-weight:700;display:flex}.tpRow{border-bottom:1px solid var(--line);background:var(--bg);border-inline-end:4px solid #0000;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 16px;display:grid}.tpRow:last-child{border-bottom:none}.tpRowOk{background:#f0fdf4;border-inline-end-color:#22c55e}.tpRowAdj{background:#fffbeb;border-inline-end-color:#f59e0b}.tpRowCancel{background:#fff5f5;border-inline-end-color:#ef4444}.tpRowNew{background:#f0fdf4;border-inline-end-color:#22c55e}.tpRowIcon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:900;display:flex}.tpRowOk .tpRowIcon{color:#16a34a;background:#dcfce7}.tpRowAdj .tpRowIcon{color:#b45309;background:#fde68a}.tpRowCancel .tpRowIcon{color:#dc2626;background:#fee2e2}.tpRowNew .tpRowIcon{color:#16a34a;background:#dcfce7}.tpRowBody{flex-direction:column;gap:3px;min-width:0;display:flex}.tpRowDate{color:var(--fg);font-size:12px;font-weight:700}.tpRowSub{color:var(--muted);font-size:11.5px}.tpRowAction{white-space:nowrap;letter-spacing:.2px;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.tpRowOk .tpRowAction{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.tpRowAdj .tpRowAction{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.tpRowCancel .tpRowAction{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.tpRowNew .tpRowAction{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.villasPageHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.villasPageTitle{color:var(--text);align-items:center;gap:10px;display:flex}.villasPageTitle h2{margin:0;font-size:20px;font-weight:700}.villasPageActions{align-items:center;gap:10px;display:flex}.villasSummaryBar{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;display:grid}.villasSumCard{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:14px 16px}.villasSumVal{font-size:22px;font-weight:800;line-height:1;display:block}.villasSumLbl{color:var(--muted);margin-top:4px;font-size:11px;display:block}.villasGrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.villaCard2{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden;box-shadow:0 2px 8px #0001}.villaCard2:hover{transform:translateY(-4px);box-shadow:0 10px 32px #0003}.villaCard2Inactive{opacity:.6}.villaCard2Accent{flex-shrink:0;height:4px}.villaCard2Inner{flex-direction:column;flex:1;gap:12px;padding:18px 18px 16px;display:flex}.villaCard2Top{align-items:flex-start;gap:12px;display:flex}.villaCard2Avatar{color:#fff;letter-spacing:-1px;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:17px;font-weight:800;display:flex;box-shadow:0 2px 8px #0002}.villaCard2Info{flex:1;min-width:0}.villaCard2Name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:700;line-height:1.3;overflow:hidden}.villaCard2Area{color:var(--muted);align-items:center;gap:3px;margin-top:4px;font-size:11px;display:flex}.villaCard2Right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.villaCard2Status{white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:700}.vc2Active{color:#15803d;background:#dcfce7;border:1px solid #86efac}.vc2Inactive{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1}.villaRowStatus{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:3px 10px;font-size:10px;font-weight:700}.villaRowStatus.vc2Active{color:#15803d;background:#dcfce7;border:1px solid #86efac}.villaRowStatus.vc2Inactive{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1}.villaRowNotes{text-overflow:ellipsis;white-space:nowrap;opacity:.85;max-width:280px;overflow:hidden}.villaCardActions{gap:4px;display:flex}.villaCard2Notes{color:var(--muted);-webkit-line-clamp:2;background:var(--hover);border-radius:8px;-webkit-box-orient:vertical;margin:0;padding:8px 12px;font-size:11.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.villaCard2Stats{border:1px solid var(--line);border-radius:10px;align-items:center;gap:0;display:flex;overflow:hidden}.villaCard2Stat{text-align:center;flex:1;padding:8px 4px}.villaCard2StatDivider{background:var(--line);align-self:stretch;width:1px}.vc2StatNum{color:var(--fg);font-size:20px;font-weight:800;line-height:1;display:block}.vc2StatLbl{color:var(--muted);margin-top:2px;font-size:10px;display:block}.villaCard2BarTrack{background:var(--hover);border-radius:4px;height:4px;overflow:hidden}.villaCard2BarFill{border-radius:4px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}@media (width<=600px){.villasSummaryBar{grid-template-columns:repeat(2,1fr)}.villasGrid{grid-template-columns:1fr}.villasPageHeader{flex-direction:column;align-items:stretch}.villasPageActions{justify-content:space-between}}.ptKpiBar{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.ptKpiCard{border:1px solid var(--line);text-align:center;cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;transition:all .15s;display:flex}.ptKpiCard:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0001}.ptKpiCardActive{box-shadow:inset 0 0 0 2px}.ptKpiCount{font-size:22px;font-weight:900;line-height:1}.ptKpiLabel{color:var(--muted);font-size:12px;font-weight:600}.ptKpiAmt{font-size:11px;font-weight:700}.ptToolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.ptFilters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ptSelect{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:130px;height:38px;padding:0 12px;font-family:inherit;font-size:13px}.ptDateInput{border:1px solid var(--line);background:#fff;border-radius:10px;width:138px;height:38px;padding:0 10px;font-family:inherit;font-size:13px}.ptDateSep{color:var(--muted);font-weight:600}.ptResetBtn{height:38px;margin-bottom:0;padding:0 14px;font-size:13px}.ptTotal{color:var(--muted);font-size:13px;font-weight:600}.ptLoading{color:var(--muted);justify-content:center;padding:48px;display:flex}.ptMonth{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:10px;overflow:hidden;box-shadow:0 1px 4px #0001}.ptMonthCurrent{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),0 2px 8px #0f766e18}.ptMonthHeader{cursor:pointer;text-align:start;background:#f8fafc;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.ptMonthCurrent .ptMonthHeader{background:linear-gradient(90deg,#f0fdf4,#f8fafc)}.ptMonthHeader:hover{background:#f1f5f9}.ptMonthHeaderRight{flex-shrink:0;align-items:center;gap:8px;min-width:140px;display:flex}.ptMonthName{color:var(--text);font-size:14px;font-weight:700}.ptMonthCurrentBadge{background:var(--brand);color:#fff;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700}.ptMonthOverdueBadge{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:20px;align-items:center;gap:3px;padding:2px 8px;font-size:10px;font-weight:700;display:flex}.ptMonthHeaderLeft{color:var(--muted);align-items:center;gap:10px;display:flex}.ptMonthMiniBar{background:#e2e8f0;border-radius:5px;width:60px;height:5px;overflow:hidden}.ptMonthMiniBarFill{background:var(--brand);border-radius:5px;height:100%}.ptMonthPct{text-align:end;min-width:28px;font-size:11px;font-weight:700}.ptMonthCount{white-space:nowrap;font-size:11px}.ptMonthAmt{color:var(--text);white-space:nowrap;font-size:12px;font-weight:700}.ptMonthBody{overflow-x:auto}.ptTable{border-collapse:collapse;width:100%;min-width:600px;font-size:13px}.ptTable thead th{color:var(--muted);text-align:start;border-bottom:1px solid var(--line);white-space:nowrap;background:#fafafa;padding:8px 12px;font-size:11px;font-weight:700}.ptRow td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 12px}.ptRow:last-child td{border-bottom:none}.ptRow:hover td{background:#f8fafc}.ptRow-overdue td:first-child{border-inline-end:3px solid #dc2626}.ptRow-collected td:first-child{border-inline-end:3px solid #15803d}.ptRow-due_soon td:first-child{border-inline-end:3px solid #b45309}.ptRow-partial td:first-child{border-inline-end:3px solid #7c3aed}.ptRow-upcoming td:first-child{border-inline-end:3px solid #94a3b8}.ptRowToday{background:#fffbeb!important}.ptRowToday td{background:0 0!important}.ptRowDate{white-space:nowrap}.ptRowDateMain{font-size:13px;font-weight:700}.ptRowTodayBadge{color:#fff;vertical-align:middle;background:#f59e0b;border-radius:20px;margin-inline-start:4px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.ptRowTenant{white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-weight:600;overflow:hidden}.ptRowLoc{flex-direction:column;gap:2px;display:flex}.ptRowVilla{color:var(--muted);font-size:12px}.ptRowApt{color:var(--brand);font-size:11px;font-weight:600}.ptRowAmt{white-space:nowrap;text-align:end;font-weight:700}.ptRowCollected{min-width:90px}.ptRowProgress{align-items:center;gap:6px;display:flex}.ptRowProgressBar{background:#e2e8f0;border-radius:5px;width:50px;height:5px;overflow:hidden}.ptRowProgressFill{background:var(--brand);border-radius:5px;height:100%}.ptRowProgressPct{color:var(--muted);min-width:28px;font-size:11px}.ptRowAction{white-space:nowrap}@media (width<=768px){.ptKpiBar{grid-template-columns:repeat(2,1fr)}.ptToolbar{flex-direction:column;align-items:stretch}.ptFilters{flex-wrap:wrap}.ptDateInput{width:calc(50% - 16px)}}.ptToolbarLeft{align-items:center;gap:.5rem;display:flex}.ptTotal{color:var(--muted);white-space:nowrap;font-size:.85rem}.ptExpandBtn{background:var(--surface);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:6px;padding:.3rem .7rem;font-size:.78rem}.ptExpandBtn:hover{background:var(--hover);color:var(--fg)}.ptPrintBtn{opacity:.7;border-radius:5px;padding:.25rem .4rem}.ptPrintBtn:hover{opacity:1;color:#1e40af}.ptKpiTop{justify-content:center;align-items:center;gap:.4rem;margin-bottom:.25rem;display:flex}.ptKpiIcon{font-size:1.1rem;line-height:1}.ptKpiPulse{background:#dc2626;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.ptKpiAmtCur{margin-top:1px;font-size:.75rem;font-weight:700;display:block}.ptKpiSub{color:var(--muted);margin-top:2px;font-size:.72rem;display:block}.dashRoot{flex-direction:column;gap:14px;padding-bottom:24px;display:flex}.dashHeader{color:#fff;background:linear-gradient(135deg,#0f2027,#203a43,#0f766e);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:18px 24px;display:flex}.dashHeaderRight{align-items:center;gap:12px;display:flex}.dashHeaderTitle{align-items:center;gap:8px;font-size:20px;font-weight:800;display:flex}.dashHeaderIcon{color:#5eead4}.dashLiveChip{background:#ffffff1f;border:1px solid #fff3;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:700;display:flex}.dashLiveDot{background:#4ade80;border-radius:50%;width:7px;height:7px;animation:1.5s infinite pulse;box-shadow:0 0 6px #4ade80}.dashHeaderLeft{align-items:center;gap:10px;display:flex}.dashLastUpdated{color:#ffffffb3;font-size:11px}.dashRefreshBtn{font-size:12px;color:#fff!important;background:#ffffff26!important;border:1px solid #ffffff40!important;border-radius:10px!important;padding:6px 12px!important}.dashRefreshSpin svg{animation:.8s linear infinite spin}.dashSectionLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;padding-inline-start:4px;font-size:12px;font-weight:700;display:flex}.dashKpiRow{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=900px){.dashKpiRow{grid-template-columns:repeat(2,1fr)}}.dashKpiRowOwner{grid-template-columns:auto repeat(3,1fr);align-items:stretch;margin-top:12px}.dashOwnerTag{writing-mode:vertical-rl;color:#b45309;white-space:nowrap;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:10px 6px;font-size:11.5px;font-weight:800;display:flex;transform:rotate(180deg)}@media (width<=900px){.dashKpiRowOwner{grid-template-columns:repeat(2,1fr)}.dashOwnerTag{writing-mode:horizontal-tb;grid-column:1/-1;padding:7px 12px;transform:none}}.dashKpi{border:1px solid var(--line);background:#fff;border-radius:18px;flex-wrap:wrap;align-items:flex-start;gap:6px 14px;padding:16px 18px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.dashKpi:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1018280f}.dashKpiIcon{border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.dashKpiBody{flex:1;min-width:0}.dashKpiVal{white-space:nowrap;font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:24px;font-weight:900;line-height:1.1}.dashKpiLabel{color:var(--muted);font-size:12px;line-height:1.5}.dashKpiSub{border-top:1px dashed var(--line);color:var(--muted);white-space:normal;flex:1 0 100%;margin-top:4px;padding-top:9px;font-size:11.5px;line-height:1.5}.dashKpiAlert{top:10px;background:#dc2626;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse;position:absolute;inset-inline-end:10px}.dashKpi-teal .dashKpiIcon{color:#0f766e;background:#ccfbf1}.dashKpi-teal .dashKpiVal{color:#0f766e}.dashKpi-amber .dashKpiIcon{color:#b45309;background:#fef3c7}.dashKpi-amber .dashKpiVal{color:#b45309}.dashKpi-blue .dashKpiIcon{color:#1d4ed8;background:#dbeafe}.dashKpi-blue .dashKpiVal{color:#1d4ed8}.dashKpi-purple .dashKpiIcon{color:#7e22ce;background:#f3e8ff}.dashKpi-purple .dashKpiVal{color:#7e22ce}.dashKpi-green .dashKpiIcon{color:#15803d;background:#dcfce7}.dashKpi-green .dashKpiVal{color:#15803d}.dashKpi-danger .dashKpiIcon{color:#dc2626;background:#fee2e2}.dashKpi-danger .dashKpiVal{color:#dc2626}.dashKpi-danger{border-color:#fecaca}.dashOccupancy{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:20px;padding:16px 24px;display:flex}.dashOccCard{text-align:center;min-width:70px}.dashOccNum{font-size:28px;font-weight:900}.dashOccLabel{color:var(--muted);font-size:12px}.dashOccRented .dashOccNum{color:#dc2626}.dashOccAvail .dashOccNum{color:#15803d}.dashOccBarWrap{text-align:center;flex:1}.dashOccBarTrack{background:#f1f5f9;border-radius:8px;height:12px;margin-bottom:6px;overflow:hidden}.dashOccBarFill{background:linear-gradient(90deg,#0f766e,#14b8a6);border-radius:8px;height:100%;transition:width .5s}.dashOccPct{color:var(--text);font-size:13px;font-weight:700}.dashChartsRow{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=800px){.dashChartsRow{grid-template-columns:1fr}}.dashChart{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px 18px}.dashChartTitle{color:var(--text);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.dashBottomRow{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=800px){.dashBottomRow{grid-template-columns:1fr}}.dashDonutWrap{align-items:center;gap:8px;display:flex}.dashDonutCenter{text-align:start;flex-direction:column;flex:1;gap:3px;display:flex}.dashDonutBig{color:var(--text);font-size:32px;font-weight:900;line-height:1}.dashDonutLbl{color:var(--muted);font-size:12px}.dashDonutLegend{flex-direction:column;gap:5px;margin-top:8px;display:flex}.dashLegendItem{color:var(--text);align-items:center;gap:6px;font-size:12px;display:flex}.dashLegendDot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.dashChartOcc{align-items:center;display:flex}.dashDonutWrapWide{justify-content:center;gap:24px;width:100%}.dashOccStats{gap:12px;margin-top:12px;display:flex}.dashOccStat{border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 18px;display:flex}.dashOccStatNum{font-size:22px;font-weight:900;line-height:1}.dashOccStatLbl{color:var(--muted);font-size:11px;font-weight:600}.dashOccStatR{background:#f0fdf4}.dashOccStatR .dashOccStatNum{color:#0f766e}.dashOccStatA{background:#f8fafc}.dashOccStatA .dashOccStatNum{color:#64748b}.dashPanel.dashPanelWide{max-height:none;overflow:visible}.dashDuo{gap:14px;display:grid}.dashDuo>.dashPanel{min-width:0}@media (width>=1550px){.dashDuo{grid-template-columns:1fr 1fr;align-items:stretch}.dashDuo>.dashPanel{flex-direction:column;display:flex}.dashDuo .dashMoreNote{margin-top:auto}.dashDuo .colOpt{display:none}}.dashPanelCount{color:#dc2626;background:#fee2e2;border-radius:20px;margin-inline-start:6px;padding:1px 9px;font-size:11px;font-weight:800}.dashTableWrap{border:1px solid var(--line);border-radius:12px;overflow:visible}.ownTabs+.dashTableWrap{border-top:none;border-radius:0 0 12px 12px}.dashTable{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.dashTable thead th{z-index:1;text-align:start;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#f8fafc;padding:9px 12px;font-size:11px;font-weight:700;position:sticky;top:0}.dashTable tbody td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:11px 12px}.dashTable tbody tr:last-child td{border-bottom:none}.dashTable tbody tr:hover td{background:#f8fafc}.dashTable tbody tr td:first-child{border-inline-start:3px solid #0000}.dashRowLate td:first-child{border-inline-start-color:#dc2626}.dashRowSoon td:first-child{border-inline-start-color:#f59e0b}.dashRowPaid td:first-child{border-inline-start-color:#86efac}.dashRowLate td{background:#fffbfb}.dashRowPaid td{color:var(--muted)}.dashTdAmt,.dashTable tbody td.dashTdAmt{font-variant-numeric:tabular-nums}.dashTdTenant{color:var(--text);font-weight:700}.dashTdSub{color:var(--muted);margin-top:2px;font-size:11px}.dashTdUnit{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:inline-flex}.dashTdDate{color:var(--muted);white-space:nowrap;font-size:12px}.dashDaysBadge{color:#b45309;white-space:nowrap;background:#fef3c7;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700}.dashDaysBadgeHi{color:#dc2626;background:#fee2e2}.dashDaysBadgeCrit{color:#fff;background:#dc2626}.dashTdAmt{color:#dc2626;white-space:nowrap;font-weight:800}.dashTable tbody td.ownPaidCell{color:#15803d;font-weight:700}.dashTdAmtMuted{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.villaOcc{align-items:center;gap:8px;min-width:132px;margin-inline-start:auto;display:flex}.villaOccBar{background:#eef2f7;border-radius:6px;flex:1;min-width:56px;height:6px;overflow:hidden}.villaOccFill{background:var(--brand);border-radius:6px;height:100%}.villaOccFree{color:#b45309;white-space:nowrap;background:#fef3c7;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:800}.villaOccFull{color:#15803d;white-space:nowrap;background:#dcfce7;border-radius:20px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}@media (width<=900px){.villaOcc{flex:100%;order:5;margin-inline-start:0}}.permsRowLabel{flex-direction:column;gap:1px;min-width:0;display:flex}.permsScopeNote{color:var(--muted);font-size:11px;font-style:normal;font-weight:600;line-height:1.4}.finVillaRow{cursor:pointer}.finVillaRow:hover>td{background:#f8fafc}.finVillaRow.open>td{background:#f1f5f9}.finVillaChev{vertical-align:middle;color:var(--muted);transition:transform .18s}.finVillaChev.open{transform:rotate(180deg)}.finVillaDetailRow>td{background:#fbfcfd;padding:10px 14px!important}.finVillaItems{gap:6px;display:grid}.finVillaItem{grid-template-columns:minmax(120px,1fr) 2fr auto 42px;align-items:center;gap:10px;font-size:12px;display:grid}.finVillaItemName{color:var(--text);font-weight:600}.finVillaItemBar{background:#eef2f7;border-radius:6px;height:7px;overflow:hidden}.finVillaItemBar i{background:#dc2626;border-radius:6px;height:100%;display:block}.finVillaItem.parts .finVillaItemBar i{background:#94a3b8}.finVillaItemAmt{color:#dc2626;font-variant-numeric:tabular-nums;font-weight:800}.finVillaItem.parts .finVillaItemAmt{color:var(--muted)}.finVillaItemPct{color:var(--muted);text-align:end;font-size:11px;font-weight:700}.finVillaEmpty{color:var(--muted);padding:4px 2px;font-size:12px}@media (width<=700px){.finVillaItem{grid-template-columns:1fr auto;gap:4px}.finVillaItemBar,.finVillaItemPct{display:none}}.renewModal{gap:12px;display:grid}.renewFacts{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.renewFacts>div{border:1px solid var(--line);background:#f8fafc;border-radius:12px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.renewFacts span{color:var(--muted);font-size:10.5px;font-weight:600}.renewFacts b{color:var(--text);font-size:13px}.renewWarn{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:600;display:flex}.renewLbl{color:var(--muted);font-size:11.5px;font-weight:700}.renewText{border:1px solid var(--line);resize:vertical;white-space:pre-wrap;background:#fff;border-radius:12px;width:100%;padding:12px 14px;font-family:inherit;font-size:13px;line-height:1.8}.renewText:focus{border-color:var(--brand);outline:none}.renewActions{flex-wrap:wrap;gap:8px;display:flex}.renewActions button{align-items:center;gap:6px;display:inline-flex}@media (width<=700px){.renewFacts{grid-template-columns:repeat(2,1fr)}}.renewSentChip{color:#15803d;white-space:nowrap;background:#dcfce7;border-radius:20px;align-items:center;gap:3px;padding:2px 8px;font-size:10.5px;font-weight:800;display:inline-flex}.renewBtn{color:#0f766e}.renewBtn.sent{color:#94a3b8}.renewBtn:disabled{opacity:.55;cursor:default}.ptMoreBtn{border:1px dashed var(--line);width:100%;color:var(--brand);cursor:pointer;background:#f8fafc;border-radius:10px;margin-top:8px;padding:9px;font-family:inherit;font-size:12.5px;font-weight:700;display:block}.ptMoreBtn:hover{border-color:var(--brand);background:#eef6f5}.dashMoreNote{text-align:center;color:var(--muted);border:1px dashed var(--line);background:#f8fafc;border-radius:10px;margin-top:10px;padding:7px;font-size:11.5px;font-weight:600}.dashPanelHint{color:var(--muted);margin-inline-start:auto;font-size:11px;font-weight:600}.dashRowMonth td{background:#f5f9ff}.dashRowMonth:hover td{background:#eaf2ff}.monthChip{color:#1d4ed8;vertical-align:middle;background:#dbeafe;border-radius:20px;margin-inline-start:6px;padding:1px 7px;font-size:10px;font-weight:800;display:inline-block}.ovCardMonth{background:#f8fbff;border-color:#bfdbfe}.dashTdAmt small{color:var(--muted);font-size:10px;font-weight:500}.dashTdAction{text-align:end}.dashPayBtn{background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:9px;align-items:center;gap:5px;padding:7px 14px;font-size:12.5px;font-weight:700;transition:filter .15s;display:inline-flex}.dashPayBtn:hover{filter:brightness(1.08)}.dashPayBtn:active{transform:scale(.97)}.dashPayInfo{border:1px solid var(--line);background:#f8fafc;border-radius:12px;flex-wrap:wrap;grid-column:1/-1;gap:10px;margin-bottom:4px;padding:12px 14px;display:flex}.dashPayInfo>div{flex-direction:column;gap:2px;min-width:90px;display:flex}.dashPayInfoLbl{color:var(--muted);font-size:10.5px;font-weight:600}.dashPayInfoVal{color:var(--text);font-size:13px;font-weight:700}.dashPanel{border:1px solid var(--line);background:#fff;border-radius:18px;max-height:340px;padding:16px 18px;overflow-y:auto}.dashPanelTitle{color:var(--text);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.dashActivityRow{border-bottom:1px solid #f1f5f9;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.dashActivityRow:last-child{border-bottom:none}.dashActivityDot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.dashActivityDot-maint{background:#0f766e}.dashActivityBody{flex:1;min-width:0}.dashActivityMain{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.dashActivityChip{color:#0f766e;background:#f0fdf4;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600}.dashActivitySub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.dashActivityMeta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.dashActivityCost{color:#b45309;font-size:11px;font-weight:700}.dashActivityDate{color:var(--muted);font-size:10px}.dashOverdueRow{border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;padding:8px 0;display:flex}.dashOverdueRow:last-child{border-bottom:none}.dashOverdueDays{color:#dc2626;background:#fee2e2;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:grid}.dashOverdueAmt{color:#dc2626;white-space:nowrap;text-align:end;font-size:14px;font-weight:800}.dashOverdueAmt span{color:var(--muted);font-size:10px;font-weight:500}.dashNoOverdue{color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:24px;font-size:13px;display:flex}.importWrap{flex-direction:column;gap:16px;display:flex}.importDropZone{border:2px dashed var(--brand);text-align:center;cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:36px 24px;transition:background .15s;display:flex}.importDropZone:hover{background:#f0fdf4}.importDropZone p{color:var(--text);margin:0;font-size:15px;font-weight:600}.importDropZone small{color:var(--muted);font-size:12px}.importLoading{color:var(--muted);align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.importErrors{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;font-size:13px}.importErrors ul{margin:6px 0 0;padding-inline-start:18px}.importErrors li{margin-bottom:3px}.importCounts{flex-wrap:wrap;gap:8px;display:flex}.importCountChip{color:var(--brand);background:#f0fdf4;border:1px solid #a7f3d0;border-radius:20px;padding:4px 14px;font-size:13px}.importCountChip b{margin-inline-end:4px;font-weight:800}.importTabs{border-bottom:2px solid var(--line);flex-wrap:wrap;gap:6px;padding-bottom:0;display:flex}.importTab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;margin-bottom:-2px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.importTab.active{color:var(--brand);border-bottom-color:var(--brand)}.importTabCount{color:#0284c7;background:#e0f2fe;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}.importTab.active .importTabCount{color:var(--brand);background:#d1fae5}.importTableWrap{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.importTable{border-collapse:collapse;width:100%;font-size:13px}.importTable th{text-align:start;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#f8fafc;padding:10px 12px;font-weight:700}.importTable td{border-bottom:1px solid var(--line);color:var(--text);padding:9px 12px}.importTable tr:last-child td{border-bottom:none}.importTable tr:hover td{background:#f8fafc}.importEmpty{text-align:center;color:var(--muted);padding:24px;font-size:14px}.importActions{gap:10px;display:flex}.importSkipped{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin-top:8px;padding:12px 16px;font-size:13px}.importSkipped ul{max-height:160px;margin:6px 0 0;padding-inline-start:18px;overflow-y:auto}.importSkipped li{margin-bottom:3px}.importResult{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:32px 0;display:flex}.importResultIcon{background:#f0fdf4;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.importResult h3{color:var(--text);margin:0;font-size:20px;font-weight:800}.importResultGrid{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.importResultItem{border:1px solid var(--line);background:#f8fafc;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:14px 22px;display:flex}.importResultNum{color:var(--brand);font-size:28px;font-weight:900}.importTemplateBar{background:#f0fdf4;border:1px solid #a7f3d0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.importTemplateTitle{color:var(--text);margin:0;font-size:14px;font-weight:700}.importTemplateSub{color:var(--muted);font-size:12px}.tenantSearch{width:100%;position:relative}.tenantSearchInput{border:1px solid var(--line);cursor:pointer;background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-size:14px;transition:border-color .15s;display:flex}.tenantSearchInput:hover{border-color:var(--brand)}.tenantSearchPlaceholder{color:var(--muted)}.tenantSearchInput small{color:var(--muted);font-size:12px}.tenantSearchDropdown{top:calc(100% + 4px);background:var(--bg);border:1px solid var(--line);z-index:200;border-radius:12px;position:absolute;inset-inline:0;overflow:hidden;box-shadow:0 8px 24px #0002}.tenantSearchBox{border:none;border-bottom:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);outline:none;padding:10px 12px;font-size:14px}.tenantSearchList{max-height:220px;overflow-y:auto}.tenantSearchItem{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex}.tenantSearchItem:hover{background:#f0fdf4}.tenantSearchItem.selected{background:#d1fae5}.tenantSearchName{color:var(--text);font-weight:600}.tenantSearchPhone{color:var(--muted);font-size:12px}.tenantSearchEmpty{text-align:center;color:var(--muted);padding:16px;font-size:13px}.invRoot{flex-direction:column;gap:16px;display:flex}.invHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.invHeaderTitle{color:var(--text);align-items:center;gap:10px;font-size:19px;font-weight:800;display:flex}.invHeaderTitle svg{color:#0d9488}.invHeaderActions{gap:10px;display:flex}.invKpiRow{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.invKpi{background:var(--surface);border:1px solid var(--line);border-right-width:4px;border-radius:14px;align-items:center;gap:12px;padding:14px 15px;display:flex}.invKpiIcon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.invKpiVal{color:var(--text);font-variant-numeric:tabular-nums;font-size:20px;font-weight:900;line-height:1.1}.invKpiLabel{color:var(--muted);margin-top:3px;font-size:11px;font-weight:600}.invKpi-blue{border-inline-end-color:#3b82f6}.invKpi-blue .invKpiIcon{color:#2563eb;background:#dbeafe}.invKpi-green{border-inline-end-color:#22c55e}.invKpi-green .invKpiIcon{color:#16a34a;background:#dcfce7}.invKpi-amber{border-inline-end-color:#f59e0b}.invKpi-amber .invKpiIcon{color:#b45309;background:#fef3c7}.invKpi-red{border-inline-end-color:#ef4444}.invKpi-red .invKpiIcon{color:#dc2626;background:#fee2e2}.invKpi-teal{border-inline-end-color:#14b8a6}.invKpi-teal .invKpiIcon{color:#0d9488;background:#ccfbf1}.invKpi-purple{border-inline-end-color:#8b5cf6}.invKpi-purple .invKpiIcon{color:#7c3aed;background:#ede9fe}.invLowAlert{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:11px;align-items:center;gap:8px;padding:11px 14px;font-size:12.5px;font-weight:600;display:flex}.invLowAlert svg{flex-shrink:0}.invTabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-bottom:0;display:flex}.invTab{border:none;color:var(--muted);cursor:pointer;background:0 0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.invTab:hover{color:var(--text)}.invTabActive{color:#0d9488;border-bottom-color:#0d9488}.invCard{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.invCardHead{border-bottom:1px solid var(--line);background:var(--hover);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.invCardTitle{color:var(--text);align-items:center;gap:7px;font-size:14px;font-weight:700;display:flex}.invTableWrap{overflow-x:auto}.invTable{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.invTable th,.invTable td{text-align:start;white-space:nowrap;padding:10px 14px}.invTable thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--line);background:var(--surface);font-size:11px;font-weight:700}.invTable tbody td{border-bottom:1px solid var(--line);color:var(--text)}.invTable tbody tr:last-child td{border-bottom:none}.invTable tbody tr:hover{background:var(--hover)}.invEmpty{text-align:center;color:var(--muted);padding:26px!important}.invItemName{font-weight:700}.invUnit{color:var(--muted);font-size:11px;font-weight:500}.invStockCell strong{font-size:14px}.invValCell{color:#0d9488;font-weight:700}.invBy{color:var(--muted);font-size:11.5px}.invActions{justify-content:flex-start;gap:5px;display:flex}.invRowLow{background:#fffbeb}.invRowOut{background:#fff5f5}.movBadge{border-radius:20px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.movPurchase{color:#15803d;background:#dcfce7}.movConsume{color:#dc2626;background:#fee2e2}.movAdjust{color:#4338ca;background:#e0e7ff}.invMovFilters{gap:6px;display:flex}.invFilterBtn{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600}.invFilterActive{color:#fff;background:#0d9488;border-color:#0d9488}.invReportsGrid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.invMovHint{color:#0d9488;background:#f0fdfa;border:1px solid #99f6e4;border-radius:9px;grid-column:1/-1;margin:2px 0;padding:8px 12px;font-size:12.5px}.invMovHint strong{font-weight:800}@media (width<=640px){.invHeaderTitle{font-size:16px}.invKpiVal{font-size:17px}}.invImport{flex-direction:column;gap:14px;display:flex}.invImportSteps{flex-direction:column;gap:10px;display:flex}.invImportHint{color:var(--muted);margin:0;font-size:12.5px;line-height:1.6}.invImportDl{align-self:flex-start}.invImportLoading{color:var(--muted);align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.invImportPreview{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:14px;display:flex}.invImportCounts{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.invImportCount{background:var(--bg);border:1px solid var(--line);text-align:center;border-radius:11px;padding:12px}.invImportCount strong{color:#0d9488;font-size:22px;font-weight:900;display:block}.invImportCount span{color:var(--muted);font-size:11px}.invImportErrors{color:#b91c1c;background:#fef2f2;border:1px solid #fca5a5;border-radius:11px;gap:8px;padding:12px 14px;font-size:12px;display:flex}.invImportErrors ul{flex-direction:column;gap:3px;margin:6px 0 0;padding-inline-start:16px;display:flex}.invImportConfirm{color:#fff;cursor:pointer;background:#0d9488;border:none;border-radius:11px;justify-content:center;align-items:center;gap:7px;width:100%;padding:12px 0;font-family:inherit;font-size:14px;font-weight:700;display:flex}.invImportConfirm:hover:not(:disabled){background:#0b7c72}.invImportConfirm:disabled{opacity:.6;cursor:not-allowed}.invImportResult{background:#f0fdf4;border:1px solid #86efac;border-radius:12px;align-items:flex-start;gap:10px;padding:14px;display:flex}.invImportResult>svg{color:#16a34a;flex-shrink:0}.invImportResult strong{color:#15803d}.invImportResultLine{color:var(--muted);margin-top:4px;font-size:12px}.invImportSkipped{color:#b45309;margin-top:6px;font-size:11px}.notifTabs{border-bottom:1px solid var(--line);gap:8px;margin-bottom:18px;display:flex}.notifTabs button{color:var(--muted);background:0 0;border-bottom:2px solid #0000;border-radius:0;padding:10px 16px;font-size:13.5px;font-weight:600}.notifTabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.notifBody{grid-template-columns:230px 1fr;align-items:start;gap:18px;display:grid}.tplList{flex-direction:column;gap:8px;display:flex}.tplListItem{background:var(--panel);color:var(--text);border:1px solid var(--line);text-align:start;justify-content:flex-start;padding:13px 14px;font-size:13px;font-weight:600}.tplListItem.active{border-color:var(--brand);color:var(--brand);background:#eef6f5}.tplListItem svg{flex-shrink:0}.tplOff{color:#b45309;background:#fef3c7;border-radius:20px;margin-inline-start:auto;padding:2px 8px;font-size:10.5px;font-style:normal}.tplEditor{grid-template-columns:1fr 340px;align-items:start;gap:18px;min-width:0;display:grid}.tplEditorMain{background:var(--panel);border:1px solid var(--line);border-radius:18px;min-width:0;padding:18px}.tplEditorHead{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.tplEditorHead h4{margin:0 0 4px;font-size:15px}.tplEditorHead small{color:var(--muted);font-size:12px;line-height:1.6}.tplToggle{color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;font-size:12.5px;display:flex}.tplToggle input{width:16px;min-width:auto;height:16px;accent-color:var(--brand)}.tplVars{border:1px solid var(--line);background:#f8fafc;border-radius:12px;margin-bottom:12px;padding:11px 12px}.tplVarsLabel{color:var(--muted);margin-bottom:8px;font-size:11.5px;display:block}.tplVarsList{flex-wrap:wrap;gap:6px;display:flex}.tplVarChip{color:var(--brand);background:#eef6f5;border:1px solid #cfe8e4;border-radius:20px;padding:4px 11px;font-size:11.5px;font-weight:600}.tplVarChip:disabled{opacity:.55;cursor:not-allowed}.tplBody{resize:vertical;width:100%;font-family:Cairo,system-ui,monospace;font-size:13px;line-height:1.85}.tplActions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.tplActions button.secondary{margin-bottom:0}.tplDirty{color:#b45309;align-items:center;gap:5px;font-size:11.5px;display:inline-flex}.tplPreviewPane{background:var(--panel);border:1px solid var(--line);border-radius:18px;min-width:0;padding:16px;position:sticky;top:16px}.tplPreviewHead{color:var(--brand);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.tplWarn{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;align-items:flex-start;gap:6px;margin-bottom:10px;padding:8px 10px;font-size:11.5px;line-height:1.6;display:flex}.tplWarn svg{flex-shrink:0;margin-top:2px}.waPhone{background:#e5ddd5;border-radius:14px;max-height:62vh;padding:14px 12px;overflow:auto}.waBubble{white-space:pre-wrap;word-break:break-word;color:#111b21;background:#dcf8c6;border-radius:12px 12px 12px 4px;padding:12px 14px;font-size:12.8px;line-height:1.9;box-shadow:0 1px 2px #00000018}.waSettings{gap:16px;display:grid}.panelHint{color:var(--muted);margin:0 0 14px;font-size:12.5px;line-height:1.8}.waTestRow{flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;display:flex}.waTestRow button{margin-bottom:0}.waTestResult{align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.waTestResult.ok{color:#15803d}.waTestResult.bad{color:var(--danger)}.waToggles{border-top:1px solid var(--line);gap:12px;margin-top:14px;padding-top:14px;display:grid}.waToggles .tplToggle{color:var(--text);font-size:13px}.waSaveBar{background:linear-gradient(to top,var(--bg) 65%,transparent);justify-content:flex-start;padding:12px 0;display:flex;position:sticky;bottom:0}@media (width<=1100px){.tplEditor{grid-template-columns:1fr}.tplPreviewPane{position:static}}@media (width<=860px){.notifBody{grid-template-columns:1fr}.tplList{flex-direction:row;padding-bottom:4px;overflow-x:auto}.tplListItem{white-space:nowrap}}.fieldHint{color:var(--muted);margin-top:5px;font-size:11px;font-weight:400;line-height:1.6;display:block}.waNote{border-top:1px solid var(--line);align-items:center;gap:6px;margin:14px 0 0;padding-top:12px;display:flex}.waNote svg{color:#b45309;flex-shrink:0}.logBar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.logBar button.secondary{margin-bottom:0}.logFilters{flex-wrap:wrap;gap:6px;display:flex}.logFilter{color:var(--muted);border:1px solid var(--line);background:#f8fafc;border-radius:20px;padding:6px 13px;font-size:12.5px;font-weight:600}.logFilter.active{color:var(--brand);background:#eef6f5;border-color:#cfe8e4}.logFilter em{opacity:.7;font-size:11px;font-style:normal}.logRow{cursor:pointer}.logRow:hover{background:#f8fafc}.logPhone{font-size:12.5px}.logStatus{border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.logStatus.sent{color:#15803d;background:#dcfce7}.logStatus.failed{color:var(--danger);background:#fee2e2}.logStatus.pending{color:#b45309;background:#fef3c7}.logDetail{gap:12px;display:grid}.logMeta{color:var(--muted);border:1px solid var(--line);background:#f8fafc;border-radius:12px;gap:6px;padding:11px 13px;font-size:12.5px;display:grid}.logMeta b{color:var(--text);font-weight:700}.ldWelcomeBtn{color:var(--brand);background:#eef6f5}.ldWelcomeBtn:disabled{opacity:.6;cursor:not-allowed}.waManualNote{color:var(--muted);border:1px solid var(--line);background:#f8fafc;border-radius:10px;align-items:flex-start;gap:7px;padding:9px 11px;font-size:12px;line-height:1.6;display:flex}.waManualNote svg{color:var(--brand);flex-shrink:0;margin-top:2px}.waRateSummary{border-top:1px solid var(--line);color:var(--brand);align-items:center;gap:7px;margin:14px 0 0;padding-top:12px;font-weight:600;display:flex}.waRateSummary svg{flex-shrink:0}.queueBar{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.queueItem{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:inline-flex}.queueItem b{font-weight:800}.queueItemMuted{border-color:var(--line);color:var(--muted);background:#f8fafc}.logStatus.queued{color:#0369a1;background:#e0f2fe}.logQueuedHint{color:var(--muted);margin-top:2px;font-size:10px;font-style:normal;display:block}.finHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.finRange{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.finRange input[type=date]{padding:9px 12px;font-size:12.5px}.finRangeSep{color:var(--muted);font-size:12px}.finRangeBtn{background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:8px 15px;font-size:12.5px;font-weight:600}.finRangeBtn.active{color:var(--brand);background:#eef6f5;border-color:#cfe8e4}.finKpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:14px;display:grid}.finKpi{background:var(--panel);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:5px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.finKpi:before{content:"";inset-inline-start:0;width:4px;position:absolute;top:0;bottom:0}.finKpiIn:before{background:#0f766e}.finKpiOut:before{background:#dc2626}.finKpiNet:before{background:#1d4ed8}.finKpiLoss:before{background:#b45309}.finKpiPct:before{background:#7c3aed}.finKpiLbl{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.finKpi strong{letter-spacing:-.5px;font-size:23px;font-weight:800}.finKpiIn strong{color:#0f766e}.finKpiOut strong{color:#dc2626}.finKpiNet strong{color:#1d4ed8}.finKpiLoss strong{color:#b45309}.finKpiPct strong{color:#7c3aed}.finKpi em{color:var(--muted);font-size:11px;font-style:normal}.finNotes{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.finNotes span{color:var(--muted);border:1px solid var(--line);background:#f8fafc;border-radius:12px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;display:flex}.finNotes b{color:var(--text)}.finNotes svg{color:var(--brand);flex-shrink:0}.finGrid{grid-template-columns:1.25fr 1fr;align-items:start;gap:16px;display:grid}.finPos{color:#15803d;font-weight:700}.finNeg{color:#dc2626;font-weight:700}.finZero{color:#cbd5e1;font-weight:600}.finPie{margin-bottom:10px}.finCatList{flex-direction:column;gap:7px;display:flex}.finCatRow{align-items:center;gap:9px;font-size:12.5px;display:flex}.finCatDot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.finCatName{flex:1}.finCatPct{color:var(--muted);min-width:34px;font-size:11px}.finSources{border-top:1px solid var(--line);flex-wrap:wrap;gap:7px;margin-top:14px;padding-top:12px;display:flex}.finSourceChip{color:var(--muted);border:1px solid var(--line);background:#f8fafc;border-radius:20px;padding:5px 11px;font-size:11.5px}.finEntryBar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.finEntryBar button.secondary{margin-bottom:0}.finFilters{border:1px solid var(--line);background:#fbfcfd;border-radius:14px;flex:100%;padding:10px 12px;display:block}.finType{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.finType.income{color:#15803d;background:#dcfce7}.finType.expense{color:#dc2626;background:#fee2e2}.finNotesCell{max-width:220px;color:var(--muted);font-size:12px}.finCatManage{border-top:1px solid var(--line);gap:14px;margin-top:16px;padding-top:14px;display:grid}.finCatManage h4{margin:0 0 8px;font-size:13px}.finCatChips{flex-wrap:wrap;gap:6px;display:flex}.finCatChip{color:var(--brand);background:#eef6f5;border:1px solid #cfe8e4;border-radius:20px;padding:4px 11px;font-size:11.5px}@media (width<=1000px){.finGrid{grid-template-columns:1fr}}.finFilterSep{background:var(--line);align-self:stretch;width:1px;margin:0 4px}.finFilterRow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.finFilterRow+.finFilterRow{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px}.finFilterLbl{color:var(--muted);flex:0 0 52px;font-size:11px;font-weight:800}.finChip{background:var(--panel);color:#475569;border:1px solid var(--line);cursor:pointer;border-radius:20px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .12s}.finChip:hover{background:#f8fafc;border-color:#cbd5e1}.finChip.on{background:var(--brand);border-color:var(--brand);color:#fff}.finChip-income:before,.finChip-expense:before{content:"";vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-inline-end:6px;display:inline-block}.finChip-income:before{background:#16a34a}.finChip-expense:before{background:#dc2626}.finChip.on:before{background:#fff}.finSrc{white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:10.5px;font-weight:700}.finSrc-rent{color:#15803d;background:#dcfce7}.finSrc-manual{color:#4338ca;background:#e0e7ff}.finSrc-inventory{color:#b45309;background:#fef3c7}.finSrc-spare_parts{color:#a21caf;background:#fae8ff}.finRowAuto td{background:#fcfdfe}.finAutoHint{color:var(--muted);background:#f1f5f9;border-radius:20px;padding:3px 9px;font-size:10.5px}.finMuted{color:var(--muted)}.finVillaNote{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:11.5px}.fieldFull{grid-column:1/-1}.spEditor{border:1px solid var(--line);background:#f8fafc;border-radius:14px;padding:12px}.spHead{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.spAdd{color:var(--brand);background:#eef6f5;border:1px solid #cfe8e4;border-radius:20px;margin:0;padding:5px 12px;font-size:12px}.spEmpty{color:var(--muted);padding:4px 0;font-size:12px;line-height:1.7}.spRow{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:9px;padding:11px}.spRowTop{align-items:center;gap:8px;margin-bottom:9px;display:flex}.spRowTop select{flex:1;font-size:12.5px}.spDel{color:var(--danger);background:#fee2e2;border-radius:10px;flex-shrink:0;margin:0;padding:8px 10px}.spRowFields{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;display:grid}.spRowFields .field{margin:0}.spRowFields .field>span{font-size:11px}.spRowFields input{padding:9px 11px;font-size:12.5px}.spTotal{color:var(--brand);background:#f1f5f9;font-weight:700}.spWarn{color:var(--danger);align-items:center;gap:5px;margin-top:8px;font-size:11px;font-weight:600;display:flex}.spNote{color:var(--muted);margin-top:8px;font-size:11px}.spNoteBuy{color:#b45309}.spSum{color:var(--brand);background:#eef6f5;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.appVersion{color:#5eead4;letter-spacing:.3px;cursor:default;background:#14b8a61f;border:1px solid #14b8a63d;border-radius:20px;align-self:flex-start;align-items:center;gap:5px;margin:-6px 4px 12px;padding:3px 10px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700;display:inline-flex}.appVersion:before{content:"";background:#22c55e;border-radius:50%;flex-shrink:0;width:6px;height:6px}.headerVersion{display:none}@media (width<=900px){.headerVersion{color:var(--brand);background:#eef6f5;border:1px solid #cfe8e4;border-radius:20px;align-items:center;padding:2px 9px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:700;display:inline-flex}}.vcBody{gap:14px;min-width:min(680px,86vw);display:grid}.vcTopBar{align-items:center;gap:8px;display:flex}.vcTopBar select{flex:1;font-size:12.5px}.vcTopBar button{white-space:nowrap;margin:0}.vcEmpty{text-align:center;color:var(--muted);padding:26px 16px}.vcEmpty svg{color:var(--brand);opacity:.5}.vcEmpty p{color:var(--text);margin:10px 0 4px;font-weight:600}.vcEmpty small{font-size:12px;line-height:1.7}.vcCard{border:1px solid var(--line);background:#f8fafc;border-radius:14px;padding:14px}.vcCardHead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.vcCardHead strong{font-size:14px}.vcPhone{color:var(--muted);margin-inline-start:8px;font-family:ui-monospace,monospace;font-size:11.5px}.vcCardActions{gap:6px;display:flex}.vcStats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;display:grid}.vcStats>div{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.vcStats span{color:var(--muted);font-size:10.5px}.vcStats strong{font-size:13px}.vcPaid{color:#15803d}.vcRest{color:#b45309}.vcProgress{background:#e2e8f0;border-radius:20px;height:7px;margin-top:12px;overflow:hidden}.vcProgressFill{background:linear-gradient(90deg,#0f766e,#14b8a6);border-radius:20px;height:100%;transition:width .3s}.vcProgressLbl{color:var(--muted);margin-top:5px;font-size:11px;display:block}.vcNotes{color:var(--muted);border-top:1px solid var(--line);margin-top:10px;padding-top:9px;font-size:12px;line-height:1.7}.vcInstHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.vcInstTools{align-items:center;gap:6px;display:flex}.vcInstTools select{padding:8px 10px;font-size:12px}.vcInstTools button{margin:0;padding:8px 12px;font-size:12.5px}.vcOpenBtn{color:var(--brand)}.vcPayBody{gap:14px;min-width:min(460px,84vw);display:grid}.vcPayList{border-top:1px solid var(--line);padding-top:12px}.vcPayList>strong{margin-bottom:8px;font-size:12.5px;display:block}.vcPayRow{border:1px solid var(--line);background:#f8fafc;border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;font-size:12px;display:flex}.vcPayRow strong{color:#15803d}.vcPayRow small{color:var(--muted);margin-inline-start:auto}.vcRefund{color:var(--danger)!important}.statusBadge.status-late{color:var(--danger);background:#fee2e2}.villaNotifBtn.on{color:var(--brand);background:#eef6f5;border:1px solid #cfe8e4}.villaNotifBtn.off{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.finVillaScope{min-width:150px;font-size:13px}.finScopeNote{color:var(--brand);background:#eef6f5;border:1px solid #cfe8e4;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:9px 13px;font-size:12.5px;display:flex}.finScopeNote svg{flex-shrink:0}.finScopeNote strong{font-weight:800}.finScopeNote button{color:var(--brand);background:0 0;margin:0 auto 0 0;padding:0;font-size:12px;font-weight:700;text-decoration:underline}.ldStatDue{color:#7c3aed}.bkCreate{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.bkCreate select{min-width:170px}.bkCreate button{margin-bottom:0}.bkWarn{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;align-items:flex-start;gap:8px;padding:10px 13px;font-size:12.5px;line-height:1.8;display:flex}.bkWarn svg{flex-shrink:0;margin-top:3px}.ptMonthCancelledNote{color:#94a3b8;white-space:nowrap;background:#f1f5f9;border-radius:20px;padding:2px 9px;font-size:10.5px}.bkSqlHint{color:var(--muted);margin-top:12px;font-size:12px;line-height:2}.bkSqlHint code{color:#5eead4;white-space:nowrap;background:#0f172a;border-radius:10px;margin-top:6px;padding:9px 12px;font-size:11.5px;display:block;overflow-x:auto}.tmSettle{border:1px solid var(--line);border-radius:16px;margin-top:14px;overflow:hidden}.tmSettleCalc{background:#f8fafc;gap:7px;padding:12px 14px;display:grid}.tmSettleRow{color:var(--muted);justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.tmSettleRow b{color:var(--text);font-size:13px;font-weight:700}.tmSettleRow b.tmNeg{color:#b45309}.tmSettleFinal{justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.tmSettleFinalLbl{font-size:13.5px;font-weight:700}.tmSettleFinalVal{letter-spacing:-.5px;white-space:nowrap;font-size:24px;font-weight:800}.tmSettleFinalVal em{opacity:.75;font-size:13px;font-style:normal;font-weight:700}.tmRefund{color:#15803d;background:#dcfce7}.tmOwes{color:#b91c1c;background:#fee2e2}.tmClear{color:#475569;background:#f1f5f9}.tmActions{border:1px solid var(--line);background:var(--panel);border-radius:16px;margin-top:12px;padding:13px 15px}.tmActionsTitle{color:var(--brand);align-items:center;gap:7px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.tmAction{color:var(--text);align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.9;display:flex}.tmAction b{font-weight:700}.tmActionDot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:7px}.tmDotGreen{background:#22c55e}.tmDotRed{background:#ef4444}.tmDotBlue{background:#3b82f6}.tmDotGray{background:#94a3b8}.terminateUnpaid{border-color:var(--line)!important;background:#f8fafc!important}.terminateUnpaidTitle{color:var(--muted)!important}.sndMaster{background:var(--panel);border:1px solid var(--line);border-inline-end:4px solid #94a3b8;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:15px 17px;display:flex}.sndMaster.on{background:#f0fdf4;border-inline-end-color:#22c55e}.sndMasterMain{cursor:pointer;flex:1;align-items:flex-start;gap:11px;min-width:250px;display:flex}.sndMasterMain input{width:19px;min-width:auto;height:19px;accent-color:var(--brand);margin-top:2px}.sndMasterMain b{margin-bottom:3px;font-size:14.5px;display:block}.sndMasterMain small{color:var(--muted);font-size:12px;line-height:1.7}.sndMasterHour{color:var(--muted);white-space:nowrap;align-items:center;gap:9px;font-size:12.5px;display:flex}.sndMasterHour input{text-align:center;width:70px;min-width:auto;padding:8px}.sndGrid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:13px;margin-bottom:16px;display:grid}.sndCard{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;padding:15px 16px;display:flex}.sndCardHead{color:var(--brand);align-items:center;gap:8px;margin-bottom:12px;font-size:13.5px;font-weight:700;display:flex}.sndCardIn{flex-wrap:wrap;gap:9px;display:flex}.sndCardIn label,.sndRateIn label{color:var(--muted);border:1px solid var(--line);background:#f8fafc;border-radius:12px;align-items:center;gap:7px;padding:6px 11px;font-size:12.5px;display:inline-flex}.sndCardIn input,.sndRateIn input{text-align:center;border-radius:9px;width:62px;min-width:auto;padding:5px 6px;font-size:13px;font-weight:700}.sndSays{color:var(--muted);background:#f8fafc;border-radius:10px;margin:11px 0 0;padding:9px 11px;font-size:12px;line-height:1.95}.sndToggle{cursor:pointer;align-items:center;gap:9px;font-size:13px;display:flex}.sndToggle input{width:17px;min-width:auto;height:17px;accent-color:var(--brand)}.sndRange{margin-bottom:16px}.sndRangeField{flex-wrap:wrap;align-items:center;gap:11px;font-size:13px;display:flex}.sndRangeField input{min-width:170px}.sndRate{border-top:1px solid var(--line);padding-top:15px}.sndRateHead{color:#b45309;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.sndRateIn{flex-wrap:wrap;gap:9px;display:flex}.sndEstimate{color:var(--brand);background:#eef6f5;border-radius:10px;align-items:center;gap:7px;margin-top:10px;padding:9px 11px;font-size:12px;display:flex}.sndNote{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:7px;margin-top:15px;padding-top:13px;font-size:12px;display:flex}.sndNote svg{color:#b45309;flex-shrink:0}.sndCard>input[type=text],.sndCard>input:not([type]){width:100%}.sndSays code{color:var(--brand);direction:ltr;background:#eef6f5;border-radius:6px;padding:1px 6px;font-size:11px;display:inline-block}.permsRoles{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.permsRoleTab{color:var(--muted);border:1px solid var(--line);background:#f8fafc;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:9px 16px;font-size:13px;font-weight:700;line-height:1.4;display:flex}.permsRoleTab.active{color:var(--brand);background:#eef6f5;border-color:#cfe8e4}.permsRoleTab em{opacity:.75;font-size:10.5px;font-style:normal;font-weight:600}.roleBadge.role-OWNER{color:#6d28d9;background:#ede9fe}.roleBadge.role-EMPLOYEE{color:#0369a1;background:#e0f2fe}.bkTop{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;margin-bottom:16px;display:grid}.bkTopCard{background:var(--panel);border:1px solid var(--line);border-radius:18px;flex-direction:column;padding:17px 18px;display:flex}.bkTopHead{color:var(--brand);align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;display:flex}.bkTopSay{color:var(--muted);margin:11px 0 0;font-size:12px;line-height:1.95}.bkAuto{border-inline-end:4px solid #94a3b8}.bkAuto.on{border-inline-end-color:#22c55e}.bkAutoSwitch{cursor:pointer;align-items:center;gap:9px;margin-bottom:12px;font-size:13.5px;font-weight:700;display:flex}.bkAutoSwitch input{width:18px;min-width:auto;height:18px;accent-color:var(--brand)}.bkAutoIn{flex-wrap:wrap;gap:8px;display:flex}.bkAutoIn label{color:var(--muted);border:1px solid var(--line);background:#f8fafc;border-radius:11px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.bkAutoIn input{text-align:center;border-radius:8px;width:56px;min-width:auto;padding:4px 5px;font-weight:700}.bkAutoActions{gap:8px;margin-top:13px;display:flex}.bkAutoActions button{margin-bottom:0;padding:9px 14px;font-size:12.5px}@media (width<=560px){.dashKpiRow{grid-template-columns:1fr}.dashKpiVal{font-size:21px}.dashKpiLabel{white-space:normal;line-height:1.6}.dashKpiSub{margin-top:2px}.dashKpi{padding:14px 15px}.dashTableWrap,.invTableWrap,.table{-webkit-overflow-scrolling:touch;overflow-x:auto}.dashTable,.invTable{min-width:520px}.villaSectionRight,.leasesToolbarRight,.leasesFilterTabs,.ptMonthHeaderLeft,.panelActions,.finToolbar,.bkCreate,.logBar,.waTestRow{flex-wrap:wrap;gap:8px}.leasesFilterTabs{flex-wrap:nowrap;min-width:0;max-width:100%;padding-bottom:4px;overflow-x:auto}.leasesFilterTab{flex-shrink:0}.ptMonthAmt{white-space:normal}.bkCreate select,.bkCreate button,.finToolbar select,.finToolbar input{width:100%}.villaSectionAdd{width:auto}.iconBtn{min-width:38px;min-height:38px}.sndGrid,.bkTop,.notifBody,.tplEditor{grid-template-columns:1fr}.finKpiRow,.villaStatsRow{grid-template-columns:1fr 1fr}.tplList{flex-flow:row;padding-bottom:6px;overflow-x:auto}.tplListItem{white-space:nowrap;flex-shrink:0}.modalBox{width:calc(100vw - 20px);max-height:92vh}main{overflow-x:hidden}.waBubble,.sndSays,.bkTopSay,.panelHint{overflow-wrap:anywhere}header{flex-wrap:wrap;row-gap:10px}header>div:first-child{flex:1;min-width:0}header h2{overflow-wrap:break-word;word-break:normal;font-size:18px;line-height:1.45}header p{font-size:11.5px}.headerRight{flex-shrink:0;max-width:100%}.mobileLogout{flex-shrink:0}.leasesToolbarRight,.tenantSearch,.villaSectionRight,.finToolbar{max-width:100%;margin-inline:0}.tenantSearch input{width:100%}.notifTabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.notifTabs::-webkit-scrollbar{display:none}.notifTabs button{white-space:nowrap;flex-shrink:0;padding:10px 12px;font-size:12.5px}.mobileTabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.mobileTabs::-webkit-scrollbar{display:none}.mobileTabs button{flex:none;min-width:66px;max-width:78px}.mobileTabs button span{text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}}.dashOverdueCards{display:none}.ovCard{border:1px solid var(--line);background:#fff;border-radius:14px;gap:9px;padding:12px 13px;display:grid}.ovCard+.ovCard{margin-top:9px}.ovCardTop{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ovCardWho{flex-direction:column;gap:2px;min-width:0;display:flex}.ovCardWho b{font-size:13.5px;font-weight:700;line-height:1.5}.ovCardWho span{color:var(--muted);text-align:start;direction:ltr;font-size:11.5px}.ovCardMid{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.ovCardDate{font-size:12px}.ovCardBot{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:10px;padding-top:9px;display:flex}.ovCardAmt{color:#dc2626;font-size:16px;font-weight:800}.ovCardAmt small{opacity:.75;font-size:10.5px;font-weight:700}.ovCard .dashPayBtn{flex-shrink:0}@media (width<=560px){.dashOverdueCards{display:block}.dashPanelWide .dashTableWrap{display:none}.dashKpiRow{grid-template-columns:1fr 1fr;gap:10px}.dashKpi{flex-direction:column;align-items:flex-start;gap:9px;padding:13px}.dashKpiIcon{border-radius:11px;width:34px;height:34px}.dashKpiVal{font-size:19px}.dashKpiLabel{font-size:11.5px}.dashKpiSub{flex:none;align-self:stretch;font-size:10.5px}.emptyChart{text-align:center;height:120px;min-height:120px;padding:0 18px;font-size:12px}}.occBar{background:#e2e8f0;border-radius:20px;height:10px;margin:10px 0 4px;display:none;overflow:hidden}.occBarFill{background:linear-gradient(90deg,#0f766e,#14b8a6);border-radius:20px;height:100%}@media (width<=560px){.dashChartOcc .recharts-responsive-container{display:none}.dashDonutWrapWide,.occBar{display:block}.dashOccStats{gap:10px;display:flex}.dashOccStat{flex:1}.dashChart .recharts-responsive-container{display:none}.dashDonutWrap{display:block}.dashDonutLbl{line-height:1.7;display:block}.dashDonutLegend{flex-wrap:wrap;gap:8px 14px;margin-top:8px;display:flex}}.recCards{display:none}.recCard{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 13px}.recCard+.recCard{margin-top:10px}.recCardTop{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.recCardType{color:var(--brand);background:#eef6f5;border-radius:20px;padding:3px 11px;font-size:11.5px;font-weight:700}.recCardDesc{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 9px;font-size:13px;line-height:1.75;display:-webkit-box;overflow:hidden}.recCardMeta{color:var(--muted);flex-wrap:wrap;gap:6px 13px;font-size:11.5px;display:flex}.recCardMeta span{align-items:center;gap:5px;display:inline-flex}.recCardBot{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:9px;display:flex}.recCardCost{color:var(--muted);font-size:12.5px;font-weight:700}.recCardActions{gap:6px;display:flex}@media (width<=560px){.recCards{display:block}.recTableWrap .table,.recTableWrap .pagination{display:none}.panel{padding:15px 14px}.panel>h3{margin-bottom:12px;font-size:15px}.panelActions{gap:8px}.panelActions button{flex:auto;min-width:0;margin-bottom:0;padding:11px 12px;font-size:13px}.panelActions button.secondary{flex:0 auto}.recCardActions .iconBtn{min-width:36px;min-height:36px;margin-bottom:0;padding:8px}.recCard .statusBadge{white-space:nowrap}.tenantRow{flex-wrap:wrap;gap:9px;padding:13px 14px}.tenantRow .tenantRowIdx{order:1}.tenantRow .tenantRowAvatar{order:2}.tenantRow .tenantRowMain{flex:auto;order:3;min-width:110px}.tenantRow .villaRowStatus{order:4}.tenantRow:after{content:"";flex-basis:100%;order:5;height:0}.tenantRow .tenantRowActions{flex:auto;order:6;justify-content:flex-start;gap:7px}.tenantRow .tenantRowActions .iconBtn,.tenantRow .tenantRowActions button{min-height:36px;margin-bottom:0}.villaRow .tenantRowActions{flex:auto;order:6;justify-content:flex-start;gap:7px}.villaRow .tenantRowActions .iconBtn{min-width:36px;min-height:36px;margin-bottom:0;padding:8px}.tenantRowName{white-space:normal;line-height:1.5;overflow:visible}.tenantRowMeta{gap:5px 12px;font-size:11.5px}.tenantRowMetaItem{white-space:nowrap}.villasPageActions{flex-wrap:wrap;width:100%}.villasPageActions .tenantSearch{flex:60%;order:1;min-width:0}.villasPageActions>button{white-space:nowrap;flex:none;order:2;padding:10px 16px;font-size:13px}.villasPageHeader{flex-wrap:wrap;gap:10px}.villaSectionArea{white-space:nowrap}.villaSectionHeader{flex-wrap:wrap;gap:9px;padding:12px 13px}.villaSectionTitle{flex-wrap:wrap;flex:100%;gap:7px;font-size:14px;line-height:1.6}.villaSectionRight{flex:100%;justify-content:flex-start;gap:7px}.villaSectionAdd{margin-inline-start:auto}.tenantListActions{flex-wrap:wrap;gap:8px;width:100%}.tenantListActions .tenantSearch{flex:60%;min-width:0}.tenantListActions>button{white-space:nowrap;flex:none;padding:10px 16px;font-size:13px}.tenantRowMeta .tenantRowMetaItem{direction:rtl;unicode-bidi:isolate}.leasesSummaryBar{grid-template-columns:1fr 1fr;gap:9px}.leasesSumCard{padding:12px 10px}.leasesSumCardMain{grid-column:span 2}.leasesSumVal{font-size:19px}.leasesToolbar{gap:8px}.leasesToolbarRight{flex:100%;gap:8px}.leasesToolbarRight .tenantSearch{flex:60%;min-width:0}.leasesToolbarRight>button{white-space:nowrap;flex:none;padding:10px 16px;font-size:13px}.leasesFilterTabs{position:relative;-webkit-mask-image:linear-gradient(270deg,#000 88%,#0000)}.leaseRowActions{flex:auto;justify-content:flex-start;gap:8px;margin-inline-start:0}.leaseRowActions .iconBtn,.leaseRowActions button{min-height:36px;margin-bottom:0}.leaseRowViewBtn{flex:0 auto}.ptMonthHeader{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 13px}.ptMonthHeaderRight{flex-wrap:wrap;flex:100%;gap:8px}.ptMonthName{font-size:14.5px}.ptMonthHeaderLeft{flex-wrap:wrap;flex:100%;align-items:center;gap:8px 10px}.ptMonthMiniBar{flex:70px;min-width:60px}.ptMonthAmt{margin-inline-start:auto;font-size:13px}.ptMonthCancelledNote{flex:100%;order:9}}.payCards{display:none}.payCard{border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px 12px}.payCard+.payCard{margin-top:8px}.payCardTop{justify-content:space-between;align-items:center;gap:9px;margin-bottom:7px;display:flex}.payCardTenant{min-width:0;font-size:13.5px;font-weight:700;line-height:1.5}.payCardMeta{color:var(--muted);flex-wrap:wrap;gap:5px 12px;font-size:11.5px;display:flex}.payCardMeta span{align-items:center;gap:5px;display:inline-flex}.payCardBar{background:#e2e8f0;border-radius:20px;height:6px;margin:9px 0;overflow:hidden}.payCardBarFill{background:linear-gradient(90deg,#0f766e,#14b8a6);border-radius:20px;height:100%}.payCardBot{justify-content:space-between;align-items:center;gap:10px;display:flex}.payCardAmt{align-items:baseline;gap:6px;font-size:15px;font-weight:800;display:flex}.payCardAmt small{opacity:.7;font-size:10px;font-weight:700}.payCardAmt em{color:var(--muted);font-size:11px;font-style:normal;font-weight:600}@media (width<=560px){.payCards{display:block}.ptMonthBody .ptTable{display:none}.table tbody{gap:8px}.table tr{box-shadow:none;border-radius:14px;padding:11px 13px}.table td{gap:10px;padding:3px 0;font-size:12.5px}.table td:before{font-size:11px}.table td:last-child{gap:6px;margin-top:7px;padding-top:8px}.table td:last-child .iconBtn,.table td:last-child button{min-height:34px;margin-bottom:0;padding:7px 10px}}.finMoreBtn{justify-content:center;width:100%;margin:12px 0 0}.ledCards{display:none}.ledCard{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px}.ledCard+.ledCard{margin-top:7px}.ledCardAuto{background:#fafbfc}.ledCardTop{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ledCardDesc{overflow-wrap:anywhere;min-width:0;font-size:12.5px;line-height:1.6}.ledCardTop b{white-space:nowrap;flex-shrink:0;font-size:13.5px}.ledCardMeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px 9px;margin-top:7px;font-size:11px;display:flex}.ledCardActs{gap:5px;margin-inline-start:auto;display:flex}.ledCardActs .iconBtn{min-height:30px;margin-bottom:0;padding:6px}@media (width<=560px){.ledCards{display:block}.ledTable{display:none}}.finPdfBtn{margin:0 0 12px}@media (width<=560px){.finPdfBtn{justify-content:center;width:100%}}.permsTableHead{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:0 14px 8px;font-size:11.5px;font-weight:700;display:flex}.permsActsHead{gap:6px;display:flex}.permsActsHead em{text-align:center;width:58px;font-style:normal}.permsRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex!important}.permsRowMain{cursor:pointer;flex:1;align-items:center;gap:9px;min-width:150px;display:flex}.permsActs{flex-shrink:0;gap:6px;display:flex}.permsAct{border:1px solid var(--line);width:58px;color:var(--muted);cursor:pointer;background:#f8fafc;border-radius:9px;flex-direction:column;align-items:center;gap:3px;padding:5px 0;font-size:10.5px;display:flex}.permsAct.on{color:var(--brand);background:#eef6f5;border-color:#cfe8e4;font-weight:700}.permsAct input{width:14px;min-width:auto;height:14px;accent-color:var(--brand);margin:0}.permsAct input:disabled{opacity:.35;cursor:not-allowed}.permsFoot{color:var(--muted);background:#f8fafc;border-radius:10px;margin:12px 0;padding:10px 12px;font-size:12px;line-height:1.9}@media (width<=560px){.permsTableHead{display:none}.permsRowMain{flex:100%}.permsActs{flex:100%;justify-content:flex-start}.permsAct{flex:1;width:auto}}.leaseExpBadge{color:#0369a1;white-space:nowrap;background:#e0f2fe;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.leaseExpBadge.soon{color:#b45309;background:#fef3c7}.leaseExpBadge.urgent{color:#b91c1c;background:#fee2e2}.leasesFilterTabExp{color:#b45309!important;border-color:#fde68a!important}.leasesFilterTabExp.leasesFilterTabActive{color:#fff!important;background:#b45309!important;border-color:#b45309!important}.ptScopeNote{color:var(--muted);border:1px solid var(--line);background:#f8fafc;border-radius:12px;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:12px;padding:10px 13px;font-size:12.5px;display:flex}.ptScopeNote svg{color:var(--brand);flex-shrink:0}.ptScopeWide{background:#fffbeb;border-color:#fde68a}.ptScopeWide svg{color:#b45309}.ptScopeBtn{color:var(--brand);background:0 0;border:0;margin-inline-start:auto;padding:0;font-size:12.5px;font-weight:700;text-decoration:underline}@media (width<=560px){.leaseBlockStrip{flex-direction:column;align-items:stretch;gap:12px;padding:12px 13px}.leaseBlockMeta{flex-direction:column;align-items:flex-start;gap:6px;width:100%}.leaseBlockLocation{white-space:normal;overflow-wrap:anywhere;width:100%;line-height:1.6}.leaseBlockPhone{text-align:start;direction:ltr;margin-top:2px;display:block}.leaseBlockFin{border-top:1px solid #f1f5f9;justify-content:space-between;gap:0;width:100%;padding-top:10px}.leaseBlockFinItem{flex:1;gap:3px}.leaseBlockFinVal{font-size:15px}.leaseBlockFinLbl{font-size:10.5px}.leaseBlockSep{background:#e2e8f0;flex-shrink:0;width:1px;height:26px}.aptPageHeader{flex-wrap:wrap;gap:10px}.instTbl thead{display:none}.instTbl,.instTbl tbody,.instTbl tr,.instTbl td{width:100%;display:block}.instTbl tr{border:1px solid var(--line);background:#fff;border-radius:14px;width:auto;margin:0 12px 10px;padding:11px 12px}.instTbl td{text-align:start;border:0;padding:3px 0}.instTbl td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-size:11.5px;font-weight:600}.instTbl .instTblBarCell:before{content:none}.instTblActions{border-top:1px solid #f1f5f9;margin-top:8px;padding-top:9px!important}.instTblActionsWrap{flex-wrap:wrap;justify-content:flex-start;gap:7px}.instTblBarWrap{width:100%}}@media (width<=1000px){main{padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}.mobileTabs{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.ptRowTenant{line-height:1.5}.ptRowTenantName{display:block}.ptRowPhone{color:var(--muted);margin-top:2px;font-size:11.5px;font-weight:500;text-decoration:none;display:block}.ptRowPhone:hover{color:var(--brand);text-decoration:underline}.logUnit{color:var(--muted);margin-top:2px;font-size:11px}.occWrap{grid-template-columns:210px 1fr;align-items:start;gap:22px;padding:4px;display:grid}.occLeft{flex-direction:column;gap:4px;display:flex}.occPct{color:var(--brand);letter-spacing:-1px;font-size:40px;font-weight:900;line-height:1}.occPctLbl{color:var(--muted);margin-bottom:8px;font-size:12px}.occTotals{flex-direction:column;gap:5px;margin-top:10px;display:flex}.occTotal{color:var(--muted);font-size:12px}.occTotal b{color:var(--text);margin-inline-end:4px;font-size:14px;font-weight:800}.occTotalR b{color:#0f766e}.occTotalA b{color:#b45309}.occRight{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.occVilla{border:1px solid var(--line);background:#f8fafc;border-radius:13px;padding:11px 12px}.occVillaTop{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.occVillaName{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;font-size:12.5px;font-weight:700;display:flex;overflow:hidden}.occVillaName svg{color:var(--muted);flex-shrink:0}.occVillaFree{color:#64748b;white-space:nowrap;background:#e2e8f0;border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:10.5px;font-weight:700}.occVillaFree.has{color:#b45309;background:#fef3c7}.occVillaBar{background:#e2e8f0;border-radius:20px;height:7px;overflow:hidden}.occVillaFill{background:linear-gradient(90deg,#0f766e,#14b8a6);border-radius:20px;height:100%}.occVillaCount{color:var(--muted);margin-top:6px;font-size:11px;display:block}.occEmpty{color:var(--muted);padding:20px;font-size:13px}@media (width<=760px){.occWrap{grid-template-columns:1fr;gap:16px}.occLeft{border-bottom:1px solid var(--line);padding-bottom:14px}.occTotals{flex-flow:wrap;gap:14px}}.dashChartOcc{display:block}.occWrap{width:100%}.occLeft .occBar{display:block}.occMore{color:var(--brand);background:0 0;border:1px dashed #cfe8e4;border-radius:12px;grid-column:1/-1;justify-content:center;padding:10px;font-size:12.5px;font-weight:700}.occMore:hover{background:#eef6f5}.ownSum{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;display:grid}.ownSumBox{background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.ownSumBox span{color:#78716c;font-size:11px}.ownSumBox strong{color:#1c1917;font-size:19px;font-weight:700}.ownSumBox strong small{color:#78716c;font-size:11px;font-weight:600}.ownSumBox em{color:#a8a29e;font-size:11px;font-style:normal}.ownSumLate{background:#fffbeb;border-color:#fde68a}.ownSumLate strong{color:#b45309}.ownPhone{color:#57534e;text-decoration:none}.ownPhone:hover{text-decoration:underline}.dashDaysBadgeSoon{color:#475569;background:#f1f5f9}.ovCardLate{background:#fffdf6;border-color:#fde68a}.dashPayBtn.ownPayBtn{background:#b45309}.dashPayBtn.ownPayBtn:hover{background:#92400e}@media (width<=560px){.ownSum{gap:8px;margin-bottom:10px}.ownSumBox{padding:8px 10px}.ownSumBox strong{font-size:15px}.ownSumBox span,.ownSumBox em{font-size:10px}}.loginPreview{background:linear-gradient(165deg,#ffffff14,#ffffff08);border:1px solid #ffffff1f;border-radius:14px;gap:10px;padding:12px;display:grid;box-shadow:0 18px 40px #00000038}.lpHead{color:#cbd5e1;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.lpHead em{color:#8fa0b3;margin-inline-start:auto;font-size:10px;font-style:normal;font-weight:600}.lpDot{background:#34d399;border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite lpPulse;box-shadow:0 0 0 3px #34d39930}@keyframes lpPulse{0%,to{opacity:1}50%{opacity:.35}}.lpKpis{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.lpKpi{background:#ffffff0f;border:1px solid #ffffff14;border-radius:9px;flex-direction:column;gap:1px;min-width:0;padding:7px 9px;display:flex}.lpKpi span{color:#9fb0c3;white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.lpKpi strong{color:#fff;letter-spacing:-.3px;font-size:15px;font-weight:800}.lpKpiWarn strong{color:#fbbf24}.lpChart{align-items:flex-end;gap:5px;height:44px;padding:0 2px;display:flex}.lpChart span{transform-origin:bottom;background:linear-gradient(#5eead4,#0f766e);border-radius:4px 4px 2px 2px;flex:1;animation:.7s cubic-bezier(.2,.8,.3,1) both lpGrow}@keyframes lpGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.lpRow{background:#ffffff0d;border:1px solid #ffffff12;border-radius:9px;align-items:center;gap:8px;padding:6px 8px;display:flex}.lpAvatar{color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6);border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:grid}.lpName{color:#dbe4ee;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:10.5px;overflow:hidden}.lpTag{color:#fbbf24;background:#fbbf2418;border:1px solid #fbbf2430;border-radius:20px;flex-shrink:0;padding:2px 7px;font-size:9.5px;font-weight:700}@media (prefers-reduced-motion:reduce){.lpChart span,.lpDot{animation:none}}.loginTrust{flex-wrap:wrap;gap:7px;display:flex}.loginTrustItem{color:#5eead4;background:#ffffff10;border:1px solid #ffffff18;border-radius:20px;align-items:center;gap:6px;padding:5px 11px;display:inline-flex}.loginTrustItem>div{min-width:0}.loginTrustItem strong{color:#dbe4ee;white-space:nowrap;font-size:11px;font-weight:700}.loginTrustItem span{display:none}.loginTrustItem svg{flex-shrink:0}.loginMobileBrand{color:var(--brand);justify-content:center;align-items:center;gap:7px;margin-bottom:18px;font-size:17px;font-weight:800;display:none}.loginMobileBrand span{color:#14b8a6}@media (width<=1080px) and (width>=941px){.loginShell{min-height:0}.loginBrandPanel{gap:16px;padding:32px 30px}.loginBrandMid h1{margin-bottom:10px;font-size:24px}.loginBrandMid p{margin-bottom:14px;font-size:12px}.loginPreview{gap:8px;padding:10px}.lpRow{display:none}.lpChart{height:34px}.loginFeatures{grid-template-columns:1fr;gap:8px;margin-top:14px}.loginFeatureText span{display:none}.loginFeatureIcon{width:28px;height:28px}.loginFormPanel{padding:32px}}@media (width<=940px){.loginMobileBrand{display:flex}.loginCard{gap:13px}}.loginMobileFeats{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:2px;display:none}.loginMobileFeats span{color:#0f766e;background:#0f766e0f;border:1px solid #0f766e1f;border-radius:20px;align-items:center;gap:4px;padding:4px 9px;font-size:10.5px;font-weight:600;display:inline-flex}@media (width<=940px){.loginMobileFeats{display:flex}}@media (height<=860px) and (width>=941px){.loginBrandPanel{gap:14px;padding:28px 36px}.lpRow{display:none}.lpChart{height:36px}.loginBrandMid h1{font-size:27px}.loginBrandMid p{margin-bottom:14px}.loginFormPanel{padding:32px}}.loginSupport{color:var(--muted);justify-content:center;align-items:center;gap:6px;padding:2px 0;font-size:12px;text-decoration:none;display:flex}.loginSupport b{color:var(--brand);letter-spacing:.3px;font-weight:700}.loginSupport:hover b{text-decoration:underline}.loginSupport svg{color:var(--brand)}aside{gap:0;padding:16px 14px}aside .logo{flex-shrink:0;margin:0 6px 12px;font-size:24px}.navScroll{flex-direction:column;flex:1;gap:10px;min-height:0;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.navScroll::-webkit-scrollbar{width:5px}.navScroll::-webkit-scrollbar-thumb{background:#ffffff20;border-radius:6px}.navGroup{flex-direction:column;gap:1px;display:flex}.navGroupLbl{color:#64748b;letter-spacing:.6px;padding:0 12px 4px;font-size:10px;font-weight:700}aside .navScroll button{border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13.5px;line-height:1.2;display:flex}aside .navScroll button svg{flex-shrink:0}.navTxt{text-align:start;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.navBadge{color:#fff;background:#dc2626;border-radius:10px;flex-shrink:0;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:10.5px;font-weight:700;display:grid}aside .navScroll button.active .navBadge{color:#dc2626;background:#fff}.navFoot{border-top:1px solid #ffffff1f;flex-shrink:0;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.navVersion{color:#5eead4;letter-spacing:.4px;text-align:center;opacity:.7;cursor:default;flex-shrink:0;margin-top:6px;font-size:10px;font-weight:700}.navUser{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.navUserAv{color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6);border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.navUserMeta{flex-direction:column;min-width:0;line-height:1.3;display:flex}.navUserMeta b{color:#e5e7eb;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.navUserMeta em{color:#94a3b8;font-size:10.5px;font-style:normal}.navUserCo{color:#5eead4;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-style:normal;font-weight:600;overflow:hidden}.userCompany{color:var(--brand);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:11px;font-weight:600;overflow:hidden}aside button.navLogout{color:#fca5a5;background:#ffffff0f;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;margin:0;padding:0;display:grid}aside button.navLogout:hover{color:#fecaca;background:#dc262622}.navScroll{-webkit-mask-image:linear-gradient(#000 0 calc(100% - 22px),#0000 100%);mask-image:linear-gradient(#000 0 calc(100% - 22px),#0000 100%)}@media (width>=1001px){header .user{display:none}}.payMethod{color:#475569;background:#f1f5f9;border-radius:20px;padding:2px 8px;font-size:10.5px;font-weight:600}.payRef{color:#64748b;font-family:ui-monospace,monospace;font-size:10.5px}.ownTabs{border:1px solid var(--line);background:#fafaf9;border-radius:12px 12px 0 0;flex-wrap:wrap;gap:6px;margin-bottom:0;padding:9px 10px;display:flex}.ownTab{color:#57534e;cursor:pointer;background:#fafaf9;border:1px solid #e7e5e4;border-radius:20px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.ownTab b{color:#78716c;text-align:center;background:#0000000d;border-radius:10px;min-width:18px;padding:0 6px;font-size:11px;font-weight:700}.ownTab:hover{background:#f5f5f4}.ownTabOn{color:#fff;background:#b45309;border-color:#b45309}.ownTabOn b{color:#fff;background:#ffffff2e}.ownSum{grid-template-columns:repeat(3,1fr)}.ownSumPaid{background:#f0fdf4;border-color:#bbf7d0}.ownSumPaid strong{color:#15803d}.dashDaysBadgePaid{color:#15803d;background:#dcfce7}.ovCardPaid{opacity:.82;background:#fafafa}.ownPaidMark{color:#15803d;align-items:center;gap:4px;font-size:11.5px;font-weight:600;display:inline-flex}.ownPaidCell{color:#15803d}.ownTrunc{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:10px;padding:6px 10px;font-size:11.5px}@media (width<=820px){.ownSum{grid-template-columns:1fr 1fr}.ownSumPaid{grid-column:1/-1}}@media (width<=560px){.ownSum{grid-template-columns:1fr 1fr}.ownTab{padding:4px 9px;font-size:11px}}:root[lang=en] body,:root[lang=en] button,:root[lang=en] input,:root[lang=en] select,:root[lang=en] textarea{font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:root[dir=ltr] .dirIcon{transform:scaleX(-1)}.langBtn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.langBtn:hover{border-color:var(--brand);color:var(--brand);background:#eef6f5}aside .langBtn{color:#d1d5db;border-color:#ffffff26;justify-content:flex-start;width:100%}aside .langBtn:hover{color:#fff;background:#ffffff14;border-color:#ffffff40}.loginLangBtn{top:16px;color:#e5e7eb;z-index:5;background:#ffffff14;border-color:#ffffff2e;position:absolute;inset-inline-end:16px}.loginLangBtn:hover{color:#fff;background:#ffffff24;border-color:#ffffff4d}.loginCard{position:relative}.vcAtt{border-top:1px dashed var(--line);margin-top:12px;padding-top:12px}.vcAttHead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.vcAttHead>span{color:var(--text);align-items:center;gap:6px;font-size:12.5px;font-weight:800;display:inline-flex}.vcAttAdd{color:var(--brand);cursor:pointer;background:#eef6f5;border:1px solid #cfe8e4;border-radius:10px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:700;display:inline-flex}.vcAttAdd:hover{background:#e2efed}.vcAttAdd.busy{opacity:.6;cursor:default}.vcAttEmpty{color:var(--muted);border:1px dashed var(--line);background:#f8fafc;border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;font-size:12px;display:flex}.vcAttEmpty em{color:#94a3b8;font-size:11px;font-style:normal}.vcAttList{gap:6px;display:grid}.vcAttRow{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.vcAttName{text-align:start;min-width:0;color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:0;font-weight:600;overflow:hidden}.vcAttName:hover{color:var(--brand);text-decoration:underline}.vcAttSize,.vcAttBy{color:var(--muted);white-space:nowrap;font-size:11px}.vcLocked{color:#94a3b8;align-items:center;padding:6px;display:inline-flex}.lockRuleNote{color:var(--muted);border:1px dashed var(--line);background:#f8fafc;border-radius:10px;align-items:flex-start;gap:6px;margin:10px 0 0;padding:8px 11px;font-size:11.5px;line-height:1.7;display:flex}.lockRuleNote svg{flex-shrink:0;margin-top:2px}.actIntro{color:var(--muted);margin:0 0 10px;font-size:12.5px}.actRing{color:var(--muted);background:var(--soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px;padding:8px 12px;font-size:11.5px;line-height:1.7;display:flex}.actRing svg{flex-shrink:0}.actRing em{opacity:.75;font-style:normal}.actFilters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.actFilters input,.actFilters select{height:34px;padding-block:0;font-size:12.5px}.actFilters .actSearch{flex:240px;min-width:180px}.actOnlyFailed{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.actOnlyFailed input{width:auto;height:auto}.actTable td{vertical-align:middle}.actWhen{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.actRole{background:var(--soft);color:var(--muted);border-radius:6px;margin-inline-start:6px;padding:1px 6px;font-size:10px;display:inline-block}.actSys{color:var(--muted);opacity:.8;font-style:normal}.actId{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.actDetails{text-overflow:ellipsis;white-space:nowrap;max-width:340px;color:var(--muted);font-size:12px;overflow:hidden}.actBadge{border-radius:20px;padding:2px 9px;font-size:10.5px;font-weight:600;display:inline-block}.act-create{color:#166534;background:#dcfce7}.act-update{color:#1e40af;background:#dbeafe}.act-delete{color:#991b1b;background:#fee2e2}.act-login{color:#5b21b6;background:#ede9fe}.actRowBad td{background:#ef44440d}.actMore{justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.actMore small{color:var(--muted);font-size:11.5px}.actCap{align-items:flex-end}.actCapHint{color:var(--muted);margin:8px 0 0;font-size:11.5px}@media (width<=640px){.actDetails{white-space:normal;max-width:none}}.errBoundary{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;max-width:560px;margin:24px auto;padding:48px 24px;display:flex}.errBoundary svg{color:#f59e0b}.errBoundary h3{margin:4px 0 0;font-size:16px}.errBoundary p{color:var(--muted);margin:0;font-size:13px;line-height:1.9}.errBoundary pre{text-align:start;max-width:100%;color:var(--muted);background:var(--soft);direction:ltr;border-radius:8px;margin:6px 0 0;padding:8px 12px;font-size:11px;overflow-x:auto}.errBoundaryActions{gap:8px;margin-top:6px;display:flex}.coHint{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.8}.coForm{flex-direction:column;gap:6px;display:flex}.coLogoBox{background:var(--soft);border:1px solid var(--line);border-radius:12px;align-items:center;gap:16px;max-width:520px;margin-bottom:6px;padding:14px;display:flex}.coLogoPreview{background:var(--card);border:1px dashed var(--line);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:78px;display:flex;overflow:hidden}.coLogoPreview img{object-fit:contain;max-width:100%;max-height:100%}.coLogoEmpty{color:var(--muted);flex-direction:column;align-items:center;gap:5px;font-size:10.5px;display:flex}.coLogoActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.coLogoActions small{color:var(--muted);flex-basis:100%;font-size:11px;line-height:1.7}.coLogoBtn{cursor:pointer;background:var(--brand);color:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.coGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.coGrid .field.wide{grid-column:span 2}@media (width<=1100px){.coGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.coGrid{grid-template-columns:1fr}.coGrid .field.wide{grid-column:auto}}.coSection{margin-top:18px}.coSection h4{color:var(--brand);border-bottom:1px solid var(--line);margin:0 0 8px;padding-bottom:6px;font-size:13px}.coActions{margin-top:16px}.lcBody{flex-direction:column;gap:10px;display:flex}.lcWarn{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;gap:9px;padding:10px 13px;font-size:12px;line-height:1.9;display:flex}.lcWarn svg{flex-shrink:0;margin-top:3px}.lcWarn ul{margin:4px 0 0;padding-inline-start:18px}.lcBar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.lcBar .field{min-width:190px}.lcIssued{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;align-items:center;gap:6px;padding:5px 13px;font-size:12px;font-weight:600;display:inline-flex}.lcDraft{color:var(--muted);background:var(--soft);border-radius:20px;align-items:center;padding:5px 13px;font-size:12px;display:inline-flex}.lcText{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:10px;width:100%;min-height:340px;padding:12px 14px;font-family:inherit;font-size:12.5px;line-height:2}.lcText[readonly]{background:var(--soft);color:#475569}.lcHint,.lcSched{color:var(--muted);margin:0;font-size:11.5px;line-height:1.8}.lcActions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.lcTplGrid{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:16px;display:grid}@media (width<=1000px){.lcTplGrid{grid-template-columns:1fr}}.lcVarGroup{margin-bottom:12px}.lcVarGroup h5{color:var(--muted);margin:0 0 6px;font-size:11.5px;font-weight:600}.lcVars{flex-wrap:wrap;gap:5px;display:flex}.lcVar{cursor:pointer;border:1px solid var(--line);background:var(--soft);color:var(--brand);direction:ltr;border-radius:6px;padding:3px 8px;font-family:ui-monospace,Menlo,monospace;font-size:10.5px}.lcVar:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.lcFields{border-collapse:collapse;width:100%;font-size:12px}.lcFields th{text-align:start;background:var(--soft);border:1px solid var(--line);color:#475569;letter-spacing:.2px;width:34%;padding:5px 9px;font-size:11px;font-weight:600}.lcFields td{border:1px solid var(--line);padding:2px}.lcFields input{background:0 0;border:none;width:100%;min-width:0;height:auto;padding:5px 8px;font-size:12px}.lcFields input:focus{outline:2px solid var(--brand);outline-offset:-2px;border-radius:4px}.lcFields input[readonly]{color:#475569}.lcLbl{color:var(--muted);margin-top:4px;font-size:12px;font-weight:600}@media (width>=1280px){.leaseRow{grid-template-columns:minmax(150px,1fr) 152px 258px 162px 136px;display:grid}.leaseRowDates,.leaseRowActions{min-width:0}}.status-renewed{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.ownMonthSel{color:#57534e;cursor:pointer;background:#fafaf9;border:1px solid #e7e5e4;border-radius:20px;flex-shrink:0;height:35px;margin-inline-end:auto;padding:5px 11px;font-size:12px;font-weight:600}.ownMonthSel:hover{background:#f5f5f4}.ownMonthSel:focus{color:#b45309;border-color:#b45309;outline:none}.ownPrintBtn{color:#b45309;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:5px;margin-inline-start:auto;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:700;display:inline-flex}.ownPrintBtn:hover{background:#fffbeb;border-color:#fde68a}.ownPrintBtn:disabled{opacity:.55;cursor:default}.aiFab{z-index:95;cursor:pointer;color:#fff;background:linear-gradient(135deg,#0f766e,#0e7490);border:none;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:fixed;inset-block-end:22px;inset-inline-end:22px;box-shadow:0 6px 22px #0f766e55}.aiFab.on{background:#475569;box-shadow:0 4px 14px #0003}.aiPanel{z-index:95;background:var(--surface,#fff);border:1px solid var(--line,#e2e8f0);border-radius:18px;flex-direction:column;width:min(390px,100vw - 32px);display:flex;position:fixed;inset-block-end:86px;inset-inline-end:22px;overflow:hidden;box-shadow:0 16px 48px #0000002e}.aiHead{border-bottom:1px solid var(--line,#e2e8f0);align-items:center;gap:10px;padding:12px 14px;display:flex}.aiAvatar{color:#0f766e;background:#0f766e15;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;transition:box-shadow .3s;display:grid}.aiAvatar.aiListening{animation:1.4s ease-in-out infinite aiPulse;box-shadow:0 0 0 4px #0f766e22}.aiAvatar.aiSpeaking{color:#1d4ed8;background:#1d4ed815;box-shadow:0 0 0 4px #1d4ed822}.aiAvatar.aiBusy{opacity:.65}.aiAvatar.aiError{color:#dc2626;background:#fee2e2}@keyframes aiPulse{0%,to{box-shadow:0 0 #0f766e44}50%{box-shadow:0 0 0 8px #0f766e00}}.aiWho{flex-direction:column;min-width:0;line-height:1.25;display:flex}.aiPhase{color:var(--muted,#64748b);font-size:11px}.aiQuota{color:var(--muted,#64748b);white-space:nowrap;font-size:11px}.aiBody{flex-direction:column;gap:8px;max-height:44vh;padding:12px 14px;display:flex;overflow:auto}.aiHint{color:var(--muted,#64748b);font-size:12.5px;line-height:1.8}.aiMsg{word-break:break-word;border-radius:12px;max-width:88%;padding:8px 11px;font-size:13.5px;line-height:1.7}.aiMsg.ai-user{color:var(--fg,#1a1a2e);background:#0f766e12;align-self:flex-start}.aiMsg.ai-assistant{background:var(--hover,#f8fafc);align-self:flex-end}.aiMsg.aiDots{place-items:center;padding:10px 12px;display:grid}.aiNotice{color:var(--muted,#64748b);background:var(--hover,#f8fafc);border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:flex}.aiNotice.aiBad{color:#dc2626;background:#fef2f2}.aiBar{border-top:1px solid var(--line,#e2e8f0);align-items:center;gap:7px;padding:10px 12px;display:flex}.aiBar input{border:1px solid var(--line,#e2e8f0);min-width:0;font:inherit;background:var(--surface,#fff);color:inherit;border-radius:10px;flex:1;padding:8px 10px;font-size:13px}.aiMicBtn,.aiIcon{cursor:pointer;border:1px solid var(--line,#e2e8f0);background:var(--surface,#fff);color:inherit;flex:none;place-items:center;display:grid}.aiMicBtn{border-radius:50%;width:38px;height:38px}.aiIcon{border-radius:10px;width:34px;height:34px}.aiMicBtn:disabled,.aiIcon:disabled{opacity:.45;cursor:not-allowed}.aiMicBtn.aiListening{color:#dc2626;background:#fee2e2;border-color:#fecaca;animation:1.4s ease-in-out infinite aiPulse}.aiMicBtn.aiSpeaking{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}@media (width<=560px){.aiPanel{width:auto;inset-block-end:76px;inset-inline:16px}.aiFab{inset-block-end:76px}}.impBar{z-index:50;color:#fff;background:#7c2d12;align-items:center;gap:10px;padding:9px 16px;font-size:13px;font-weight:600;display:flex;position:sticky;top:0}.impBar span{flex:1}.impBar button{color:#7c2d12;background:#fff;border-radius:9px;padding:6px 12px;font-size:12px;font-weight:700}
