:root{--paper:#f1f0eb;--ink:#1a1b18;--graphite:#6b6e68;--rule:#d8d6ce;--signal:#2d4ecc;--alert:#c77a1f;--ink-hover:#2c2d28;--ink-press:#000;--signal-hover:#2742b8;--signal-press:#1f3596;--signal-soft:rgba(45,78,204,.1);--alert-soft:rgba(199,122,31,.12);--font-display:"Space Grotesk",system-ui,sans-serif;--font-body:"Hanken Grotesk",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-4xl:3.75rem;--s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--s7:64px;--s8:96px;--s9:128px;--radius:2px;--radius-lg:4px}body{line-height:1.6}.mono,.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@import url("https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800&display=swap");:root{--primary:var(--signal);--primary-press:var(--signal-press);--primary-tint:var(--signal-soft);--navy:var(--ink);--navy-2:#0d0e0c;--warm:#c77a1f;--surface:var(--paper);--bg:var(--paper);--line:var(--rule);--line-2:var(--rule);--subtle:var(--graphite);--faint:var(--graphite);--neutral-tint:rgba(26,27,24,.05);--success:#1a7a4a;--success-tint:rgba(26,122,74,.1);--success-ink:#0b7a4e;--warning:var(--alert);--warning-tint:var(--alert-soft);--warning-ink:var(--alert);--error:#b83232;--error-tint:rgba(184,50,50,.1);--shadow-sm:0 1px 3px rgba(26,27,24,.06);--shadow:0 2px 8px rgba(26,27,24,.08);--shadow-lg:0 4px 20px rgba(26,27,24,.12);--ring:0 0 0 2px var(--signal);--ui:var(--font-display);--ar-font:"Tajawal",sans-serif;--max:1240px;color-scheme:light}[data-theme=dark]{--paper:#1a1b18;--ink:#f1f0eb;--graphite:#9b9e98;--rule:#2e2f2c;--signal:#5b78e8;--alert:#d4914a;--ink-hover:#f5f4ef;--ink-press:#fff;--signal-hover:#7088ee;--signal-press:#8298f2;--signal-soft:rgba(91,120,232,.14);--alert-soft:rgba(212,145,74,.14);--primary:var(--signal);--primary-press:var(--signal-press);--primary-tint:var(--signal-soft);--surface:var(--paper);--bg:var(--paper);--line:var(--rule);--line-2:var(--rule);--subtle:var(--graphite);--faint:var(--graphite);--neutral-tint:hsla(50,18%,93%,.06);--success:#2ea363;--success-tint:rgba(46,163,99,.14);--success-ink:#2ea363;--warning:var(--alert);--warning-tint:var(--alert-soft);--warning-ink:var(--alert);--error:#d45050;--error-tint:rgba(212,80,80,.14);--shadow-sm:0 1px 3px rgba(0,0,0,.22);--shadow:0 2px 8px rgba(0,0,0,.28);--shadow-lg:0 4px 20px rgba(0,0,0,.36);--ring:0 0 0 2px var(--signal);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}.ar,html[dir=rtl] body{font-family:var(--ar-font)}.lat{font-family:var(--font-display)!important}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.05;letter-spacing:-.02em;color:var(--ink)}a{color:inherit;text-decoration:none}button{font-family:inherit}img,svg{display:block}::selection{background:var(--signal);color:var(--paper)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--rule) transparent}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rule);border-radius:0;-webkit-transition:background-color .18s ease;transition:background-color .18s ease}::-webkit-scrollbar-thumb:hover{background:var(--graphite)}::-webkit-scrollbar-corner{background:transparent}.sidebar .side-nav::-webkit-scrollbar-thumb{background:hsla(50,18%,93%,.22)}.sidebar .side-nav::-webkit-scrollbar-thumb:hover{background:hsla(50,18%,93%,.45)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:var(--radius)}.row{align-items:center}.col,.row{display:flex}.col{flex-direction:column}.aic{align-items:center}.between{justify-content:space-between}.center,.page-loader{display:flex;align-items:center;justify-content:center}.page-loader{min-height:60vh;width:100%}.wrap{flex-wrap:wrap}.grow{flex:1 1}.gap6{gap:6px}.gap8{gap:var(--s2)}.gap10{gap:10px}.gap12{gap:12px}.gap14{gap:14px}.gap16{gap:var(--s3)}.gap20{gap:20px}.gap24{gap:var(--s4)}.faint,.muted{color:var(--graphite)}.disp{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:1}.lede{font-size:clamp(15px,1.1vw + 11px,18px);line-height:1.62}.eyebrow,.lede{color:var(--graphite)}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em}.eyebrow.signal{color:var(--signal)}.money{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.hairline{border:0;border-top:1px solid var(--rule)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--rule);cursor:pointer;font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;height:40px;padding-inline:var(--s4);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);color:var(--ink);background:var(--paper);transition:background .14s,border-color .14s,color .14s,transform .08s;white-space:nowrap;letter-spacing:-.01em}.btn:hover{transform:translateY(-1px);border-color:var(--ink);color:var(--ink-hover)}.btn:active{transform:translateY(0)}.btn svg{width:16px;height:16px;flex:none}.btn:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.btn.primary{background:var(--signal);color:#fff;border-color:var(--signal)}.btn.primary:hover{background:var(--signal-hover);border-color:var(--signal-hover);transform:translateY(-1px)}.btn.primary:active{background:var(--signal-press);border-color:var(--signal-press);transform:translateY(0)}.btn.ghost{background:transparent;border-color:var(--rule);color:var(--ink)}.btn.ghost:hover{border-color:var(--ink);background:transparent}.btn.subtle{background:var(--neutral-tint);border-color:transparent;color:var(--ink)}.btn.subtle:hover{background:rgba(26,27,24,.09);border-color:transparent}.btn.success{background:var(--success);color:#fff;border-color:var(--success)}.btn.success:hover{filter:brightness(.94)}.btn.danger{background:var(--error);color:#fff;border-color:var(--error)}.btn.danger:hover{filter:brightness(.94)}.btn.lg{height:48px;font-size:var(--text-base);padding-inline:var(--s5)}.btn.sm{height:32px;font-size:var(--text-xs);padding-inline:12px}.btn.sm svg{width:14px;height:14px}.btn.block{width:100%}.btn.onnavy{background:hsla(50,18%,93%,.12);color:var(--paper);border-color:hsla(50,18%,93%,.22)}.btn.onnavy:hover{background:hsla(50,18%,93%,.22);border-color:hsla(50,18%,93%,.36)}.btn.onnavy.ghost{background:transparent;color:var(--paper);border-color:hsla(50,18%,93%,.26)}.btn.onnavy.ghost:hover{background:hsla(50,18%,93%,.1);border-color:hsla(50,18%,93%,.42)}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn[data-loading]{pointer-events:none;color:transparent!important;position:relative}.btn[data-loading]>*{visibility:hidden}.btn[data-loading]:after{content:"";position:absolute;top:50%;left:50%;width:22px;height:22px;margin:-11px 0 0 -11px;visibility:visible;background:50%/contain no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='25 25 70 70' fill='%23fff'%3E%3Cpath fill-rule='evenodd' d='M50,28h20v64h-20zM53.5,37h6v6h-6zM60.5,37h6v6h-6zM53.5,47h6v6h-6zM60.5,47h6v6h-6zM53.5,57h6v6h-6zM60.5,57h6v6h-6zM53.5,67h6v6h-6zM60.5,67h6v6h-6zM56,78h8v14h-8z'/%3E%3Cpath fill-rule='evenodd' d='M34,46h18v46h-18zM40,53h6v6h-6zM40,64h6v6h-6zM40,75h6v6h-6z'/%3E%3Cpath fill-rule='evenodd' d='M68,46h18v46h-18zM74,53h6v6h-6zM74,64h6v6h-6zM74,75h6v6h-6z'/%3E%3C/svg%3E");animation:m3reveal 1.05s cubic-bezier(.45,.05,.35,1) infinite}.btn.ghost[data-loading]:after,.btn.onnavy[data-loading]:after,.btn.subtle[data-loading]:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='25 25 70 70' fill='%231A1B18'%3E%3Cpath fill-rule='evenodd' d='M50,28h20v64h-20zM53.5,37h6v6h-6zM60.5,37h6v6h-6zM53.5,47h6v6h-6zM60.5,47h6v6h-6zM53.5,57h6v6h-6zM60.5,57h6v6h-6zM53.5,67h6v6h-6zM60.5,67h6v6h-6zM56,78h8v14h-8z'/%3E%3Cpath fill-rule='evenodd' d='M34,46h18v46h-18zM40,53h6v6h-6zM40,64h6v6h-6zM40,75h6v6h-6z'/%3E%3Cpath fill-rule='evenodd' d='M68,46h18v46h-18zM74,53h6v6h-6zM74,64h6v6h-6zM74,75h6v6h-6z'/%3E%3C/svg%3E")}@keyframes m3reveal{0%,to{-webkit-clip-path:inset(34% 0 0 0);clip-path:inset(34% 0 0 0)}50%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@media(prefers-reduced-motion:reduce){.btn[data-loading]:after{animation:none;-webkit-clip-path:none;clip-path:none}}@keyframes sk3m{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.skeleton{display:block;border-radius:var(--radius);background:var(--rule);animation:sk3m 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}@keyframes copyPop{0%{transform:scale(.5);opacity:.3}55%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.copy-pop{display:inline-flex;animation:copyPop .24s cubic-bezier(.45,.05,.35,1)}@media(prefers-reduced-motion:reduce){.copy-pop{animation:none}}.tlink{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);color:var(--signal);cursor:pointer;background:none;border:0;padding:0;line-height:1}.tlink svg{width:16px;height:16px;transition:transform .2s cubic-bezier(.2,.7,.2,1)}.tlink:hover svg{transform:translateX(3px)}.tlink.onnavy{color:hsla(50,18%,93%,.8)}html[dir=rtl] .tlink svg{transform:scaleX(-1)}html[dir=rtl] .tlink:hover svg{transform:scaleX(-1) translateX(3px)}.field{display:flex;flex-direction:column;gap:var(--s1);width:100%}.label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--graphite);letter-spacing:.06em;text-transform:uppercase}.input{width:100%;height:44px;padding:0 var(--s3);border-radius:var(--radius);border:1px solid var(--rule);background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:400;transition:border-color .14s;outline:none}.input::placeholder{color:var(--graphite);font-weight:400}.input:hover{border-color:var(--graphite)}.input:focus,.input:focus-visible{border-color:var(--signal);outline:2px solid var(--signal);outline-offset:2px}textarea.input{height:auto;min-height:104px;padding:12px var(--s3);line-height:1.55;resize:vertical}.select,select.input{width:100%;height:44px;padding:0 var(--s3);border-radius:var(--radius);border:1px solid var(--rule);background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:400;transition:border-color .14s;outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B6E68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--s3) center;-webkit-padding-end:40px;padding-inline-end:40px}html[dir=rtl] .select,html[dir=rtl] select.input{background-position:left var(--s3) center;-webkit-padding-end:var(--s3);padding-inline-end:var(--s3);-webkit-padding-start:40px;padding-inline-start:40px}.select:hover{border-color:var(--graphite)}.select:focus,.select:focus-visible{border-color:var(--signal);outline:2px solid var(--signal);outline-offset:2px}.input-group{position:relative;display:flex;align-items:center;width:100%}.input-group .lead{position:absolute;inset-inline-start:var(--s3);top:50%;transform:translateY(-50%);color:var(--graphite);pointer-events:none;display:flex;align-items:center;justify-content:center}.input-group .lead,.input-group .lead svg{width:16px;height:16px}.input-group:has(.lead) .input{-webkit-padding-start:40px;padding-inline-start:40px}.input-group .trail{position:absolute;inset-inline-end:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:none;cursor:pointer;color:var(--graphite);display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:color .14s}.input-group .trail:hover{color:var(--ink)}.input-group .trail svg{width:16px;height:16px}.input-group:has(.trail) .input{-webkit-padding-end:48px;padding-inline-end:48px}.hint{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--graphite);line-height:1.45}.field.error .input,.field.error .select,.field.error textarea.input{border-color:var(--error)}.field.error .input:focus,.field.error .select:focus{outline-color:var(--error);border-color:var(--error)}.field .err{display:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--error);line-height:1.4}.field.error .err{display:block}.banner{display:none;align-items:flex-start;gap:10px;padding:var(--s2) var(--s3);border-radius:var(--radius-lg);background:var(--error-tint);-webkit-border-start:3px solid var(--error);border-inline-start:3px solid var(--error);color:var(--error);font-size:var(--text-sm);line-height:1.45}.banner.show{display:flex}.banner svg{width:16px;height:16px;flex:none;margin-top:2px}.banner.success{background:var(--success-tint);border-inline-start-color:var(--success);color:var(--success-ink)}.banner.success svg{color:var(--success)}.banner.info{background:var(--signal-soft);border-inline-start-color:var(--signal);color:var(--signal-press)}.banner.info svg{color:var(--signal)}.ctrl .toggle{display:inline-flex;background:transparent;border:1px solid var(--rule);border-radius:var(--radius-lg);padding:2px;gap:2px;height:38px;align-items:center}.ctrl .toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);color:var(--graphite);height:30px;min-width:32px;padding:0 10px;border-radius:var(--radius);transition:.14s;letter-spacing:.04em;text-transform:uppercase}.ctrl .toggle button:hover{color:var(--ink)}.ctrl .toggle button.on{background:var(--ink);color:var(--paper)}.ctrl.onnavy .toggle{background:hsla(50,18%,93%,.06);border-color:hsla(50,18%,93%,.18)}.ctrl.onnavy .toggle button{color:hsla(50,18%,93%,.6)}.ctrl.onnavy .toggle button:hover{color:var(--paper)}.ctrl.onnavy .toggle button.on{background:var(--paper);color:var(--ink)}.auth-wrap{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:88px 22px 48px;overflow:hidden}.auth-top,.auth-wrap{background:var(--paper)}.auth-top{position:absolute;top:0;inset-inline:0;z-index:2;border-bottom:1px solid var(--rule)}.auth-top-inner{max-width:var(--max);margin:0 auto;padding-inline:var(--s5);display:flex;align-items:center;gap:18px;height:72px}.auth-top .brand{display:flex;align-items:center;gap:10px;cursor:pointer}.auth-top .brand .wm{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em;color:#1f6feb;line-height:1}.auth-top .brand .wm-ar{font-family:var(--ar-font);font-size:11px;color:#1f6feb;margin-top:2px;line-height:1}.auth-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:clamp(24px,4vw,32px)}.auth-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s1);margin-bottom:var(--s4)}.auth-head .mk{margin-bottom:var(--s2)}.auth-head h1{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.auth-head .sub{font-size:var(--text-sm);line-height:1.55;color:var(--graphite);max-width:320px}.auth-body,.auth-card form{display:flex;flex-direction:column;gap:var(--s3)}.auth-foot{margin-top:var(--s4);text-align:center;font-size:var(--text-sm);color:var(--graphite)}.auth-foot .lnk,.auth-foot a{color:var(--signal);font-weight:600;cursor:pointer}.auth-foot .lnk:hover,.auth-foot a:hover{text-decoration:underline}.divider{display:flex;align-items:center;gap:12px;color:var(--graphite);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em}.divider:after,.divider:before{content:"";height:1px;flex:1 1;background:var(--rule)}.checkrow{display:flex;align-items:center;gap:var(--s2);font-size:var(--text-sm);color:var(--graphite);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkrow input{width:16px;height:16px;accent-color:var(--signal);cursor:pointer;flex:none}.stepper{gap:0;width:100%}.stepper,.stepper .step{display:flex;align-items:center}.stepper .step{flex-direction:column;gap:6px;flex:1 1;min-width:0}.stepper .step .dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;background:transparent;color:var(--graphite);border:1px solid var(--rule);transition:background .18s,color .18s,border-color .18s}.stepper .step .dot svg{width:15px;height:15px}.stepper .step .lbl{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--graphite);text-align:center;line-height:1.25;transition:color .18s;letter-spacing:.04em;text-transform:uppercase}.stepper .step.on .dot{background:var(--signal);color:#fff;border-color:var(--signal)}.stepper .step.on .lbl{color:var(--ink)}.stepper .step.done .dot{background:var(--success);color:#fff;border-color:var(--success)}.stepper .step.done .lbl{color:var(--graphite)}.stepper .line{flex:1 1;height:1px;background:var(--rule);align-self:flex-start;margin:15px 6px 0;transition:background .18s}.stepper .line.done{background:var(--success)}.stepper.compact{display:flex;flex-direction:column;align-items:stretch;gap:var(--s2)}.stepper.compact .meta{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--graphite)}.stepper.compact .meta .now{color:var(--ink)}.progress{height:3px;background:var(--rule)}.progress,.progress>i{border-radius:var(--radius)}.progress>i{display:block;height:100%;background:var(--signal);transition:width .35s cubic-bezier(.2,.7,.2,1)}.appbar2{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:64px;gap:var(--s3);padding-inline:clamp(18px,4vw,32px);background:var(--paper);border-bottom:1px solid var(--rule)}.appbar2,.appbar2 .brand{display:flex;align-items:center}.appbar2 .brand{gap:10px;cursor:pointer}.appbar2 .brand .wm{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1}.appbar2 .spacer{flex:1 1}.appbar2 .who{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;text-align:end}.appbar2 .who .nm{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--ink)}.appbar2 .who .rl{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--graphite);letter-spacing:.06em;text-transform:uppercase}@media (max-width:560px){.appbar2 .who{display:none}}.card{background:var(--paper);border-radius:0;padding:clamp(var(--s3),2.4vw,var(--s4))}.card,.card.elev{border-top:1px solid var(--rule)}.card.elev{border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card.pad{padding:clamp(var(--s3),3vw,var(--s4))}.card.flush{padding:0}.lift{transition:transform .2s cubic-bezier(.2,.7,.2,1)}.lift:hover{transform:translateY(-2px)}.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding-inline:var(--s2);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;background:var(--neutral-tint);color:var(--graphite);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}.pill svg{width:12px;height:12px}.pill.paid{background:var(--success-tint);color:var(--success)}.pill.partial{background:var(--alert-soft);color:var(--alert)}.pill.overdue{background:var(--error-tint);color:var(--error)}.pill.pending{background:var(--alert-soft);color:var(--alert)}.pill.info{background:var(--signal-soft);color:var(--signal)}[hidden]{display:none!important}.center-text{text-align:center}.full{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}@media (max-width:420px){.auth-wrap{padding:72px 14px 32px}.auth-card{border-radius:var(--radius-lg)}}.shell{display:grid;grid-template-columns:268px 1fr;min-height:100vh;background:var(--paper)}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;-webkit-border-end:1px solid hsla(50,18%,93%,.06);border-inline-end:1px solid hsla(50,18%,93%,.06);overflow:hidden;z-index:40}.sidebar .side-brand{display:flex;align-items:center;gap:10px;cursor:pointer;padding:var(--s4) var(--s4) var(--s3);flex:none;border-bottom:1px solid hsla(50,18%,93%,.08)}.sidebar .side-brand .wm{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--paper);line-height:1}.sidebar .side-brand .wm-ar{font-family:var(--ar-font);font-size:11px;color:hsla(50,18%,93%,.55);margin-top:2px;line-height:1}.sidebar .side-nav{flex:1 1;overflow-y:auto;padding:var(--s1) var(--s2) var(--s2)}.nav-group{margin-top:var(--s3)}.nav-group:first-child{margin-top:var(--s1)}.nav-group .gl{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:hsla(50,18%,93%,.38);padding:6px var(--s3) 6px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 var(--s3);border-radius:var(--radius);cursor:pointer;color:hsla(50,18%,93%,.72);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;background:none;border:0;text-align:start;transition:background .14s,color .14s}.nav-item svg{width:18px;height:18px;flex:none;opacity:.85}.nav-item .nl{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item:hover{background:hsla(50,18%,93%,.08);color:var(--paper)}.nav-item.active{background:hsla(50,18%,93%,.12);color:var(--paper)}.nav-item .count{flex:none;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius);color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:600;line-height:18px;text-align:center}.nav-item .count,.nav-item.active .count{background:var(--signal)}.side-foot{flex:none;padding:var(--s2);border-top:1px solid hsla(50,18%,93%,.08)}.side-user{gap:10px;padding:var(--s2);background:hsla(50,18%,93%,.06)}.side-user,.side-user .av{display:flex;align-items:center;border-radius:var(--radius-lg)}.side-user .av{width:36px;height:36px;flex:none;justify-content:center;background:var(--signal);color:#fff;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700}.side-user .meta{flex:1 1;min-width:0;line-height:1.2}.side-user .nm{font-size:var(--text-sm);font-weight:600;color:var(--paper)}.side-user .nm,.side-user .rl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user .rl{font-family:var(--font-mono);font-size:10px;color:hsla(50,18%,93%,.52);letter-spacing:.04em;text-transform:uppercase}.side-user .out{flex:none;width:30px;height:30px;border:0;border-radius:var(--radius);cursor:pointer;background:transparent;color:hsla(50,18%,93%,.6);display:flex;align-items:center;justify-content:center;transition:background .14s,color .14s}.side-user .out:hover{background:hsla(50,18%,93%,.1);color:var(--paper)}.side-user .out svg{width:16px;height:16px}.main{display:flex;flex-direction:column;min-width:0;min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:64px;flex:none;display:flex;align-items:center;gap:var(--s3);padding-inline:clamp(var(--s3),3vw,var(--s4));background:var(--paper);border-bottom:1px solid var(--rule)}.topbar .page-title{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.1}.topbar .page-sub{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--graphite);line-height:1.1;margin-top:2px;letter-spacing:.06em;text-transform:uppercase}.topbar .spacer{flex:1 1}.topbar .search{position:relative;display:flex;align-items:center;width:min(260px,36vw)}.topbar .search svg{position:absolute;inset-inline-start:10px;width:15px;height:15px;color:var(--graphite);pointer-events:none}.topbar .search input{width:100%;height:36px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-sm);-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:10px;padding-inline-end:10px;outline:none;transition:border-color .14s}.topbar .search input::placeholder{color:var(--graphite)}.topbar .search input:focus{border-color:var(--signal);outline:2px solid var(--signal);outline-offset:2px}.topbar .menu-btn{display:none;width:36px;height:36px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);cursor:pointer;color:var(--ink);align-items:center;justify-content:center;flex:none}.topbar .menu-btn svg{width:18px;height:18px}.content{width:100%}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1px;gap:1px;background:var(--rule)}.kpi{background:var(--paper);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}.kpi.tap{cursor:pointer}.kpi.tap:hover{background:rgba(26,27,24,.02)}.kpi .kpi-top{gap:var(--s2)}.kpi .kpi-ic,.kpi .kpi-top{display:flex;align-items:center}.kpi .kpi-ic{width:36px;height:36px;flex:none;justify-content:center;color:var(--graphite)}.kpi .kpi-ic svg{width:20px;height:20px}.kpi .kpi-ic.success{color:var(--success)}.kpi .kpi-ic.warning{color:var(--alert)}.kpi .kpi-ic.error{color:var(--error)}.kpi .kpi-ic.neutral,.kpi .kpi-label{color:var(--graphite)}.kpi .kpi-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase}.kpi .kpi-value{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .kpi-value .unit{font-size:var(--text-base);font-weight:500;color:var(--graphite);-webkit-margin-start:3px;margin-inline-start:3px;letter-spacing:0}.kpi .kpi-value.success{color:var(--success)}.kpi .kpi-value.error{color:var(--error)}.kpi .kpi-value.primary{color:var(--signal)}.kpi .kpi-value.warning{color:var(--alert)}.delta{display:inline-flex;align-items:center;gap:3px;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--graphite);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.delta svg{width:12px;height:12px}.delta.up{color:var(--success)}.delta.down{color:var(--error)}.delta.warn{color:var(--alert)}.delta.info{color:var(--signal)}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.tbl thead th{background:var(--paper);text-align:start;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);padding:var(--s2) var(--s3);white-space:nowrap}.tbl tbody td,.tbl thead th{border-bottom:1px solid var(--rule)}.tbl tbody td{padding:var(--s3) var(--s3);color:var(--ink);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr{transition:background .1s}.tbl tbody tr:hover{background:rgba(26,27,24,.025)}.tbl tbody tr.clickable{cursor:pointer}.tbl .num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.tbl .num,.tbl th.num{text-align:end}.tbl .strong{font-weight:700}.apt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));grid-gap:1px;gap:1px;background:var(--rule)}.apt-cell{position:relative;aspect-ratio:1/1;cursor:pointer;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:var(--s2);transition:background .14s}.apt-cell:hover{background:rgba(26,27,24,.03)}.apt-cell .unit{font-family:var(--font-mono);font-size:var(--text-md);font-weight:600;letter-spacing:-.02em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.apt-cell .sub{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--graphite);text-align:center;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}.apt-cell .dot{position:absolute;top:var(--s2);inset-inline-end:var(--s2);width:7px;height:7px;border-radius:50%;background:var(--graphite)}.apt-cell .dot.paid{background:var(--success)}.apt-cell .dot.partial{background:var(--alert)}.apt-cell .dot.overdue{background:var(--error)}.apt-cell .dot.vacant{background:var(--rule)}.apt-cell.overdue:before,.apt-cell.paid:before,.apt-cell.partial:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px}.apt-cell.paid:before{background:var(--success)}.apt-cell.partial:before{background:var(--alert)}.apt-cell.overdue:before{background:var(--error)}.apt-cell.vacant{background:rgba(26,27,24,.02)}.apt-legend{display:flex;flex-wrap:wrap;gap:var(--s3)}.apt-legend .lg{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--graphite);letter-spacing:.04em;text-transform:uppercase}.apt-legend .lg i{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--graphite)}.apt-legend .lg.paid i{background:var(--success)}.apt-legend .lg.partial i{background:var(--primary)}.apt-legend .lg.overdue i{background:var(--error)}.apt-legend .lg.vacant i{background:var(--faint)}.seg{display:inline-flex;background:transparent;border:1px solid var(--rule);border-radius:var(--radius-lg);padding:2px;gap:2px}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);height:26px;min-width:36px;padding:0 10px;border-radius:var(--radius);color:var(--graphite);background:none;transition:background .14s,color .14s;letter-spacing:.04em;text-transform:uppercase}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--ink);color:var(--paper)}.seg button:disabled{cursor:not-allowed;opacity:.45}.seg.full{display:flex}.seg.full button{flex:1 1}.chip{display:inline-flex;align-items:center;gap:5px;height:30px;padding-inline:12px;border-radius:var(--radius);cursor:pointer;background:transparent;color:var(--graphite);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;border:1px solid var(--rule);transition:background .14s,color .14s,border-color .14s;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.on{background:var(--signal-soft);color:var(--signal);border-color:var(--signal)}.chip svg{width:13px;height:13px}.chart-card{background:var(--paper);border-top:1px solid var(--rule);padding:var(--s3) var(--s3) var(--s2)}.chart-card .chart-head{display:flex;align-items:center;gap:12px;margin-bottom:var(--s2)}.chart-card .chart-head .ct{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;color:var(--ink)}.chart-wrap{width:100%;height:220px}.chart-wrap.sm{height:160px}.chart-wrap.lg{height:300px}.rshell{max-width:560px;margin:0 auto;min-height:100vh;flex-direction:column;position:relative;border-inline:1px solid var(--rule)}.rshell,.rtopbar{background:var(--paper);display:flex}.rtopbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:56px;flex:none;align-items:center;gap:12px;padding-inline:var(--s3);border-bottom:1px solid var(--rule)}.rtopbar .brand{display:flex;align-items:center;gap:10px;cursor:pointer}.rtopbar .brand .wm{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1}.rtopbar .spacer{flex:1 1}.bell{position:relative;width:36px;height:36px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:transparent;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center;flex:none;transition:background .14s}.bell:hover{background:rgba(26,27,24,.04)}.bell svg{width:18px;height:18px}.bell .dot{position:absolute;top:6px;inset-inline-end:6px;min-width:14px;height:14px;padding:0 3px;border-radius:var(--radius);background:var(--error);color:#fff;font-family:var(--font-mono);font-size:9px;font-weight:600;line-height:14px;text-align:center;border:1.5px solid var(--paper)}.rbody{flex:1 1;padding:var(--s3) var(--s3) 88px;overflow-y:auto}.rtabs{position:-webkit-sticky;position:sticky;bottom:0;z-index:30;flex:none;display:flex;align-items:stretch;background:var(--paper);border-top:1px solid var(--rule);padding:6px 4px max(6px,env(safe-area-inset-bottom))}.rtabs .rtab{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;background:none;border:0;font-family:inherit;color:var(--graphite);padding:4px 2px;transition:color .14s}.rtabs .rtab svg{width:20px;height:20px}.rtabs .rtab .tl{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.rtabs .rtab:hover{color:var(--ink)}.rtabs .rtab.on,.rtabs .rtab.pay{color:var(--signal)}.rtabs .rtab.pay .pic{width:42px;height:42px;border-radius:var(--radius-lg);margin-top:-16px;display:flex;align-items:center;justify-content:center;background:var(--signal);color:#fff;box-shadow:0 2px 8px rgba(45,78,204,.25)}.rtabs .rtab.pay .pic svg{width:22px;height:22px}.balance-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);color:var(--paper);padding:var(--s4);background:var(--ink)}.balance-card .bc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.balance-card .bc-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:hsla(50,18%,93%,.72);letter-spacing:.08em;text-transform:uppercase}.balance-card .bc-amount{font-family:var(--font-mono);font-size:clamp(26px,8vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1;margin-top:var(--s2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--paper)}.balance-card .bc-due{display:flex;align-items:center;gap:6px;margin-top:6px;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:hsla(50,18%,93%,.7);letter-spacing:.04em}.balance-card .bc-due svg{width:13px;height:13px}.balance-card .bc-badge{display:inline-flex;align-items:center;height:20px;padding-inline:var(--s2);border-radius:var(--radius);font-family:var(--font-mono);font-size:10px;font-weight:600;background:hsla(50,18%,93%,.14);color:var(--paper);letter-spacing:.04em;text-transform:uppercase}.balance-card .bc-badge.overdue{background:var(--error);color:#fff}.inv-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);background:var(--paper);border-bottom:1px solid var(--rule);cursor:pointer;transition:background .12s}.inv-row:hover{background:rgba(26,27,24,.025)}.inv-row .iv-ic{width:38px;height:38px;border-radius:var(--radius-lg);flex:none;display:flex;align-items:center;justify-content:center;color:var(--graphite)}.inv-row .iv-ic svg{width:20px;height:20px}.inv-row .iv-main{flex:1 1;min-width:0}.inv-row .iv-title{font-size:var(--text-sm);font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-row .iv-sub{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--graphite);margin-top:2px;letter-spacing:.03em}.inv-row .iv-amount{font-family:var(--font-mono);font-size:var(--text-base);font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.inv-row .iv-end{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 var(--s2)}.sec-head .st{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:-.01em;color:var(--ink)}.sec-head .sa{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--signal);cursor:pointer;background:none;border:0;letter-spacing:.06em;text-transform:uppercase}.sec-head .sa:hover{text-decoration:underline}.sec-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0}.page-stack{display:flex;flex-direction:column;gap:var(--s3)}@media (max-width:980px){.shell{grid-template-columns:1fr}.shell .sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:280px;height:100vh;transform:translateX(-100%);transition:transform .26s cubic-bezier(.2,.7,.2,1);box-shadow:var(--shadow-lg);z-index:60}html[dir=rtl] .shell .sidebar{transform:translateX(100%)}.shell.nav-open .sidebar{transform:translateX(0)}.shell.nav-open:before{content:"";position:fixed;inset:0;z-index:35;background:rgba(26,27,24,.55);animation:shellFade .2s ease}.shell .topbar .menu-btn{display:flex}.shell .topbar .search{width:min(200px,30vw)}}@keyframes shellFade{0%{opacity:0}to{opacity:1}}@media (max-width:600px){.topbar .search{display:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi .kpi-value{font-size:var(--text-xl)}.apt-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}}.skip-link{position:absolute;top:0;inset-inline-start:0;z-index:1000;transform:translateY(-120%);padding:10px var(--s3);margin:var(--s2);background:var(--paper);color:var(--signal);border:1px solid var(--signal);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:transform .14s}.skip-link:focus{transform:translateY(0)}.owner-main .topbar .ctrl,.resident-top .ctrl{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;min-width:36px;padding:0 10px;border:1px solid var(--rule);background:transparent;border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);color:var(--graphite);transition:.14s;letter-spacing:.04em;text-transform:uppercase}.owner-main .topbar .ctrl:hover,.resident-top .ctrl:hover{color:var(--ink);border-color:var(--ink)}.owner-shell{display:grid;grid-template-columns:268px 1fr;min-height:100vh}.owner-shell .sidebar{display:flex;flex-direction:column;height:100vh;position:-webkit-sticky;position:sticky;top:0;background:var(--ink);color:var(--paper);overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:10px;height:64px;flex:none;padding:0 var(--s4);color:var(--paper);text-decoration:none;border-bottom:1px solid hsla(50,18%,93%,.06)}.sidebar-wordmark{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--paper)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:var(--s1) var(--s2) var(--s3)}.sidebar-nav .nav-group{margin-top:var(--s3)}.sidebar-nav .nav-group:first-child{margin-top:var(--s1)}.nav-group-label{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:hsla(50,18%,93%,.38);padding:0 var(--s3) var(--s2)}.owner-shell .nav-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding-block:8px;padding-inline:var(--s3);margin-bottom:2px;border-radius:var(--radius);color:hsla(50,18%,93%,.68);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;text-decoration:none;background:none;border:0;text-align:start;transition:background .13s,color .13s}.owner-shell .nav-item:hover{background:hsla(50,18%,93%,.08);color:var(--paper)}.owner-shell .nav-item.active{background:hsla(50,18%,93%,.12);color:var(--paper);font-weight:600}.owner-shell .nav-item svg{flex:none;width:17px;height:17px;opacity:.9}.owner-shell .nav-item.logout{color:hsla(50,18%,93%,.55);margin-top:4px}.owner-shell .nav-item.logout:hover{background:rgba(184,50,50,.14);color:#e8a0a0}.sidebar-foot{padding:var(--s2);border-top:1px solid hsla(50,18%,93%,.08)}.sidebar-user{padding:6px;border-radius:var(--radius-lg);margin-bottom:4px}.sidebar-avatar{width:32px;height:32px;border-radius:var(--radius-lg);background:var(--signal);color:#fff;font-family:var(--font-mono);display:flex;align-items:center;justify-content:center;flex:none}.sidebar-avatar,.sidebar-user-name{font-weight:600;font-size:var(--text-sm)}.sidebar-user-name{font-family:var(--font-body);color:var(--paper);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-family:var(--font-mono);font-size:10px;color:hsla(50,18%,93%,.48);letter-spacing:.04em;text-transform:uppercase}.sidebar-building-switch{margin:4px 14px 10px}.owner-main{flex-direction:column;min-width:0;min-height:100vh}.owner-main,.owner-main .topbar{display:flex;background:var(--paper)}.owner-main .topbar{height:64px;flex:none;align-items:center;gap:var(--s3);padding-inline:var(--s3);border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar-title{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink);line-height:1.1}.owner-content{padding:var(--s3);max-width:none;width:100%}.resident-shell{flex-direction:column;min-height:100vh;max-width:560px;margin:0 auto;border-inline:1px solid var(--rule)}.resident-shell,.resident-top{display:flex;background:var(--paper)}.resident-top{height:56px;flex:none;align-items:center;gap:12px;padding-inline:var(--s3);border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;z-index:20}.resident-building{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resident-content{flex:1 1;padding:var(--s3);padding-bottom:calc(var(--s3) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--s3)}.resident-tabs{position:-webkit-sticky;position:sticky;bottom:0;display:flex;height:60px;padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--rule);z-index:20}.resident-tab{flex:1 1;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:var(--font-mono);font-size:10px;font-weight:500;text-decoration:none;padding:6px 0;transition:color .13s;letter-spacing:.04em;text-transform:uppercase}.resident-tab,.resident-tab:hover{color:var(--graphite)}.resident-tab.active{color:var(--signal)}.resident-tab svg{width:19px;height:19px}.resident-tab-label{font-size:10px}@media (max-width:860px){.owner-shell{grid-template-columns:1fr}.owner-shell .sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);padding-top:max(var(--s2),env(safe-area-inset-top));-webkit-border-end:0;border-inline-end:0;border-bottom:1px solid hsla(50,18%,93%,.08)}.owner-shell .sidebar-brand{padding:4px;flex:none;border-bottom:0}.sidebar-building-switch{margin:0;flex:none;order:2;max-width:min(46vw,220px)}.sidebar-building-switch .select{height:36px;width:auto}.owner-shell .sidebar-nav{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:2px;gap:4px;flex:1 1 100%;order:3;scrollbar-width:none;scroll-snap-type:x proximity}.owner-shell .sidebar-nav::-webkit-scrollbar{height:0;width:0}.owner-shell .sidebar-nav .nav-group{margin:0;display:flex;gap:4px;flex:none}.owner-shell .nav-group-label{display:none}.owner-shell .nav-item{flex:none;width:auto;min-height:36px;margin-bottom:0;padding-block:6px;padding-inline:12px;border-radius:var(--radius-lg);white-space:nowrap;scroll-snap-align:start}.owner-shell .nav-item.active{border-bottom:2px solid var(--signal)}.owner-shell .nav-item span{white-space:nowrap}.owner-shell .sidebar-foot{border-top:0;padding:0;-webkit-margin-start:auto;margin-inline-start:auto;flex:none}.owner-shell .sidebar-user{display:none}.owner-shell .nav-item.logout{width:auto;margin-top:0}.owner-main{min-height:0;flex:1 1 auto}}@media (max-width:720px){.owner-content{padding:var(--s2)}.resident-content{gap:var(--s2)}.balance-card{padding:var(--s3)}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seg{flex-wrap:wrap}.tbl-wrap{max-width:100%}}@media (max-width:600px){.card{padding:clamp(var(--s2),3.6vw,var(--s3))}.card.pad{padding:clamp(var(--s2),4vw,var(--s3))}.chart-card{padding:var(--s3) var(--s2) var(--s2)}.kpi{padding:var(--s3)}.field{width:100%}.input,.select,select.input{height:46px;font-size:16px}.topbar .search input,textarea.input{font-size:16px}.checkrow input{width:18px;height:18px}.btn{height:44px}.btn.sm{height:36px}.btn.lg{height:50px}.seg{display:flex;width:100%}.seg button{flex:1 1;min-width:0}.chart-card .chart-head{flex-wrap:wrap}.chip{height:32px}.sec-head{flex-wrap:wrap}.inv-row{gap:10px;padding:var(--s2) var(--s3)}.stepper .step .lbl{display:none}}@media (max-width:480px){.owner-content{padding:var(--s2)}.resident-content{padding:var(--s2);padding-bottom:calc(var(--s2) + env(safe-area-inset-bottom))}.kpi-grid{grid-template-columns:1fr}.apt-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.topbar .page-title,.topbar-title{font-size:var(--text-base)}.sec-head .st,.sec-title{font-size:var(--text-sm)}.kpi .kpi-value{font-size:var(--text-lg)}[role=dialog] .card.pad{padding:var(--s3)}}@media (max-width:380px){.card{padding:var(--s2)}.card.pad{padding:var(--s3)}.apt-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.apt-cell .unit{font-size:var(--text-base)}.owner-shell .nav-item{padding-inline:10px}.resident-tab-label{font-size:9px}}.res2-main{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.res2-side,.res2-topbar{display:none}.res2 .ctrl{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;min-width:36px;padding:0 10px;border:1px solid var(--rule);background:transparent;border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);color:var(--graphite);transition:.14s;letter-spacing:.04em;text-transform:uppercase}.res2 .ctrl:hover{color:var(--ink);border-color:var(--ink)}.res2-page{width:100%;max-width:none;margin-inline:0;display:flex;flex-direction:column;gap:var(--s3);flex:1 1 auto;min-height:0}.res2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px var(--s3);flex-wrap:wrap}.res2-head-copy{min-width:0;flex:1 1 220px;display:flex;flex-direction:column;gap:3px}.res2-h1{font-family:var(--font-display);font-size:clamp(19px,2.4vw,22px);font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}.res2-h1,.res2-hsub{margin:0;overflow-wrap:anywhere}.res2-hsub{font-size:var(--text-sm);color:var(--graphite);line-height:1.45}.res2-actions{display:flex;align-items:center;gap:var(--s2);flex:none;flex-wrap:wrap}.res2-grid{display:grid;grid-gap:var(--s2);gap:var(--s2);grid-template-columns:minmax(0,1fr);align-items:stretch}@media (min-width:760px){.res2-grid.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.res2-grid.cards{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}}.res2-cols,.res2-cols .res2-col{display:flex;flex-direction:column;gap:var(--s3)}.res2-cols .res2-col{min-width:0}@media (min-width:980px){.res2-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-gap:var(--s4);gap:var(--s4);align-items:start}.res2-cols.even{grid-template-columns:repeat(2,minmax(0,1fr))}}.res2-acc-grid{display:flex;flex-direction:column;min-width:0}.res2-acc-grid>*{min-width:0}@media (min-width:980px){.res2-acc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 var(--s4);gap:0 var(--s4);align-items:start}}@media (min-width:900px){.resident-shell.res2{display:grid;grid-template-columns:256px minmax(0,1fr);max-width:none;margin:0;border-inline:0;background:var(--paper)}.res2 .resident-tabs,.res2 .resident-top{display:none}.res2-main{min-height:100vh;background:var(--paper)}.res2 .resident-content{padding:clamp(var(--s4),3vw,var(--s5)) clamp(var(--s3),3.4vw,var(--s5)) var(--s6)}.res2-side{display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--paper);-webkit-border-end:1px solid var(--rule);border-inline-end:1px solid var(--rule);overflow:hidden;z-index:30}.res2-brand{display:flex;align-items:center;gap:10px;padding:var(--s4) var(--s4) var(--s3);text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule)}.res2-brand-copy{display:flex;flex-direction:column;min-width:0}.res2-wordmark{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}.res2-bname{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--graphite);line-height:1.25;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.06em;text-transform:uppercase}.res2-nav{flex:1 1;overflow-y:auto;padding:4px var(--s2) var(--s3)}.res2-group{margin-top:var(--s3)}.res2-group:first-child{margin-top:6px}.res2-group-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:0 var(--s3) var(--s2)}.res2-group-label,.res2-item{font-weight:500;color:var(--graphite)}.res2-item{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:8px var(--s3);margin-bottom:2px;border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;text-decoration:none;background:none;border:0;text-align:start;transition:background .13s,color .13s}.res2-item svg{flex:none;width:17px;height:17px}.res2-item:hover{background:rgba(26,27,24,.04);color:var(--ink)}.res2-item.active{color:var(--signal);font-weight:600;-webkit-padding-start:var(--s3);padding-inline-start:var(--s3)}.res2-item .res2-item-label{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res2-foot{flex:none;padding:var(--s2);border-top:1px solid var(--rule)}.res2-user{gap:10px;padding:var(--s2);margin-bottom:6px}.res2-avatar,.res2-user{display:flex;align-items:center;border-radius:var(--radius-lg)}.res2-avatar{width:32px;height:32px;background:var(--signal-soft);color:var(--signal);font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm);justify-content:center;flex:none}.res2-user-name{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--ink);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res2-user-role{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--graphite);line-height:1.3;letter-spacing:.04em;text-transform:uppercase}.res2-logout{color:var(--graphite);margin-bottom:0}.res2-logout:hover{color:var(--error)}.res2-topbar{display:flex;align-items:center;gap:10px;height:64px;flex:none;padding-inline:clamp(var(--s3),3vw,var(--s4));background:var(--paper);border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;z-index:25}.res2-title{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink);line-height:1.1;margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.admin-shell{--a-bg:var(--paper);--a-bg-2:var(--paper);--a-panel:var(--paper);--a-panel-2:rgba(26,27,24,.03);--a-line:var(--rule);--a-line-2:var(--rule);--a-ink:var(--ink);--a-sub:var(--graphite);--a-faint:var(--graphite);--a-primary:var(--signal);--a-accent:var(--signal);display:grid;grid-template-columns:248px 1fr;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--font-body)}.admin-sidebar{display:flex;flex-direction:column;height:100vh;position:-webkit-sticky;position:sticky;top:0;background:var(--paper);-webkit-border-end:1px solid var(--rule);border-inline-end:1px solid var(--rule);overflow:hidden}.admin-sidebar-head{display:block}.admin-brand{display:flex;align-items:center;gap:10px;height:64px;flex:none;padding:0 var(--s4);text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule)}.admin-backdrop,.admin-drawer-close,.admin-hamburger{display:none}.admin-brand-text{display:flex;align-items:center;gap:7px}.admin-wordmark{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.admin-badge{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--signal);padding:2px 6px;border-radius:var(--radius);line-height:1.4}.admin-nav{flex:1 1;overflow-y:auto;padding:var(--s2)}.admin-nav-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:6px var(--s3) var(--s2)}.admin-nav-item,.admin-nav-label{font-weight:500;color:var(--graphite)}.admin-nav-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px var(--s3);margin-bottom:2px;border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;text-decoration:none;background:none;border:0;text-align:start;transition:background .13s,color .13s}.admin-nav-item svg{flex:none;width:17px;height:17px;opacity:.85}.admin-nav-item:hover{background:rgba(26,27,24,.04);color:var(--ink)}.admin-nav-item.active{color:var(--signal);font-weight:600;-webkit-padding-start:var(--s3);padding-inline-start:var(--s3)}.admin-sidebar-foot{padding:var(--s2);border-top:1px solid var(--rule)}.admin-logout{color:var(--graphite)}.admin-logout:hover{color:var(--error);background:rgba(184,50,50,.07)}.admin-main{flex-direction:column;min-width:0;min-height:100vh}.admin-main,.admin-topbar{display:flex;background:var(--paper)}.admin-topbar{height:64px;flex:none;align-items:center;justify-content:space-between;gap:12px;padding:0 var(--s4);border-bottom:1px solid var(--rule);position:-webkit-sticky;position:sticky;top:0;z-index:20}.admin-title{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-refresh{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--rule);background:transparent;color:var(--graphite);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:.14s;letter-spacing:.04em;text-transform:uppercase}.admin-refresh svg{width:14px;height:14px}.admin-refresh:hover{background:rgba(26,27,24,.04);color:var(--ink);border-color:var(--ink)}.admin-content{padding:clamp(var(--s3),2.4vw,var(--s4));max-width:none;width:100%;margin:0 auto}.admin-boot{background:var(--paper);color:var(--graphite)}.admin-boot-text,.admin-state{color:var(--graphite);font-weight:600}.admin-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);min-height:50vh;text-align:center}.admin-state-error{color:var(--error)}.admin-spinner{display:inline-block;width:34px;height:34px;background:50%/contain no-repeat;animation:m3reveal 1.05s cubic-bezier(.45,.05,.35,1) infinite;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='25 25 70 70' fill='%232D4ECC'%3E%3Cpath fill-rule='evenodd' d='M50,28h20v64h-20zM53.5,37h6v6h-6zM60.5,37h6v6h-6zM53.5,47h6v6h-6zM60.5,47h6v6h-6zM53.5,57h6v6h-6zM60.5,57h6v6h-6zM53.5,67h6v6h-6zM60.5,67h6v6h-6zM56,78h8v14h-8z'/%3E%3Cpath fill-rule='evenodd' d='M34,46h18v46h-18zM40,53h6v6h-6zM40,64h6v6h-6zM40,75h6v6h-6z'/%3E%3Cpath fill-rule='evenodd' d='M68,46h18v46h-18zM74,53h6v6h-6zM74,64h6v6h-6zM74,75h6v6h-6z'/%3E%3C/svg%3E")}@media(prefers-reduced-motion:reduce){.admin-spinner{animation:none;-webkit-clip-path:none;clip-path:none}}.admin-dash{display:flex;flex-direction:column;gap:var(--s4)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--rule)}.stat-card{position:relative;overflow:hidden;padding:var(--s3) var(--s3) var(--s2);background:var(--paper);animation:adminRise .5s cubic-bezier(.2,.7,.2,1) both}.stat-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.stat-card-label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--graphite);letter-spacing:.08em;text-transform:uppercase}.stat-card-icon{width:28px;height:28px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--graphite)}.stat-card-value{margin-top:var(--s3);font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:600;line-height:1.05;letter-spacing:-.02em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-card-value :where(span){font-weight:600}.stat-card-sub{margin-top:var(--s1);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--graphite);letter-spacing:.04em}@keyframes adminRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.chart-row{display:grid;grid-gap:1px;gap:1px;background:var(--rule)}.chart-row.two{grid-template-columns:1fr 1fr}.chart-row.one{grid-template-columns:1fr}.admin-shell .chart-card{padding:var(--s3) var(--s3) var(--s2);background:var(--paper);border-top:0;animation:adminRise .55s cubic-bezier(.2,.7,.2,1) both}.admin-shell .chart-card-head{margin-bottom:var(--s2)}.admin-shell .chart-card-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;color:var(--ink)}.admin-shell .chart-card-sub{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--graphite);margin-top:2px;letter-spacing:.04em}.admin-shell .chart-body{margin-top:var(--s1)}.admin-shell .chart-empty{height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--graphite);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.admin-shell .chart-empty svg{width:24px;height:24px;opacity:.5}.admin-shell .recharts-legend-item-text{color:var(--graphite)!important}.admin-shell .recharts-cartesian-axis-tick-value{fill:var(--graphite)}.admin-shell .recharts-default-tooltip{background:var(--paper)!important;border:1px solid var(--rule)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow)!important}.admin-shell .recharts-tooltip-label{color:var(--ink)!important;font-weight:700;font-family:var(--font-display)}.admin-shell .recharts-tooltip-item,.admin-shell .recharts-tooltip-item-name,.admin-shell .recharts-tooltip-item-separator,.admin-shell .recharts-tooltip-item-value{color:var(--graphite)!important}.admin-select{position:relative}.admin-select,.admin-select-trigger{display:inline-flex;min-width:0;max-width:100%}.admin-select-trigger{align-items:center;gap:6px;height:34px;padding:0 8px 0 10px;border-radius:var(--radius);border:1px solid var(--rule);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .14s,border-color .14s;letter-spacing:.04em;text-transform:uppercase}.admin-select-trigger:hover{background:rgba(26,27,24,.04);border-color:var(--graphite)}.admin-select-trigger:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-color:var(--signal)}.admin-select-trigger[data-open=true]{border-color:var(--signal)}.admin-select-trigger .asv{overflow:hidden;text-overflow:ellipsis;min-width:0}.admin-select-trigger .asc{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--graphite);flex:none;display:inline-flex;transition:transform .16s}.admin-select-trigger[data-open=true] .asc{transform:rotate(180deg)}.admin-select-panel{position:fixed;z-index:1000;min-width:160px;max-height:min(60vh,320px);overflow-y:auto;padding:4px;border-radius:var(--radius-lg);border:1px solid var(--rule);background:var(--paper);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1px}.admin-select-group{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);padding:6px 10px 3px}.admin-select-opt{display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 10px;border-radius:var(--radius);border:0;background:none;color:var(--ink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;text-align:start;white-space:nowrap;transition:background-color .12s}.admin-select-opt:hover{background:rgba(26,27,24,.05)}.admin-select-opt:focus-visible{outline:2px solid var(--signal);outline-offset:-2px;border-radius:var(--radius)}.admin-select-opt[data-active=true]{background:var(--signal-soft);color:var(--signal)}.admin-select-opt .aso-check{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--signal);flex:none}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--s4);background:var(--paper);font-family:var(--font-body);color:var(--ink)}.admin-login-card{width:100%;max-width:380px;border-radius:var(--radius-lg);padding:var(--s4) var(--s4) var(--s3);background:var(--paper);border:1px solid var(--rule)}.admin-login-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:var(--s3)}.admin-login-head h1{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;color:var(--ink)}.admin-login-head p{font-size:var(--text-sm);color:var(--graphite)}.admin-login-error{display:flex;align-items:center;gap:8px;margin-bottom:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--radius-lg);background:var(--error-tint);-webkit-border-start:3px solid var(--error);border-inline-start:3px solid var(--error);color:var(--error);font-size:var(--text-sm)}.admin-login-error svg{flex:none;width:15px;height:15px}.admin-field{margin-bottom:var(--s2)}.admin-label{display:block;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--graphite);margin-bottom:6px;letter-spacing:.06em;text-transform:uppercase}.admin-input-group{display:flex;align-items:center;gap:8px;height:44px;padding:0 var(--s3);border-radius:var(--radius);background:var(--paper);border:1px solid var(--rule);transition:border-color .14s}.admin-input-group:focus-within{border-color:var(--signal);outline:2px solid var(--signal);outline-offset:2px}.admin-lead{display:flex;flex:none;color:var(--graphite)}.admin-input{flex:1 1;min-width:0;background:none;border:0;outline:none;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base)}.admin-input::placeholder{color:var(--graphite)}.admin-trail{display:flex;flex:none;background:none;border:0;cursor:pointer;color:var(--graphite);padding:0}.admin-trail:hover{color:var(--ink)}.admin-login-foot{margin-top:var(--s3);text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--graphite);letter-spacing:.04em}@media (max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-shell .admin-sidebar{position:fixed;inset-block:0;inset-inline-start:0;height:100vh;width:min(82vw,290px);z-index:60;transform:translateX(-100%);transition:transform .26s cubic-bezier(.2,.7,.2,1);box-shadow:var(--shadow-lg);will-change:transform}.admin-shell[dir=rtl] .admin-sidebar,[dir=rtl] .admin-shell .admin-sidebar{inset-inline-start:auto;inset-inline-end:0;transform:translateX(100%)}.admin-shell .admin-sidebar.open{transform:translateX(0)}.admin-shell .admin-backdrop{display:block;position:fixed;inset:0;z-index:55;border:0;padding:0;cursor:pointer;background:rgba(26,27,24,.45);opacity:0;visibility:hidden;transition:opacity .26s ease,visibility .26s ease}.admin-shell.drawer-open .admin-backdrop{opacity:1;visibility:visible}.admin-shell .admin-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-shell .admin-drawer-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;-webkit-margin-end:var(--s2);margin-inline-end:var(--s2);border-radius:var(--radius);border:1px solid var(--rule);background:transparent;color:var(--graphite);cursor:pointer;transition:.14s}.admin-shell .admin-drawer-close:hover{color:var(--ink);border-color:var(--ink)}.admin-shell .admin-hamburger{display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;border-radius:var(--radius);border:1px solid var(--rule);background:transparent;color:var(--ink);cursor:pointer;transition:.14s}.admin-shell .admin-hamburger:hover{background:rgba(26,27,24,.04);border-color:var(--graphite)}.admin-shell .admin-topbar{padding:0 var(--s2);gap:10px}.admin-shell .admin-title{font-size:var(--text-base);-webkit-margin-end:auto;margin-inline-end:auto}.chart-row.two{grid-template-columns:1fr}}@media (max-width:560px){.stat-grid{grid-template-columns:1fr 1fr;gap:1px}.stat-card-value{font-size:var(--text-xl)}}@media (max-width:400px){.stat-grid{grid-template-columns:1fr}.admin-shell .admin-topbar{padding:0 var(--s2)}.admin-shell .admin-refresh span{display:none}.admin-shell .admin-refresh{padding:0 10px}}.appdesign{--paper:#fff;--bg:#f7f9fc;--surface:#fff;--ink:#101828;--graphite:#475467;--rule:#e4e7ec;--line:#e4e7ec;--line-2:#e4e7ec;--subtle:#475467;--faint:#667085;--signal:#1f6feb;--signal-hover:#1a5fd0;--signal-press:#0b3d91;--signal-soft:#eaf1fe;--primary:#1f6feb;--primary-press:#0b3d91;--primary-tint:#eaf1fe;--success:#13a36b;--success-tint:#e6f6ef;--success-ink:#0b7a4e;--alert:#f59e0b;--warning:#f59e0b;--warning-ink:#8a5a16;--alert-soft:#fef3e2;--warning-tint:#fef3e2;--error:#dc2626;--error-tint:#fbeaea;--neutral-tint:#f2f4f7;--brand-navy:#0b3d91;--brand-navy-ink:#0b3d91;--font-body:"Space Grotesk",system-ui,sans-serif;--font-display:"Space Grotesk",system-ui,sans-serif;--font-mono:"Space Grotesk",system-ui,sans-serif;--ar-font:"Tajawal",sans-serif;--radius:8px;--radius-lg:12px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(16,24,40,.05);--shadow:0 4px 16px rgba(16,24,40,.08);--shadow-lg:0 12px 32px rgba(16,24,40,.14);--ring:0 0 0 3px rgba(31,111,235,.18);background:var(--bg);color:var(--ink)}[data-theme=dark] .appdesign{--paper:#1a1d24;--bg:#101218;--surface:#1a1d24;--ink:#f2f4f7;--graphite:#98a2b3;--rule:#2a2f3a;--line:#2a2f3a;--line-2:#2a2f3a;--subtle:#98a2b3;--faint:#98a2b3;--signal:#4d8df2;--signal-hover:#6ba1f5;--signal-press:#84b2f7;--signal-soft:#16233b;--primary:#4d8df2;--primary-press:#84b2f7;--primary-tint:#16233b;--success:#2ea363;--success-tint:#10271f;--success-ink:#2ea363;--alert:#f59e0b;--warning:#f59e0b;--warning-ink:#f59e0b;--alert-soft:#2e2410;--warning-tint:#2e2410;--error:#e5484d;--error-tint:#2e1717;--neutral-tint:#22262f;--brand-navy:#0b3d91;--brand-navy-ink:#9dbbf5;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow:0 4px 16px rgba(0,0,0,.4);--shadow-lg:0 12px 32px rgba(0,0,0,.5)}.appdesign .apt-cell .sub,.appdesign .apt-legend .lg,.appdesign .balance-card .bc-badge,.appdesign .balance-card .bc-due,.appdesign .balance-card .bc-label,.appdesign .chip,.appdesign .ctrl,.appdesign .delta,.appdesign .eyebrow,.appdesign .hint,.appdesign .inv-row .iv-sub,.appdesign .kpi .kpi-value .unit,.appdesign .kpi-label,.appdesign .label,.appdesign .nav-group-label,.appdesign .pill,.appdesign .res2-bname,.appdesign .res2-group-label,.appdesign .res2-user-role,.appdesign .resident-tab .tl,.appdesign .resident-tab-label,.appdesign .sec-head .sa,.appdesign .seg button,.appdesign .sidebar-user-role,.appdesign .tbl thead th,.appdesign .topbar .page-sub{font-family:var(--font-body);text-transform:none;letter-spacing:normal}.appdesign .balance-card .bc-amount,.appdesign .inv-row .iv-amount,.appdesign .kpi-value,.appdesign .money,.appdesign .mono,.appdesign .num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.appdesign .btn{font-weight:700}.appdesign .btn.tonal{color:var(--signal)}.appdesign .btn.tonal,.appdesign .btn.tonal:hover{background:var(--signal-soft);border-color:transparent}.appdesign .btn.tonal:hover{filter:brightness(.97)}.appdesign .card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.appdesign .card.elev{box-shadow:var(--shadow)}.appdesign .card.flush{padding:0}.appdesign .pill{height:auto;padding:4.5px 10px;border-radius:var(--radius);font-family:var(--font-body);font-weight:800;font-size:11.5px;letter-spacing:.1px;text-transform:none}.appdesign .pill.paid{background:var(--success-tint);color:var(--success)}.appdesign .pill.partial{background:var(--signal-soft);color:var(--signal)}.appdesign .pill.pending{background:var(--warning-tint);color:var(--warning-ink)}.appdesign .pill.overdue{background:var(--error-tint);color:var(--error)}.appdesign .pill.info{background:var(--signal-soft);color:var(--signal)}.appdesign .chip{height:32px;border-radius:var(--radius-pill);font-weight:600}.appdesign .chip.on{background:var(--signal-soft);color:var(--signal);border-color:var(--signal)}.appdesign .seg{background:var(--neutral-tint);border:0;border-radius:var(--radius);padding:4px}.appdesign .seg button{font-weight:600;border-radius:var(--radius)}.appdesign .seg button.on{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}.appdesign .input,.appdesign .select,.appdesign select.input,.appdesign textarea.input{border-radius:var(--radius)}.appdesign .kpi-grid{background:transparent;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.appdesign .kpi{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--s3)}.appdesign .kpi.tap:hover{background:var(--paper);border-color:var(--signal);box-shadow:var(--shadow)}.appdesign .kpi .kpi-ic{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--signal-soft);color:var(--signal)}.appdesign .kpi .kpi-ic.success{background:var(--success-tint);color:var(--success)}.appdesign .kpi .kpi-ic.warning{background:var(--warning-tint);color:var(--warning-ink)}.appdesign .kpi .kpi-ic.error{background:var(--error-tint);color:var(--error)}.appdesign .kpi .kpi-ic.neutral{background:var(--neutral-tint);color:var(--graphite)}.appdesign .kpi .kpi-label{font-weight:600;color:var(--graphite)}.appdesign.owner-shell .sidebar{background:var(--paper);color:var(--ink);-webkit-border-end:1px solid var(--rule);border-inline-end:1px solid var(--rule)}.appdesign .sidebar-brand{border-bottom:1px solid var(--rule)}.appdesign .sidebar-wordmark{color:var(--ink)}.appdesign .nav-group-label,.appdesign.owner-shell .nav-group-label,.appdesign.owner-shell .nav-item{color:var(--graphite)}.appdesign.owner-shell .nav-item svg{opacity:1}.appdesign.owner-shell .nav-item:hover{background:var(--neutral-tint);color:var(--ink)}.appdesign.owner-shell .nav-item.active{background:var(--signal-soft);color:var(--signal);font-weight:700}.appdesign.owner-shell .nav-item.active svg{opacity:1}.appdesign.owner-shell .nav-item.logout{color:var(--graphite)}.appdesign.owner-shell .nav-item.logout:hover{background:var(--error-tint);color:var(--error)}.appdesign .sidebar-foot{border-top:1px solid var(--rule)}.appdesign .sidebar-user{background:var(--neutral-tint)}.appdesign .sidebar-user-name{color:var(--ink)}.appdesign .sidebar-user-role{color:var(--graphite)}.appdesign .sidebar-avatar{background:var(--signal);color:#fff}.appdesign .owner-main{background:var(--bg)}.appdesign .owner-main .topbar{background:var(--paper);border-bottom:1px solid var(--rule)}.appdesign .topbar-title{color:var(--ink)}.appdesign .owner-main .topbar .ctrl{border:1px solid var(--rule);color:var(--graphite);border-radius:var(--radius)}.appdesign .owner-main .topbar .ctrl:hover{color:var(--ink);border-color:var(--signal);background:var(--signal-soft)}@media (max-width:860px){.appdesign.owner-shell .sidebar{border-bottom:1px solid var(--rule)}.appdesign.owner-shell .nav-item.active{border-bottom:2px solid var(--signal)}}.appdesign.resident-shell{background:var(--bg);border-inline:1px solid var(--rule)}.appdesign .res2-main{background:var(--bg)}.appdesign .resident-top{background:var(--paper);border-bottom:1px solid var(--rule)}.appdesign .resident-building{color:var(--ink)}.appdesign .res2-side{background:var(--paper);-webkit-border-end:1px solid var(--rule);border-inline-end:1px solid var(--rule)}.appdesign .res2-brand{border-bottom:1px solid var(--rule);color:var(--ink)}.appdesign .res2-wordmark{color:var(--ink)}.appdesign .res2-topbar{background:var(--paper);border-bottom:1px solid var(--rule)}.appdesign .res2-title{color:var(--ink)}.appdesign .res2-foot{border-top:1px solid var(--rule)}.appdesign .res2-item{color:var(--graphite)}.appdesign .res2-item:hover{background:var(--neutral-tint);color:var(--ink)}.appdesign .res2-item.active{font-weight:700}.appdesign .res2-avatar,.appdesign .res2-item.active{color:var(--signal);background:var(--signal-soft)}.appdesign .res2-user-name{color:var(--ink)}.appdesign .res2-user-role{color:var(--graphite)}.appdesign .res2-logout:hover{color:var(--error);background:var(--error-tint)}@media (min-width:900px){.appdesign .res2-main,.appdesign.resident-shell.res2{background:var(--bg)}}.appdesign .resident-tabs{background:var(--paper);border-top:1px solid var(--rule)}.appdesign .resident-tab{color:var(--graphite)}.appdesign .resident-tab.active{color:var(--signal)}.appdesign .rtabs{background:var(--paper);border-top:1px solid var(--rule)}.appdesign .rtabs .rtab{color:var(--graphite)}.appdesign .rtabs .rtab.on{color:var(--signal)}.appdesign .balance-card{background:var(--brand-navy);border-radius:var(--radius-lg);color:#fff}.appdesign .balance-card .bc-amount,.appdesign .balance-card .bc-label{color:#fff}.appdesign .balance-card .bc-badge{background:hsla(0,0%,100%,.16);color:#fff}.appdesign .balance-card .bc-badge.overdue{background:var(--error);color:#fff}.appdesign .inv-row{border-bottom:1px solid var(--rule)}.appdesign .inv-row:hover{background:var(--neutral-tint)}.appdesign .inv-row .iv-ic{background:var(--signal-soft);color:var(--signal);border-radius:var(--radius-lg)}.appdesign .bell{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper)}.appdesign .bell:hover{background:var(--neutral-tint)}.appdesign .res2-h1,.appdesign .sec-head .st,.appdesign .sec-title{color:var(--ink)}.appdesign .sec-head .sa{color:var(--signal);font-weight:600}.appdesign .tbl thead th{font-weight:600;color:var(--graphite)}.appdesign .chart-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.appdesign .apt-grid{background:transparent;gap:var(--s2)}.appdesign .apt-cell{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius)}.appdesign .apt-cell:hover{border-color:var(--signal);background:var(--paper)}.appdesign .banner{border-radius:var(--radius)}body:has(.owner-shell.appdesign),body:has(.resident-shell.appdesign){background:#f7f9fc}[data-theme=dark] body:has(.owner-shell.appdesign),[data-theme=dark] body:has(.resident-shell.appdesign){background:#101218}.appdesign.auth-wrap{background:var(--bg)}.appdesign .auth-card{box-shadow:var(--shadow-sm)}.appdesign .divider,.appdesign .stepper .step .lbl{font-family:var(--font-body);letter-spacing:normal;text-transform:none}.appdesign .stepper.compact .meta{font-family:var(--font-body);letter-spacing:normal}.appdesign .setup-top{background:var(--bg);border-bottom:1px solid var(--rule)}body:has(.auth-wrap.appdesign),body:has(.setup-top){background:#f7f9fc}[data-theme=dark] body:has(.auth-wrap.appdesign),[data-theme=dark] body:has(.setup-top){background:#101218}.appdesign .admin-nav-label,.appdesign .nav-group-label,.appdesign .res2-group-label,.appdesign .sec-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.4px;font-weight:800;color:var(--graphite)}.appdesign.admin-shell{background:var(--bg);color:var(--ink);--a-bg:var(--bg);--a-bg-2:var(--bg);--a-panel:var(--paper);--a-line:var(--rule);--a-ink:var(--ink);--a-sub:var(--graphite);--a-primary:var(--signal);--a-accent:var(--signal)}.appdesign .admin-sidebar{background:var(--paper);-webkit-border-end:1px solid var(--rule);border-inline-end:1px solid var(--rule)}.appdesign .admin-brand{border-bottom:1px solid var(--rule)}.appdesign .admin-wordmark{color:var(--ink)}.appdesign .admin-badge{background:var(--signal);color:#fff;border-radius:var(--radius);text-transform:uppercase}.appdesign .admin-nav-item{color:var(--graphite)}.appdesign .admin-nav-item:hover{background:var(--neutral-tint);color:var(--ink)}.appdesign .admin-nav-item.active{background:var(--signal-soft);color:var(--signal);-webkit-padding-start:var(--s3);padding-inline-start:var(--s3)}.appdesign .admin-sidebar-foot{border-top:1px solid var(--rule)}.appdesign .admin-logout:hover{color:var(--error);background:var(--error-tint)}.appdesign .admin-main{background:var(--bg)}.appdesign .admin-topbar{background:var(--paper);border-bottom:1px solid var(--rule)}.appdesign .admin-title{color:var(--ink)}.appdesign .admin-refresh{font-family:var(--font-body);text-transform:none;letter-spacing:normal;border-radius:var(--radius);color:var(--graphite)}.appdesign .admin-refresh:hover{border-color:var(--signal);background:var(--signal-soft);color:var(--signal)}.appdesign .stat-grid{background:transparent;gap:var(--s3)}.appdesign .stat-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg)}.appdesign .stat-card-label{text-transform:none;color:var(--graphite);font-weight:600}.appdesign .stat-card-label,.appdesign .stat-card-sub{font-family:var(--font-body);letter-spacing:normal}.appdesign .chart-row{background:transparent;gap:var(--s3)}.appdesign .admin-shell .chart-card,.appdesign.admin-shell .chart-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg)}.appdesign .admin-shell .chart-card-sub{font-family:var(--font-body);letter-spacing:normal}.appdesign .admin-select-trigger,.appdesign .admin-shell .chart-empty{font-family:var(--font-body);text-transform:none;letter-spacing:normal}.appdesign .admin-select-trigger{border-radius:var(--radius)}.appdesign .admin-select-group{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.4px}.appdesign .admin-login-card,.appdesign .admin-select-panel{border-radius:var(--radius-lg)}.appdesign .admin-login-card{box-shadow:var(--shadow-sm)}.appdesign .admin-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.4px;font-weight:800}.appdesign .admin-input-group{border-radius:var(--radius)}.appdesign .admin-login-foot{font-family:var(--font-body);letter-spacing:normal}body:has(.admin-shell.appdesign){background:#f7f9fc}[data-theme=dark] body:has(.admin-shell.appdesign){background:#101218}