.cosnli{--ink:#163c42;--accent:#167b6a;--line:#d7e4df;color:var(--ink);font:15px/1.6 system-ui,-apple-system,sans-serif;max-width:1240px;margin:20px auto}.cosnli *{box-sizing:border-box}.cosnli [hidden],.cosnli-admin [hidden]{display:none!important}.cosnli header{padding:28px;background:#edf4ef;border-radius:12px;margin-bottom:20px}.cosnli h2{font-size:30px;margin:8px 0;color:var(--ink)}.cosnli h3{font-size:20px;color:var(--ink)}.cosnli-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em}.cosnli-note{font-size:12px;color:#526b68}.cosnli-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cosnli button{font-family:inherit;cursor:pointer;border:1px solid #b8cdc4;border-radius:6px;background:white;color:var(--ink);padding:9px 14px;font-size:14px;line-height:1.4;text-transform:none;letter-spacing:normal}.cosnli button:focus-visible,.cosnli select:focus-visible{outline:3px solid #c59131;outline-offset:3px}.cosnli button:disabled{cursor:default}.cosnli button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#eaf6ef}.cosnli .cosnli-card{padding:16px;text-align:left;display:flex;flex-direction:column;gap:6px;border-radius:8px}.cosnli-card strong{font-size:20px}.cosnli-card small{color:#4d6661}.cosnli-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:end;padding:22px 0}.cosnli-toolbar label{font-size:12px;font-weight:600}.cosnli select{display:block;max-width:100%;min-height:42px;padding:8px;border:1px solid #b8cdc4;background:#fff;color:var(--ink);border-radius:5px;font:14px system-ui}.cosnli-check{padding-bottom:10px}.cosnli-view{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cosnli-view [data-count]{margin-left:auto;font-weight:600}.cosnli-legend{display:flex;gap:20px;font-size:13px}.cosnli-legend span:first-child{color:#126b55}.cosnli-legend span:nth-child(2){color:#65716f}.cosnli-towers{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cosnli-chart-scroll{overflow-x:auto}.cosnli table{border-collapse:separate;border-spacing:4px;width:100%;border:0}.cosnli th{font-size:11px;text-align:center;border:0;padding:4px;color:#536a65}.cosnli td{padding:0;text-align:center;border:0}.cosnli .cosnli-unit{width:100%;padding:7px 3px;min-width:68px;display:flex;flex-direction:column;gap:2px;align-items:center;border-radius:4px;font-size:12px}.cosnli-unit small{font-size:9px}.cosnli-unit.is-available{background:#e2f4e9;color:#145e47;border-color:#7bbba0}.cosnli-unit.is-sold{background:#f0f1f1;color:#65716f;border-color:#e0e4e2}.cosnli-unit.is-reserved,.cosnli-unit.is-unreleased,.cosnli-unit.is-unconfirmed{background:#fff4d8;color:#715112}.cosnli-unit.is-muted{opacity:.42}.cosnli-unit.is-selected{outline:2px solid #bd8423;outline-offset:1px}.cosnli-list{overflow:auto}.cosnli-list table{border-spacing:0}.cosnli-list th,.cosnli-list td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:13px}.cosnli-detail,.cosnli-enquiry{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:10px;background:#f8fbf8}.cosnli-detail{border-left:4px solid var(--accent);scroll-margin-top:100px}.cosnli-close{float:right}.cosnli-enquiry textarea{display:block;width:100%;padding:12px;font:14px/1.5 system-ui;background:#fff;border:1px solid #b8cdc4;border-radius:6px}.cosnli [data-shortlist]{background:var(--accent);color:white}.cosnli [data-shortlist]:disabled{background:#dee5e0;color:#55605a}.cosnli-admin{max-width:1400px}.cosnli-admin-scroll{max-height:650px;overflow:auto}.cosnli-admin-scroll thead{position:sticky;top:0;background:white;z-index:1}.cosnli-admin td input[type=number]{width:110px}.cosnli-admin h2{margin-top:32px}.cosnli-import{padding:20px;background:#eaf4ed}.cosnli-admin label{margin-right:10px}@media(max-width:850px){.cosnli-towers{grid-template-columns:1fr}.cosnli-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cosnli header{padding:20px}.cosnli h2{font-size:25px}}@media(max-width:480px){.cosnli-card strong{font-size:16px}.cosnli .cosnli-card{padding:12px}.cosnli-toolbar label{flex:1 1 44%}.cosnli-toolbar select{width:100%}.cosnli-detail,.cosnli-enquiry{padding:16px}.cosnli-legend{gap:10px;font-size:11px}.cosnli-view [data-count]{width:100%;margin:5px 0}.cosnli th{font-size:10px}.cosnli .cosnli-unit{min-width:58px}}

/* Override theme form constraints only for the inventory enquiry summary. */
.cosnli .cosnli-enquiry label{display:block;width:100%;max-width:none}
.cosnli .cosnli-enquiry textarea[data-enquiry]{display:block;width:100%!important;max-width:none!important;min-width:0;min-height:110px;resize:vertical;box-sizing:border-box}
.cosnli .cosnli-enquiry [data-selected]{overflow-wrap:anywhere}
/* Unit inspector: top-layer modal; the chart retains its position underneath. */
.cosnli dialog.cosnli-detail{position:fixed;inset:0;margin:auto;width:min(820px,calc(100vw - 32px));max-width:none;height:fit-content;max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow:auto;overscroll-behavior:contain;padding:24px;border:1px solid #b8cdc4;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 18px 70px #102b2940;z-index:2147483646}
.cosnli dialog.cosnli-detail::backdrop{background:rgba(14,38,35,.38)}
.cosnli .cosnli-backdrop{position:fixed;inset:0;background:rgba(14,38,35,.38);z-index:2147483645}
.cosnli .cosnli-dialog-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start;clear:both}
.cosnli .cosnli-plan{margin:0;min-width:0}.cosnli .cosnli-plan button{display:block;width:100%;padding:8px;background:#fafcfb;border-color:#d7e4df}
.cosnli .cosnli-plan img{display:block;width:100%;max-width:100%;height:300px;height:min(38dvh,330px);object-fit:contain;margin:0}
.cosnli .cosnli-plan figcaption{font-size:12px;color:#526b68;margin-top:7px}
.cosnli dialog.cosnli-detail [data-title]{padding-right:70px;margin:0 0 12px}.cosnli .cosnli-close{position:sticky;top:0;z-index:1}
.cosnli [data-modal-message]{font-size:13px;color:#166249}.cosnli [data-modal-enquire]{background:#edf4ef}
@media(max-width:600px){.cosnli dialog.cosnli-detail{padding:16px;width:calc(100vw - 24px);max-height:calc(100dvh - 40px)}.cosnli .cosnli-dialog-grid{grid-template-columns:1fr;gap:12px}.cosnli .cosnli-plan img{height:min(30dvh,240px)}.cosnli dialog.cosnli-detail p{margin:10px 0}}
/* COS navy/blue palette; status colours use translucent fills with readable text. */
.cosnli{--ink:#19365d;--accent:#3158b5;--line:#dce4f0}
.cosnli header{background:#edf2fa}.cosnli .cosnli-note,.cosnli-card small{color:#536781}
.cosnli button{border-color:#b9c9df}.cosnli button[aria-pressed=true]{background:#edf2ff;border-color:#3158b5;box-shadow:inset 0 0 0 1px #3158b5}
.cosnli .cosnli-unit.is-available{background:rgba(49,88,181,.09);border-color:#97afe0;color:#203e78}
.cosnli .cosnli-unit.is-sold{background:rgba(200,45,59,.14);border-color:rgba(184,38,53,.38);color:#8d2432}
.cosnli .cosnli-unit.is-sold.is-muted{opacity:.78}.cosnli .cosnli-unit.is-selected{outline-color:#3158b5;background:#dce7ff}
.cosnli .cosnli-legend span:first-child{color:#3158b5}.cosnli .cosnli-legend span:nth-child(2){color:#a3293b}
.cosnli .cosnli-list tr[data-status=sold] td:nth-child(4){color:#a3293b;font-weight:600}
.cosnli .cosnli-detail,.cosnli .cosnli-enquiry{border-color:#dce4f0;background:#f7f9fd}.cosnli dialog.cosnli-detail{border-color:#b9c9df;background:#fff}
.cosnli dialog.cosnli-detail::backdrop,.cosnli .cosnli-backdrop{background:rgba(20,35,60,.22)}
.cosnli .cosnli-plan button{background:#f7f9fd;border-color:#dce4f0}.cosnli .cosnli-plan figcaption{color:#536781}
.cosnli [data-shortlist]{background:#3158b5;color:#fff}.cosnli [data-modal-message]{color:#244b89}
.cosnli a.cosnli-whatsapp{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;border:1px solid #147d41;border-radius:6px;background:#158344;color:#fff!important;text-decoration:none!important;font:600 14px/1.4 system-ui,-apple-system,sans-serif}
.cosnli a.cosnli-whatsapp:hover{background:#106b36}.cosnli a.cosnli-whatsapp:focus-visible{outline:3px solid #3158b5;outline-offset:3px}
.cosnli dialog.cosnli-detail.is-plan-expanded{width:min(1120px,calc(100vw - 32px))}
.cosnli .cosnli-plan-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.cosnli [data-zoom-label]{min-width:45px;text-align:center;font-size:13px}
.cosnli .cosnli-plan-canvas{height:calc(100vh - 260px);height:calc(100dvh - 260px);min-height:180px;overflow:auto;overscroll-behavior:contain;background:#f2f5fa;border:1px solid #dce4f0;border-radius:6px;padding:12px;scrollbar-gutter:stable}
.cosnli .cosnli-plan-canvas img{display:block;height:auto;max-height:none;max-width:none;margin:0 auto;object-fit:contain}
@media(max-width:600px){.cosnli .cosnli-plan-tools{gap:5px}.cosnli .cosnli-plan-tools button{padding:8px 10px}.cosnli dialog.cosnli-detail.is-plan-expanded{width:calc(100vw - 16px)}.cosnli .cosnli-plan-canvas{height:calc(100dvh - 290px)}.cosnli a.cosnli-whatsapp{width:100%}}

/* Restore the original palette only within the stack chart and its legend. */
.cosnli .cosnli-towers .cosnli-unit.is-available{background:#e2f4e9;color:#145e47;border-color:#7bbba0}
.cosnli .cosnli-towers .cosnli-unit.is-sold{background:#f0f1f1;color:#65716f;border-color:#e0e4e2}
.cosnli .cosnli-towers .cosnli-unit.is-reserved,.cosnli .cosnli-towers .cosnli-unit.is-unreleased,.cosnli .cosnli-towers .cosnli-unit.is-unconfirmed{background:#fff4d8;color:#715112;border-color:#b8cdc4}
.cosnli .cosnli-towers .cosnli-unit.is-muted{opacity:.42}
.cosnli .cosnli-towers .cosnli-unit.is-selected{outline-color:#bd8423;background:#e2f4e9}
.cosnli .cosnli-legend span:first-child{color:#126b55}
.cosnli .cosnli-legend span:nth-child(2){color:#65716f}

/* Centre developments with a single building without changing multi-block charts. */
.cosnli-towers>.cosnli-tower:only-child{grid-column:1/-1;width:100%;max-width:640px;justify-self:center}

.cosnli-separate{margin-top:20px}.cosnli-separate h4{font-size:14px;margin-bottom:8px}

.cosnli-towers>.cosnli-tower.is-wide{max-width:none}.cosnli-unmapped{font-size:9px;color:#667785;display:block;padding:6px}.cosnli-catalogue-summary{font-size:13px;margin:16px 0}

/* Keep grid tracks within the page; scroll wide tables inside their own panel. */
.cosnli .cosnli-towers{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;max-width:100%}
.cosnli .cosnli-tower{min-width:0;max-width:100%}
.cosnli .cosnli-chart-scroll{min-width:0;max-width:100%;overflow-x:auto}
.cosnli .cosnli-towers>.cosnli-tower.is-wide{grid-column:1/-1;width:100%;max-width:100%}
@media(max-width:850px){.cosnli .cosnli-towers{grid-template-columns:minmax(0,1fr)}}
