:root{--bg:#f5f7fb;--panel:#fff;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--primary:#173d6b;--primary2:#24558d;--green:#067647;--red:#b42318;--amber:#b54708;--blue:#175cd3;--purple:#6941c6;--shadow:0 8px 30px rgba(15,23,42,.06);--radius:16px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:#0f2744;color:#dbe7f4;display:flex;flex-direction:column;z-index:40;box-shadow:4px 0 24px rgba(15,39,68,.12)}.brand{height:76px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:11px;background:#fff;color:#0f2744;display:grid;place-items:center;font-size:21px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}.brand-mark.big{width:50px;height:50px;font-size:28px;background:var(--primary);color:#fff}.brand strong{display:block;color:#fff;font-size:15px;letter-spacing:.06em}.brand span{display:block;font-size:12px;color:#9fb3ca;margin-top:2px}.nav-scroll{padding:12px 10px 20px;overflow:auto;flex:1}.nav-group-title{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#738ca6;padding:16px 11px 7px;font-weight:700}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;margin:2px 0;font-size:13.5px;color:#c6d5e5;transition:.15s}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.09);color:#fff}.nav-item>span{width:18px;text-align:center;color:#9fb3ca}.nav-count{margin-left:auto;background:#fff;color:#173d6b;border-radius:999px;padding:1px 6px;font-size:10px}.sidebar-user{padding:13px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.user-meta{min-width:0;flex:1}.user-meta strong,.user-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta strong{font-size:12px;color:#fff}.user-meta span{font-size:10px;color:#8fa7c1;margin-top:2px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dce9f7;color:#173d6b;font-weight:800}.avatar.small{width:30px;height:30px;font-size:12px}.main{margin-left:250px;width:calc(100% - 250px);min-width:0}.topbar{height:76px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.topbar strong{display:block;font-size:16px}.eyebrow{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}.top-actions{display:flex;align-items:center;gap:9px}.icon-btn{border:0;background:transparent;color:inherit;width:34px;height:34px;border-radius:8px;display:grid;place-items:center}.icon-btn:hover{background:rgba(148,163,184,.13)}.content{padding:26px;max-width:1680px;margin:0 auto}.page-head,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.page-head h1,.section-title{margin:0;font-size:22px;letter-spacing:-.02em}.page-head p,.muted{color:var(--muted);font-size:13px;margin:4px 0 0}.actions,.filters-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:1px solid #d0d5dd;background:#fff;color:#344054;padding:9px 13px;border-radius:9px;font-weight:650;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1}.btn:hover{background:#f9fafb}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.danger{color:#b42318;border-color:#fecdca;background:#fff}.btn.success{color:#067647;border-color:#a6f4c5;background:#ecfdf3}.btn.small{padding:7px 10px;font-size:12px}.btn.full{width:100%;padding:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card+.card{margin-top:16px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.card-title h2,.card-title h3{margin:0;font-size:15px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 3px 16px rgba(15,23,42,.035)}.stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:25px;font-weight:800;margin-top:7px;letter-spacing:-.03em}.stat-foot{font-size:11px;color:var(--muted);margin-top:4px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-sidebar{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.7fr);gap:16px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}.table{width:100%;border-collapse:collapse;font-size:12.5px}.table th{background:#f8fafc;color:#667085;text-transform:uppercase;letter-spacing:.035em;font-size:10px;text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px;border-bottom:1px solid #eef2f6;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fbfcfe}.table .strong{font-weight:700}.nowrap{white-space:nowrap}.subtext{display:block;color:var(--muted);font-size:10.5px;margin-top:2px}.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10.5px;font-weight:700;white-space:nowrap;background:#f2f4f7;color:#475467}.status-new,.status-available,.status-active,.status-won,.status-completed{background:#ecfdf3;color:#067647}.status-contacted,.status-follow-up,.status-qualified,.status-booking,.status-booked,.status-confirmed{background:#eff8ff;color:#175cd3}.status-interested,.status-site-visit,.status-reservation,.status-reserved{background:#f4f3ff;color:#6941c6}.status-negotiation,.status-hold,.status-upcoming,.status-today{background:#fffaeb;color:#b54708}.status-lost,.status-not-interested,.status-cancelled,.status-expired,.status-overdue{background:#fef3f2;color:#b42318}.status-sold,.status-deal-closed{background:#eef4ff;color:#3538cd}.status-owner-unit,.status-unavailable{background:#f2f4f7;color:#344054}.input,.select,.textarea{width:100%;border:1px solid #d0d5dd;border-radius:9px;background:#fff;padding:9px 10px;color:#101828;outline:none;font-size:13px}.input:focus,.select:focus,.textarea:focus{border-color:#84adcf;box-shadow:0 0 0 3px rgba(23,61,107,.08)}.textarea{min-height:96px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-stack{display:flex;flex-direction:column;gap:14px}.form-grid label,.form-stack label{font-size:12px;font-weight:650;color:#344054}.form-grid label>.input,.form-grid label>.select,.form-grid label>.textarea,.form-stack label>.input,.form-stack label>.select,.form-stack label>.textarea{margin-top:6px}.field-span-2{grid-column:span 2}.check{display:flex!important;align-items:center;gap:8px;font-weight:500!important}.help{font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:12.5px;border:1px solid}.alert.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.alert.danger{background:#fef3f2;border-color:#fecdca;color:#b42318}.alert ul{margin:5px 0 0 18px;padding:0}.empty{text-align:center;color:var(--muted);padding:36px 12px;font-size:13px}.pill-row{display:flex;gap:6px;flex-wrap:wrap}.kv{display:grid;grid-template-columns:145px 1fr;gap:9px 16px;font-size:12.5px}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:5px;top:5px;bottom:6px;width:1px;background:#e4e7ec}.timeline-item{position:relative;padding:0 0 17px 12px}.timeline-item:before{content:"";position:absolute;left:-16px;top:5px;width:8px;height:8px;border-radius:50%;background:#7f9dbd;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1}.timeline-item strong{font-size:12.5px}.timeline-item p{font-size:12px;color:#475467;margin:4px 0}.timeline-time{font-size:10.5px;color:#98a2b3}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.quick-actions .btn{padding:10px 8px}.contact-actions{display:flex;gap:6px;flex-wrap:wrap}.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.hero-left{display:flex;align-items:center;gap:14px}.hero-avatar{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#eaf2fb;color:#173d6b;font-size:21px;font-weight:800}.money{font-variant-numeric:tabular-nums}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 3px 14px rgba(15,23,42,.035)}.project-cover{height:130px;background:linear-gradient(135deg,#dce8f5,#edf3f9);object-fit:cover;width:100%}.project-card-body{padding:14px}.progress{height:7px;background:#eef2f6;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:#24558d}.matrix-toolbar{align-items:flex-start}.matrix-legend{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.matrix{display:flex;flex-direction:column;gap:10px}.matrix-row{display:grid;grid-template-columns:80px 1fr;gap:10px}.floor-label{font-size:11px;font-weight:800;color:#667085;padding-top:14px}.unit-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px}.unit-card{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-left:4px solid #98a2b3;border-radius:10px;padding:11px;background:#fff;font-size:11px}.unit-card strong{font-size:13px}.status-border-available{border-left-color:#12b76a}.status-border-reserved{border-left-color:#7f56d9}.status-border-booked{border-left-color:#2e90fa}.status-border-sold{border-left-color:#6172f3}.status-border-hold{border-left-color:#f79009}.status-border-owner-unit,.status-border-unavailable{border-left-color:#667085}.filters{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:8px;margin-bottom:14px}.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#e7f0f9 0,#f6f8fb 40%,#f4f7fa 100%)}.login-card{width:min(420px,100%);background:#fff;border:1px solid #e4e7ec;border-radius:20px;padding:30px;box-shadow:0 20px 70px rgba(15,39,68,.12)}.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:12px}.login-brand h1{font-size:20px;margin:0}.login-brand p,.login-foot{font-size:11px;color:var(--muted);margin:3px 0}.login-foot{text-align:center;margin-top:18px}.mobile-only,.mobile-bottom{display:none}nav[role="navigation"]{margin-top:14px}nav[role="navigation"] a,nav[role="navigation"] span{font-size:12px}.chart-box{height:290px}.split-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.danger-zone{border-color:#fecdca;background:#fffafa}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:#f2f4f7;border-radius:6px;padding:3px 5px}.list-clean{list-style:none;padding:0;margin:0}.list-clean li{padding:10px 0;border-bottom:1px solid #eef2f6;font-size:12.5px}.list-clean li:last-child{border-bottom:0}.badge-number{min-width:22px;height:22px;border-radius:999px;background:#f2f4f7;display:inline-grid;place-items:center;font-size:10px;font-weight:700}.callout{border-left:3px solid #24558d;background:#f7faff;padding:11px 13px;border-radius:8px;font-size:12px;color:#344054}.tabbar{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}.tabbar a{padding:9px 11px;font-size:12px;color:#667085;border-bottom:2px solid transparent}.tabbar a.active{color:#173d6b;border-color:#173d6b;font-weight:700}@media(max-width:1180px){.stat-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.unit-grid{grid-template-columns:repeat(4,minmax(115px,1fr))}.filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:860px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open{transform:translateX(0)}.main{margin-left:0;width:100%}.mobile-only{display:grid}.topbar{height:64px;padding:0 16px}.content{padding:16px 14px 86px}.mobile-bottom{display:grid;position:fixed;left:0;right:0;bottom:0;height:66px;background:#fff;border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);z-index:35;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom a,.mobile-bottom button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9.5px;color:#667085}.mobile-bottom span{font-size:17px}.mobile-bottom .active{color:#173d6b;font-weight:700}.grid-2,.grid-3,.grid-sidebar{grid-template-columns:1fr}.page-head,.toolbar{align-items:flex-start;flex-direction:column}.page-head .actions{width:100%}.form-grid,.form-grid.cols-3{grid-template-columns:1fr}.field-span-2{grid-column:span 1}.project-grid{grid-template-columns:1fr}.unit-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}.matrix-row{grid-template-columns:1fr}.floor-label{padding-top:0}.filters{grid-template-columns:1fr 1fr}.filters-inline{width:100%}.filters-inline>*{flex:1}.hide-mobile{display:none}.table th,.table td{padding:10px 9px}.quick-actions{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat{padding:13px}.stat-value{font-size:21px}.unit-grid{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.hero{flex-direction:column}.quick-actions{grid-template-columns:repeat(2,1fr)}.login-card{padding:24px 20px}.top-actions .icon-btn{display:none}}
