@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_1fb3f447-module__v5F-XG__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_1fb3f447-module__v5F-XG__variable{--font-figtree:"Figtree", "Figtree Fallback"}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.0ynx40_3oa9rk.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0da9c7f357bd9d4d-s.1975l3y3401x_.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8e6fa89aa22d24ec-s.p.2o7m9ogm38dql.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0a7740363b4d4863-s.3ji57o093q1kd.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f9d24ebef5d5292-s.19xuq3td7fwu_.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e2334d715941921e-s.p.3o_v2fun1jzxk.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b53057dbf91a7acf-s.11ypmpdlzqdb_.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798ea22d9983e047-s.3go-kn2r40gie.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47fe1b7cd6e6ed85-s.p.3bh2vc0w-r-ll.woff2?dpl=dpl_4sxDPTwybAyaFLKkbyHWsRrRzTYh)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_f08ea3ad-module__mErFHW__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_f08ea3ad-module__mErFHW__variable{--font-poppins:"Poppins", "Poppins Fallback"}
:root{--blue:#0073ea;--blue-light:#cce5ff;--navy:#292f4c;--purple:#784bd1;--green:#00854d;--green-light:#d6f5e3;--orange:#c97a16;--orange-light:#fdf1e0;--accent:#009aff;--accent-light:#dff0ff;--grey:#676879;--grey-light:#f6f7fb;--grey-mid:#c3c6d4;--grey-soft:#e6e9ef;--white:#fff;--text:#323338;--text-soft:#676879;--sidebar-bg:#e9f3ec;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 6px 20px #0000001f;--shadow-lg:0 15px 50px #0000002e;--radius:8px;--radius-lg:12px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-figtree), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;background:var(--grey-light);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,.brand-name,.page-title,.kpi-val,.card-title{font-family:var(--font-poppins), var(--font-figtree), sans-serif}a{color:var(--blue);text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img,canvas,video{max-width:100%}.app{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.main{flex-direction:column;min-width:0;display:flex}.content{flex:1;padding:28px}.sidebar{background:var(--sidebar-bg);color:var(--text);border-right:1px solid #dbe7de;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.brand{border-bottom:1px solid #0000000f;padding:22px 22px 18px}.brand-logo{align-items:center;gap:10px;display:flex}.brand-name{font-family:var(--font-poppins), var(--font-figtree), sans-serif;letter-spacing:-.3px;font-size:19px;font-weight:700;line-height:1.1}.brand-name .accent{color:var(--blue)}.brand-tag{color:var(--text-soft);margin-top:1px;font-size:11px}.nav{flex:1;padding:14px 12px}.nav-section{margin-top:14px}.nav-section-title{text-transform:uppercase;letter-spacing:1px;color:#7d8a80;padding:4px 12px 6px;font-size:11px;font-weight:600}.nav-item{color:#4b4e69;cursor:pointer;border-radius:8px;align-items:center;gap:11px;margin-bottom:2px;padding:9px 12px;font-size:13.5px;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{color:var(--text);background:#0000000d}.nav-item.active{color:var(--text);background:#fff;font-weight:600;box-shadow:0 1px 4px #00000014}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.nav-icon svg{width:18px;height:18px}.topbar{border-bottom:1px solid var(--grey-soft);z-index:50;background:#fff;align-items:center;gap:18px;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-title{color:var(--navy);font-size:18px;font-weight:700}.topbar-sub{color:var(--text-soft);margin-top:1px;font-size:12px}.topbar-spacer{margin-left:auto}.avatar{background:linear-gradient(135deg, var(--purple), var(--blue));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:22px;display:flex}.page-title{color:var(--navy);letter-spacing:-.5px;font-size:24px;font-weight:700}.page-sub{color:var(--text-soft);margin-top:4px;font-size:13px}.btn{white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:9px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--blue);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md);background:#0060b9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--text);border-color:var(--grey-mid);background:#fff}.btn-ghost:hover{border-color:var(--grey);background:var(--grey-light)}.btn-sm{padding:6px 11px;font-size:12.5px}.topbar-user{align-items:center;gap:10px;display:flex}.topbar-user-name{color:var(--text);font-size:13px;font-weight:600}.topbar-user-role{color:var(--text-soft);font-size:11px}.auth-wrap{background:linear-gradient(135deg,#eef4ff,#f6f7fb 55%,#eaf6ef);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{border:1px solid var(--grey-soft);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);background:#fff;padding:32px}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-bottom:26px;display:flex}.auth-brand .brand-name{font-size:24px}.auth-title{color:var(--navy);font-size:22px;font-weight:700}.auth-sub{color:var(--text-soft);margin:4px 0 20px;font-size:13.5px}.auth-banner{background:var(--accent-light);color:#0061a8;border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:12.5px}.auth-error{color:#c0263c;background:#fdecee;border-radius:8px;margin:10px 0;padding:10px 12px;font-size:12.5px}.auth-info{background:var(--green-light);color:#0a6b3c;border-radius:8px;margin:10px 0;padding:10px 12px;font-size:12.5px}.auth-foot{text-align:center;color:var(--text-soft);margin-top:18px;font-size:13px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}.kpi{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--grey-soft);background:#fff;padding:18px}.kpi-lbl{color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.kpi-val{color:var(--navy);letter-spacing:-.5px;margin-top:4px;font-size:26px;font-weight:700}.card{border-radius:var(--radius-lg);border:1px solid var(--grey-soft);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:18px;padding:18px}.card-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.card-title{color:var(--navy);font-size:15px;font-weight:700}.props-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.prop-card{border-radius:var(--radius-lg);border:1px solid var(--grey-soft);box-shadow:var(--shadow-sm);background:#fff;transition:box-shadow .15s,transform .15s;overflow:hidden}.prop-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.prop-cover{background:linear-gradient(135deg, var(--blue-light), var(--accent-light));height:150px;color:var(--blue);justify-content:center;align-items:center;font-size:32px;display:flex}.prop-body{padding:16px}.prop-name{color:var(--navy);font-size:15px;font-weight:700}.prop-addr{color:var(--text-soft);margin-top:3px;font-size:12.5px}.prop-meta{color:var(--text);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12.5px;display:flex}.prop-meta b{color:var(--navy)}.badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;width:fit-content;max-width:100%;padding:4px 10px;font-size:11.5px;font-weight:600;line-height:1.3;display:inline-flex}.b-green{color:#fff;background:#00c875}.b-blue{color:#fff;background:#0073ea}.b-orange{color:#fff;background:#fdab3d}.b-red{color:#fff;background:#df2f4a}.b-purple{color:#fff;background:#a358d0}.b-grey{color:#fff;background:#c4c4c4}.field{margin-bottom:14px}.field label{color:var(--text);margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1px solid var(--grey-mid);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:9px 12px;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-light);outline:none}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.table-wrap{border-radius:var(--radius-lg);border:1px solid var(--grey-soft);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;background:var(--grey-light);border-bottom:1px solid var(--grey-soft);padding:11px 16px;font-size:11px;font-weight:600}.table td{color:var(--text);border-bottom:1px solid var(--grey-soft);padding:13px 16px;font-size:13.5px}.table tr:last-child td{border-bottom:none}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.photo-item{border:1px solid var(--grey-soft);aspect-ratio:4/3;background:var(--grey-light);border-radius:10px;position:relative;overflow:hidden}.photo-item img{object-fit:cover;width:100%;height:100%;display:block}.photo-cover-badge{background:var(--blue);color:#fff;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:8px;left:8px}.photo-actions{opacity:0;background:linear-gradient(#0000,#0000008c);gap:6px;padding:8px;transition:opacity .15s;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-item:hover .photo-actions{opacity:1}.photo-btn{color:var(--text);background:#fffffff2;border-radius:6px;padding:4px 9px;font-size:11.5px;font-weight:600}.photo-btn.danger{color:#df2f4a}.photo-btn:hover{background:#fff}.empty{text-align:center;color:var(--text-soft);padding:60px 20px}.empty-icon{margin-bottom:12px;font-size:40px}@media (max-width:1100px){.kpi-grid,.props-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none}.content{padding:18px 16px}.form-row{grid-template-columns:1fr}}@media (max-width:680px){.kpi-grid,.props-grid{grid-template-columns:1fr}.table-wrap{overflow-x:auto}.table{min-width:560px}}
