@media (max-width:720px){.kpi{flex-direction:column;align-items:stretch;gap:10px}.chip{width:100%;text-align:left}}
@media (max-width:720px){.hero{grid-template-columns:1fr}.hero .illus{display:none}}
/* hero image overrides */
.illus{position:relative;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .8s ease}
.hero-img.active{opacity:1;transition:opacity 1.8s ease}
@media (max-width:720px){.hero-img{display:none}}
:root{--bg:#f7f9fc;--card:#ffffff;--text:#1b263b;--muted:#5b6b83;--brand:#2563eb;--brand2:#10b981;--border:#e6ebf2;--danger:#ef4444;--shadow:0 8px 24px rgba(7,13,30,.06);--radius:14px;--pad:18px;--padlg:28px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*:focus{outline:none}*:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.03)}.nav{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:12px var(--pad)}.nav{position:relative}.brand{font-weight:800;letter-spacing:.2px;display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand .logo{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;color:#fff;font-weight:700;box-shadow:0 6px 16px rgba(37,99,235,.35)}.grow{flex:1}nav a{text-decoration:none;color:var(--muted);padding:10px 12px;border-radius:10px;font-weight:600}nav a.active,nav a:hover{color:var(--brand);background:#eef5ff}.controls{display:flex;align-items:center;gap:12px}select,input,button{border:1px solid var(--border);background:#fff;color:#1b263b;padding:10px 12px;border-radius:10px;font-weight:600}.menu-btn{display:none;border:1px solid var(--border);background:#fff;color:#1b263b;padding:8px 10px;border-radius:10px;font-weight:800;line-height:1}.menu-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}button.primary{background:var(--brand);color:#fff;border-color:transparent;cursor:pointer}button.secondary{background:#fff;color:var(--brand);border-color:var(--brand);cursor:pointer}button.danger{background:var(--danger);color:#fff;border-color:transparent;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}button.primary:disabled,button.secondary:disabled,button.danger:disabled{opacity:1}button.primary:disabled{background:#9bb6f3;border-color:transparent;color:#fff}button.secondary:disabled{background:#f2f5fb;border-color:#c6d1e4;color:#9aa8bf}button.danger:disabled{background:#f7b4b4;border-color:transparent;color:#fff}main{max-width:1200px;margin:24px auto;padding:0 var(--pad)}.grid{display:grid;gap:20px}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width:980px){.cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){nav{display:none}.cols-2,.cols-3{grid-template-columns:1fr}}@media (max-width:720px){.menu-btn{display:inline-flex;align-items:center;justify-content:center}.nav.show-menu nav{display:block;position:absolute;top:56px;left:var(--pad);right:var(--pad);background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:8px}.nav.show-menu nav a{display:block;margin:4px 0}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--padlg)}.hero{display:grid;gap:18px;align-items:center;grid-template-columns:1.2fr .8fr;padding:clamp(18px,2vw,28px);border-radius:18px;background:linear-gradient(180deg,#ffffff,#f3f7ff);border:1px solid var(--border)}.hero h1{margin:.2em 0;font-size:clamp(28px,3.5vw,44px)}.hero p{color:var(--muted);max-width:60ch}.hero .cta{display:flex;gap:12px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:8px;background:#eef9f5;border:1px solid #d8f3e9;color:#0f766e;padding:8px 12px;border-radius:999px;font-weight:700;font-size:.85rem}.illus{min-height:220px;border-radius:14px;background:radial-gradient(60px 60px at 20% 30%,#d9e8ff,transparent 60%),radial-gradient(70px 70px at 70% 40%,#c7f9ec,transparent 60%),linear-gradient(135deg,#eff6ff 0%,#ffffff 60%);border:1px dashed var(--border)}.section-title{margin:0 0 6px}.muted{color:var(--muted)}.kpi{display:flex;gap:16px;flex-wrap:wrap}.chip{background:#f1f5f9;border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-weight:700;color:#334155}.cards{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}@media (max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.cards{grid-template-columns:1fr}}.property-card{border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow);overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.property-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(17,24,39,.08)}.property-card img{width:100%;height:210px;object-fit:cover;background:#eaeef5}@media (max-width:680px){.property-card img{height:180px}}.property-details{padding:16px}.property-details h3{margin:0 0 6px;font-size:1.05rem}.property-meta{display:flex;gap:10px;flex-wrap:wrap;color:#46556e;font-weight:600}.property-meta>span{background:#f7fafc;border:1px solid var(--border);border-radius:8px;padding:6px 8px}.property-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.pill{padding:6px 10px;border-radius:999px;background:#eef5ff;color:#1e3a8a;font-weight:800;border:1px solid #dbe8ff}.row{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.row-2{grid-template-columns:repeat(2,1fr)}.row-4{grid-template-columns:repeat(4,1fr)}@media (max-width:780px){.row,.row-2,.row-4{grid-template-columns:1fr}}label{font-weight:700;font-size:.92rem}.field{display:flex;flex-direction:column;gap:6px}input[type="number"]{appearance:textfield}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{appearance:none;margin:0}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left}.table th{font-size:.9rem;color:#475569}.table tr.editing{background:#fff8e1}.table .row-action{width:44px;white-space:nowrap}.table .row-action button{padding:6px 8px}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:#fff}.icon-btn:hover{background:#eef5ff;border-color:#cfe0ff}@media (max-width:720px){.table{display:block;overflow-x:auto;white-space:nowrap}}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;z-index:100}.modal{position:fixed;inset:0;display:none;place-items:center;z-index:101;padding:18px}.modal .panel{width:min(720px,100%);background:#fff;border-radius:14px;border:1px solid var(--border);box-shadow:0 24px 64px rgba(0,0,0,.24);padding:20px}.modal .panel{max-height:90vh;display:flex;flex-direction:column}.modal .panel header{flex:0 0 auto}#mod-body{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.modal.show,.modal-backdrop.show{display:grid}.modal header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:12px}.help{font-size:.9rem;color:var(--muted)}footer{max-width:1200px;margin:40px auto;padding:0 var(--pad);color:#556}footer .foot{border-top:1px solid var(--border);padding:18px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}@media (prefers-reduced-motion:reduce){.property-card{transition:none}.property-card:hover{transform:none;box-shadow:var(--shadow)}}input.error,select.error,textarea.error,input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--danger)!important;background:#fff6f6;box-shadow:inset 0 0 0 2px rgba(239,68,68,.12)}@media (max-width:720px){:root{--pad:12px;--padlg:16px}.nav{padding:10px var(--pad);gap:12px}nav a{padding:8px 10px}.card{padding:var(--pad)}.grid{gap:14px}.row,.row-2,.row-4{gap:10px}.table th,.table td{padding:8px}.hero{padding:clamp(12px,2vw,18px)}footer{margin:28px auto}footer .foot{padding:14px 0}}@media (max-width:720px){nav a{font-size:.95rem}.hero h1{font-size:clamp(24px,5.2vw,36px)}h2{font-size:1.15rem}h3{font-size:1.02rem}}@media (max-width:720px){.table td{font-size:.88rem;line-height:1.35}.table th{font-size:.82rem}}/* tooltip bubble (shared) */.tooltip{position:relative;display:inline-block}.tooltip .tip{position:absolute;z-index:1000;left:50%;transform:translateX(-50%);bottom:125%;background:#0e1526;color:#e9eef5;border:1px solid #2a3550;border-radius:8px;padding:8px 10px;white-space:normal;font-size:12px;line-height:1.3;min-width:180px;max-width:260px;box-shadow:0 10px 30px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}.tooltip .tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border-width:6px;border-style:solid;border-color:#0e1526 transparent transparent transparent}.tooltip:hover .tip,.tooltip:focus-within .tip,.tooltip.show .tip{opacity:1;pointer-events:auto;transform:translate(-50%,-2px)}.tooltip .tip [role="heading"]{font-weight:600;margin:0 0 4px}@media (prefers-reduced-motion:reduce){.tooltip .tip{transition:none}}.property-meta .tooltip{background:transparent!important;border:0!important;padding:0!important}
