:root{--bg:#f3f5f4;--card:#fff;--ink:#14211d;--muted:#526460;--line:#dce4e0;--brand:#0f5c4d;--brand-deep:#0b4a3e;--brand-soft:#dcefe9;--accent:#d98a0b;--accent-bright:#f0a830;--accent-soft:#fbecd2;--good:#1a7a43;--warn:#9a5c00;--bad:#b4352a;--shadow:0 1px 2px rgba(11,74,62,.05),0 4px 14px rgba(11,74,62,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 var(--font-plex),system-ui,-apple-system,Segoe UI,Tahoma,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.side{background:linear-gradient(180deg,#0f5c4d,#0b4a3e 55%,#083a31);color:#cfe3dc;padding:18px 12px;display:flex;flex-direction:column;gap:2px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.side .brand{color:#fff;font-weight:700;font-size:18px;padding:0 8px 4px;display:flex;align-items:center;gap:10px}.side .brand img{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.25)}.side .tenant{font-size:12px;padding:0 8px 14px 50px;color:#8fb8ac}.side a{color:#cfe3dc;padding:8px 12px;border-radius:10px;position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}.side a:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}.side a.active{background:rgba(255,255,255,.12);color:#fff;font-weight:600}.side a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--accent-bright)}.side .foot{margin-top:auto;font-size:12px;padding:8px}main{padding:28px;max-width:1280px;width:100%;animation:rise .35s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}h1{font-size:24px;font-weight:700;margin:0 0 4px;letter-spacing:-.01em}.sub{color:var(--muted);margin:0 0 18px}.grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);transition:box-shadow .2s ease,transform .2s ease}.grid .card:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(11,74,62,.06),0 10px 24px rgba(11,74,62,.1)}.grid>.card{animation:rise .4s ease both}.grid>.card:nth-child(2){animation-delay:.05s}.grid>.card:nth-child(3){animation-delay:.1s}.grid>.card:nth-child(4){animation-delay:.15s}.grid>.card:nth-child(n+5){animation-delay:.2s}.kpi .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.kpi .value{font-size:30px;font-weight:700;margin-top:4px;color:var(--brand-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi{border-top:3px solid var(--brand)}.grid>.kpi:nth-child(2n){border-top-color:var(--accent)}.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:18px}table{width:100%;border-collapse:collapse;background:var(--card)}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600;background:#f6f9f8;position:-webkit-sticky;position:sticky;top:0}tbody tr{transition:background .15s ease}tbody tr:hover{background:#f3f8f6}.tablewrap{border:1px solid var(--line);border-radius:14px;overflow:auto;box-shadow:var(--shadow)}.pill{display:inline-block;border-radius:999px;padding:2px 10px;font-weight:700;font-size:12px;background:color-mix(in srgb,currentColor 12%,transparent)}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.none{color:var(--muted)}.btn{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:10px;padding:9px 16px;font-weight:600;cursor:pointer;font-size:14px;transition:transform .12s ease,box-shadow .2s ease,background .2s ease;box-shadow:0 2px 6px rgba(15,92,77,.25)}.btn:hover:not(:disabled){background:var(--brand-deep);box-shadow:0 4px 12px rgba(15,92,77,.3)}.btn:active:not(:disabled){transform:scale(.97)}.btn.accent{background:var(--accent-bright);color:#2a1a00}.btn.secondary{background:#fff;color:var(--brand);border:1.5px solid var(--brand);box-shadow:none}.btn.secondary:hover:not(:disabled){background:var(--brand-soft)}.btn:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.row{align-items:center;flex-wrap:wrap}.row,.stack{display:flex;gap:10px}.stack{flex-direction:column}.err{color:var(--bad);white-space:pre-wrap}.ok{color:var(--good)}.muted{color:var(--muted)}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.photos img{width:100%;border-radius:12px;border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease}.photos img:hover{transform:scale(1.02);box-shadow:var(--shadow)}.bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#1b8a72);animation:grow .8s cubic-bezier(.2,.7,.2,1) both;transform-origin:left}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.loginpage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at 85% 10%,#1b8a72 0,transparent 40%),linear-gradient(160deg,#0f5c4d,#083a31)}.login,.loginpage{width:100%;box-sizing:border-box}.login{max-width:380px;margin:0 auto;animation:rise .45s ease both;padding:28px}.login .loginlogo{border-radius:14px;box-shadow:0 6px 18px rgba(11,74,62,.3);align-self:center}.login .sub,.login h1{text-align:center;margin-left:auto;margin-right:auto}.login input{text-align:left}.login .btn{padding:12px 16px}.navlinks{display:flex;flex-direction:column;gap:2px;flex:1 1}.menubtn{display:none}.grid>*,.shell>main,.two>*{min-width:0}@media (max-width:800px){body,html{overflow-x:hidden}.shell{grid-template-columns:minmax(0,1fr)}.side{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:auto;max-height:100vh;padding:10px 14px;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:0 10px;gap:0 10px}.side .brand{padding:0;font-size:17px}.side .brand img{width:28px;height:28px}.side .tenant{grid-column:1;padding:0 0 0 38px;font-size:11px}.menubtn{display:inline-flex;align-items:center;gap:8px;grid-column:2;grid-row:1/span 2;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:8px 12px;font:inherit;font-weight:600;cursor:pointer;max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navlinks{display:none;grid-column:1/-1;margin-top:10px;max-height:calc(100vh - 80px);overflow-y:auto}.navlinks.open{display:flex}.navlinks a{padding:11px 12px;font-size:15px}.side a:hover{transform:none}.side .foot{margin-top:8px;border-top:1px solid rgba(255,255,255,.15);padding-top:10px}main{padding:14px}h1{font-size:21px}.two{grid-template-columns:minmax(0,1fr)}.grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpi .value{font-size:24px}.card{padding:14px}.btn{padding:9px 13px}.row>input,.row>select{max-width:100%}.inv-head{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.grid-lines td{vertical-align:middle}.grid-lines input{width:100%;box-sizing:border-box}.grid-lines tr.needs{background:color-mix(in srgb,var(--bad) 7%,transparent)}.grid-lines .warnfield{border-color:var(--warn)}.picker{position:relative}.picklist{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px rgba(11,74,62,.16);max-height:320px;overflow:auto}.picklist>div{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--line)}.picklist>div:last-child{border-bottom:0}.picklist>div.on,.picklist>div:hover{background:var(--brand-soft)}.picked{position:relative;padding-right:56px}.picked .link{position:absolute;right:0;top:0}button.link{background:none;border:0;padding:0;color:var(--brand);cursor:pointer;font:inherit;text-decoration:underline}button.link.bad{color:var(--bad);text-decoration:none;font-weight:700}.small{font-size:12px}.upload{padding:12px;border:1.5px dashed var(--line);border-radius:12px;background:#f9fbfa}.totals{box-shadow:none}.invoice table{margin-top:6px}.inv-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.inv-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px;margin-top:8px}.inv-meta>div{display:flex;flex-direction:column}.inv-totals{margin-left:auto;max-width:420px;margin-top:12px}.inv-totals>div{display:flex;justify-content:space-between;gap:16px;padding:4px 0;border-bottom:1px solid var(--line)}.inv-totals .grand{font-size:18px;font-weight:800;border-bottom:2px solid var(--ink)}@media print{.noprint,.side{display:none!important}.shell{display:block}main{padding:0;max-width:none;animation:none}.card{box-shadow:none;border:0}body{background:#fff}}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9da48a48bf6500f8-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9efac92d680e57b6-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1323037a3e4ea9e8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/17efc7caebbb6a73-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f022b1629605b85c-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/18d6d756b83deaa1-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/101eb3c626c8a0e0-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b729ad8c86c7d641-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4efb0298547fad0-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c3d28d0a4af5320e-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b096b166d47a2e73-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/79d9077e4fd7eddc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb66eb17bf011c3b-s.p.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3abc2a74bccacda0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/20e170e88a69dd27-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/99dc19e540dbb87b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Arabic Fallback;src:local("Arial");ascent-override:107.25%;descent-override:41.02%;line-gap-override:0.00%;size-adjust:101.17%}.__className_f9ef76{font-family:IBM Plex Sans Arabic,IBM Plex Sans Arabic Fallback;font-style:normal}.__variable_f9ef76{--font-plex:"IBM Plex Sans Arabic","IBM Plex Sans Arabic Fallback"}