@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--bg:#0b1016;--panel:#111923;--panel2:#151f2b;--line:#253241;--muted:#8b9aaa;--text:#edf3f8;--accent:#63d5b0;--accent2:#35b991}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.shell{background:radial-gradient(ellipse at 75% -15%,#17302e 0,transparent 38%),var(--bg)}.shell,.sidebar{min-height:100vh;display:flex}.sidebar{width:254px;flex-shrink:0;border-right:1px solid var(--line);padding:24px 16px 15px;flex-direction:column;background:#0d141c}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 25px}.brand-mark{height:38px;width:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#6ce0b9,#279e83);color:#06251d;box-shadow:0 5px 22px #43cba533}.brand strong{display:block;font:800 16px Manrope,sans-serif;letter-spacing:-.5px}.brand small{font-size:9px;letter-spacing:1.6px;color:#7e929f}.property-switch{display:flex;align-items:center;gap:10px;padding:12px;background:#141e28;border:1px solid #283746;border-radius:12px;margin-bottom:28px}.property-avatar{height:34px;width:34px;border-radius:9px;background:#233b3a;color:#7ce1bd;display:grid;place-items:center}.property-switch div:nth-child(2){flex:1 1}.property-switch small,.property-switch span{display:block;font-size:10px;color:var(--muted)}.property-switch strong{font-size:12px;display:block;margin:3px 0}.nav-label{font-size:9px;letter-spacing:1.6px;font-weight:700;color:#647585;padding:0 10px 10px}.sidebar nav{display:grid;grid-gap:4px;gap:4px;margin-bottom:26px}.nav-item{height:41px;border-radius:9px;padding:0 11px;display:flex;align-items:center;gap:11px;color:#91a1af;text-decoration:none;font-size:12px}.nav-item.active{background:#17342f;color:#8ce6c4;border:1px solid #245345}.nav-count{margin-left:auto;background:#263a3c;padding:2px 7px;border-radius:20px;font-size:10px}.sidebar-bottom{margin-top:auto}.help-card{padding:14px;border:1px solid #263a3a;background:linear-gradient(140deg,#162a2a,#121d27);border-radius:12px;margin-bottom:14px}.help-icon{color:#72dfb9;margin-bottom:9px}.help-card strong{font-size:12px}.help-card p{font-size:10px;line-height:1.55;color:#94a6ae;margin:6px 0 0}.profile{border-top:1px solid var(--line);padding:15px 4px 0;display:flex;align-items:center;gap:9px}.profile-avatar,.top-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#27423d;color:#8ce6c4;font-size:10px;font-weight:700}.profile div:nth-child(2){flex:1 1}.profile small,.profile strong{display:block;font-size:10px}.profile small{margin-top:3px}.profile small,.profile>svg{color:var(--muted)}.main-area{flex:1 1;min-width:0}.topbar{height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#0d141bd9}.crumb{font-size:12px;color:#94a5b2}.crumb span{padding:0 9px;color:#52616d}.crumb b{color:#e7eff4;font-weight:600}.top-actions{display:flex;align-items:center;gap:18px}.status-live{font-size:10px;color:#8fa49e;border:1px solid #2b4640;border-radius:30px;padding:7px 10px}.legend-dot,.status-live i{display:inline-block;width:6px;height:6px;background:#4bd3a5;border-radius:50%;margin-right:6px;box-shadow:0 0 9px #4bd3a5}.icon-button{border:0;background:transparent;color:#94a5b2;display:grid;place-items:center;position:relative;padding:7px;border-radius:8px}.icon-button:hover{background:#1c2934;color:white}.notification-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:#f5a64c;top:5px;right:5px}.content{max-width:1600px;margin:auto;padding:32px 34px 25px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#79cdb0;font-weight:700}.eyebrow span{color:#526a64;margin:0 5px}.page-heading h1{font:700 clamp(25px,3vw,34px) Manrope,sans-serif;letter-spacing:-1.3px;margin:9px 0 5px}.page-heading h1 em{font-style:normal;color:#7ce0bd}.page-heading p,.panel-header p{margin:0;color:#8c9ba8;font-size:12px}.primary-button{border:0;border-radius:9px;background:linear-gradient(135deg,#78e3bf,#48c39e);color:#08251d;padding:11px 15px;display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;box-shadow:0 5px 18px #4cc9a422}.primary-button:hover{filter:brightness(1.07)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:13px;gap:13px;margin-bottom:18px}.stat-card{background:linear-gradient(145deg,#141f2a,#111923);border:1px solid #263442;border-radius:12px;padding:15px 16px}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#9aabb7;font-size:11px}.stat-icon{height:31px;width:31px;border-radius:9px;display:grid;place-items:center}.amber{color:#f6bd67;background:#f6bd6718}.blue{color:#69c5ee;background:#69c5ee18}.green{color:#6bd9a9;background:#6bd9a918}.violet{color:#b8a0f4;background:#b8a0f418}.stat-number{font:700 28px Manrope,sans-serif;margin:10px 0 7px}.stat-foot{display:flex;gap:8px;align-items:center;font-size:9px;color:#7d8d9b}.trend-up{color:#69d6a9}.trend-neutral{color:#9cb0bb}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.9fr);grid-gap:16px;gap:16px;align-items:stretch}.detail-panel,.map-panel,.tasks-panel{background:#111a24;border:1px solid #263543;border-radius:13px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:17px 18px 12px}.panel-header h2{font:700 14px Manrope,sans-serif;margin:0 0 5px}.panel-header p{font-size:10px}.filter-button{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid #30404e;border-radius:7px;background:#17232e;color:#aab8c2;font-size:10px}.map-legend{display:flex;flex-wrap:wrap;gap:12px;padding:0 18px 13px}.map-legend span{font-size:9px;color:#9aabb6;display:flex;align-items:center;gap:5px}.map-legend i{height:7px;width:7px;border-radius:50%}.map-canvas{height:auto;aspect-ratio:1.42;position:relative;overflow:hidden;background:#263b36;border-top:1px solid #273843;border-bottom:1px solid #273843}.site-plan-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.map-watermark{position:absolute;top:12px;left:14px;font-size:8px;letter-spacing:1.4px;color:#d6e5d8;background:#102019b8;padding:5px 7px;border-radius:5px;z-index:1}.road{position:absolute;background:#33434a;border:1px solid #52606955;box-shadow:0 0 0 4px #26373b}.road-one{height:22px;width:120%;top:48%;left:-8%;transform:rotate(-14deg)}.road-two{height:17px;width:120%;top:74%;left:-5%;transform:rotate(9deg)}.road-three{height:15px;width:100%;top:8%;left:3%;transform:rotate(73deg)}.green-space{position:absolute;background:#315044;border:1px solid #55726166;border-radius:45%}.green-one{width:105px;height:62px;top:17%;left:5%;transform:rotate(-18deg)}.green-two{width:115px;height:68px;right:4%;bottom:9%;transform:rotate(20deg)}.building{position:absolute;width:18%;height:18%;min-width:72px;background:linear-gradient(145deg,#63736e,#455a56);border:2px solid #91a39a;border-radius:5px;box-shadow:0 6px 15px #0005;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e6eee9}.building span{font-size:9px;font-weight:700;letter-spacing:1px}.building small{font-size:7px;color:#c1d0c7;margin-top:3px}.building-1{left:16%;top:22%}.building-2{left:55%;top:15%}.building-3{left:22%;top:62%}.building-4{right:12%;top:57%}.parking{position:absolute;border:1px dashed #a4b2a855;background:#ffffff09;color:#b4c1c0;font-size:8px;letter-spacing:2px;padding:13px 20px;transform:rotate(-14deg)}.parking-one{top:43%;right:8%}.parking-two{bottom:8%;left:48%}.map-marker{position:absolute;width:32px;height:32px;border:2px solid #e4fff5;border-radius:50% 50% 50% 4px;transform:translate(-50%,-50%) rotate(-45deg);background:var(--marker-color);color:#10221d;display:grid;place-items:center;box-shadow:0 3px 13px #0009;z-index:2}.map-marker svg{transform:rotate(45deg)}.map-marker.marker-selected{width:39px;height:39px;box-shadow:0 0 0 5px #ffffff30,0 5px 18px #0009;z-index:3}.map-note{position:absolute;right:12px;bottom:10px;background:#101a20d9;border:1px solid #ffffff20;border-radius:6px;padding:6px 8px;font-size:8px;color:#b5c3c2;gap:5px}.map-footer,.map-note{display:flex;align-items:center}.map-footer{height:35px;justify-content:space-between;padding:0 15px;font-size:9px;color:#84949f}.task-heading{padding-bottom:15px}.text-button{border:0;background:none;color:#79d8b5;font-size:10px;display:flex;align-items:center;gap:5px}.task-controls{display:flex;gap:7px;padding:0 14px 12px}.search-box{height:34px;flex:1 1;min-width:0;display:flex;align-items:center;gap:7px;padding:0 9px;background:#0d151d;border:1px solid #2a3946;border-radius:7px;color:#8294a2}.search-box input{width:100%;border:0;outline:0;background:none;color:#e8f1f5;font-size:10px}.detail-actions select,.modal input,.modal select,.task-controls select{background:#17232e;color:#b9c7d0;border:1px solid #30414e;border-radius:7px;padding:7px 8px;font-size:10px;outline:none}.task-list{max-height:340px;overflow:auto}.task-row{width:100%;border:0;border-top:1px solid #26333e;background:transparent;color:inherit;display:flex;align-items:center;text-align:left;gap:10px;padding:12px 14px}.task-row:hover,.task-selected{background:#192733}.task-icon{height:34px;width:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.task-main{min-width:0;flex:1 1}.task-main small,.task-main strong,.task-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-main strong{font-size:10px;font-weight:600}.task-main small{font-size:9px;color:#8e9eaa;margin-top:3px}.task-meta{font-size:8px;color:#718492;margin-top:5px}.task-meta i{font-style:normal;padding:0 4px}.status-pill{font-size:8px;border-radius:20px;padding:5px 7px;white-space:nowrap;background:#27333e;color:#b7c4cc}.status-open{color:#f4c57d;background:#5b472b55}.status-assigned{color:#8bc8ed;background:#28485b66}.status-in-progress{color:#79d9bd;background:#20534666}.status-completed{color:#9bb5a5;background:#35473d}.task-list-footer{border-top:1px solid #26333e;padding:11px 14px;display:flex;justify-content:space-between;color:#81919d;font-size:9px}.task-list-footer button{border:0;background:none;color:#7ad9b7;font-size:9px;display:flex;align-items:center;gap:4px}.empty-state{padding:35px 15px;text-align:center;color:#8d9ca8;font-size:11px}.detail-panel{margin-top:15px;padding:14px 17px;justify-content:space-between;gap:15px}.detail-leading,.detail-panel{display:flex;align-items:center}.detail-leading{gap:12px;min-width:0}.detail-icon{height:38px;width:38px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.detail-leading small{font-size:8px;letter-spacing:1px;color:#8294a0}.detail-leading h3{font:700 13px Manrope,sans-serif;margin:4px 0}.detail-leading p{font-size:9px;color:#8c9ca8;margin:0}.detail-leading p span{padding:0 5px;color:#53646f}.detail-actions{display:flex;align-items:center;gap:15px}.detail-actions label{gap:8px;color:#82939e}.assignee,.detail-actions label{display:flex;align-items:center;font-size:9px}.assignee{color:#a8b7c1;gap:6px;white-space:nowrap}.footer-note{display:flex;align-items:center;gap:7px;margin-top:20px;color:#728590;font-size:9px}.footer-note svg{color:#69c9a7}.mobile-close,.mobile-menu{display:none}.modal-backdrop{position:fixed;inset:0;background:#03080dc9;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:20;display:grid;place-items:center;padding:18px}.modal{width:min(440px,100%);background:#121d28;border:1px solid #344653;border-radius:15px;padding:22px;box-shadow:0 25px 80px #0009}.modal-heading{display:flex;justify-content:space-between;margin-bottom:22px}.modal-heading h2{font:700 20px Manrope;margin:7px 0}.modal-heading p{font-size:11px;color:#8fa0ac;margin:0}.modal>label{display:grid;grid-gap:7px;gap:7px;font-size:10px;color:#aab8c1;margin-bottom:15px}.modal input,.modal select{width:100%;padding:11px;font-size:11px}.modal-note{font-size:9px;line-height:1.6;color:#8da0a9;background:#1a2933;border-radius:8px;padding:10px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.secondary-button{border:1px solid #354652;border-radius:8px;background:transparent;color:#b8c5ce;padding:10px 14px;font-size:10px}@media(max-width:1100px){.sidebar{width:225px}.content{padding:27px 22px}.topbar{padding:0 22px}.workspace-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.9fr)}.map-canvas{height:auto;aspect-ratio:1.42}.stats-grid{gap:9px}.stat-card{padding:13px}}@media(max-width:800px){.sidebar{position:fixed;z-index:30;left:-270px;top:0;bottom:0;width:254px;transition:left .25s;box-shadow:20px 0 60px #0007}.sidebar-open{left:0}.mobile-close,.mobile-menu{display:grid}.mobile-close{margin-left:auto;border:0;background:none;color:#91a1af}.brand{width:100%}.topbar{height:58px;padding:0 14px}.crumb{font-size:10px}.top-actions{gap:9px}.status-live{font-size:9px}.content{padding:23px 14px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:25px}.page-heading p{font-size:10px;max-width:240px;line-height:1.5}.page-heading>.primary-button{padding:10px;font-size:0;gap:0}.page-heading>.primary-button svg{width:19px;height:19px}.stats-grid{grid-template-columns:repeat(2,1fr)}.workspace-grid{grid-template-columns:1fr}.map-canvas{height:auto;aspect-ratio:1.42}.tasks-panel{min-height:300px}.task-list{max-height:300px}.detail-panel{align-items:flex-start;flex-direction:column}.detail-actions{width:100%;justify-content:space-between}.footer-note{font-size:8px;flex-wrap:wrap}}@media(max-width:390px){.crumb b,.crumb span{display:none}.map-canvas{height:auto;aspect-ratio:1.42}.map-legend{gap:8px}.map-legend span{font-size:8px}.task-controls{flex-wrap:wrap}.search-box{flex-basis:100%}.task-controls select{width:100%}.status-pill{font-size:7px}.top-avatar{width:28px;height:28px}}.directory-panel{margin-top:16px;background:#111a24;border:1px solid #263543;border-radius:13px;overflow:hidden}.directory-header{padding-bottom:15px}.directory-total,.unit-count{font-size:9px;color:#8edfc1;background:#1b3a32;border:1px solid #2b5b4c;border-radius:20px;padding:6px 9px;white-space:nowrap}.building-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-gap:8px;gap:8px;padding:0 16px 17px}.building-select{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:9px 8px;border:1px solid #2a3945;border-radius:9px;background:#151f2a;color:#e7f0f3;text-align:left}.building-active,.building-select:hover{border-color:#5ccba7;background:#19352f}.building-number{font:700 17px Manrope,sans-serif;color:#8ce2c0}.building-caption{font-size:9px;color:#c3d0d7}.building-select small{font-size:8px;color:#81939e}.unit-directory{margin:0 16px 15px;padding:14px;border:1px solid #2a3945;border-radius:10px;background:#0e171f}.unit-directory-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.unit-directory-heading h3{font:700 16px Manrope,sans-serif;margin:5px 0 0}.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));grid-gap:7px;gap:7px}.unit-chip{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:9px;border:1px solid #30424e;border-radius:8px;background:#17232d;color:#eef5f6;font:700 13px Manrope,sans-serif}.unit-chip:hover{border-color:#67d5b1;background:#1a342e}.unit-chip small{font:400 8px DM Sans,sans-serif;color:#8799a4}.directory-empty{padding:13px;border:1px dashed #52616a;border-radius:8px;color:#aab9c1;font-size:10px;line-height:1.6}.selected-unit-note{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:8px;background:#17352e;color:#9be5c8;font-size:10px}.selected-unit-note span{color:#aabbb8}.directory-footnote{display:flex;align-items:center;gap:7px;padding:0 17px 14px;margin:0;color:#81949e;font-size:9px}.directory-footnote svg{color:#71d3ad}@media(max-width:1100px){.building-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media(max-width:800px){.building-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 12px 13px}.unit-directory{margin:0 12px 13px}.directory-footnote{padding:0 13px 13px;font-size:8px}.directory-header{align-items:flex-start;gap:8px}.directory-header p{max-width:240px;line-height:1.5}}