@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#172e37;background:#f4f7f8;font-size:16px;--ink:#142f39;--teal:#087e88;--line:#dce5e8}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #19b1bf;outline-offset:3px}button{border:0;background:none;color:inherit} .demo{background:#d8eef0;padding:10px 28px;display:flex;align-items:center;gap:20px;font-size:12px;font-weight:700;letter-spacing:1px}.demo span{font-weight:400;letter-spacing:0;font-size:13px}.demo button{margin-left:auto;font-size:14px;font-weight:700;letter-spacing:0}.shell{display:grid;grid-template-columns:232px 1fr;min-height:calc(100vh - 42px)}aside{background:var(--ink);color:#e5f0f2;padding:35px 22px;display:flex;flex-direction:column}.brand{font-size:17px;letter-spacing:2px;text-align:center;margin-bottom:48px}.brand strong{font-family:'Libre Caslon Display',Georgia,serif;font-size:70px;display:block;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:10px}.nav{display:grid;gap:8px}.nav button{text-align:left;padding:14px 16px;border-radius:8px;font-size:15px;display:flex;gap:13px;align-items:center}.nav button.active{background:#294650;color:white}.nav button:hover{background:#25424c}.nav b{margin-left:auto;background:#5bd4cd;color:#12323b;border-radius:6px;padding:2px 6px;font-size:12px}.account{margin-top:auto;padding-top:50px;font-size:14px}.account small{display:block;color:#a4bac3;margin-top:5px}.main{padding:35px 46px;max-width:1600px;width:100%}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#65818b;font-size:12px;font-weight:700}h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:48px;font-weight:400;margin:12px 0}h2{font-size:21px;margin:0 0 18px}h3{font-size:17px;margin:0 0 8px}p{line-height:1.65}.muted{color:#677c84}.head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:15px}.head p{margin:4px 0}.primary{background:var(--ink);color:white;padding:12px 19px;border-radius:7px}.secondary{border:1px solid var(--line);background:white;border-radius:7px;padding:11px 16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.stat{background:white;border:1px solid var(--line);padding:23px;border-radius:10px}.stat strong{font-size:31px;display:block;margin:10px 0}.stat small{color:#69818a}.layout{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:20px}.row{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #edf1f3;text-align:left;width:100%}.row:last-child{border-bottom:0}.row .grow{flex:1;min-width:0}.row p{margin:4px 0;color:#6d8087;font-size:14px}.row small{color:#6d8087}.avatar{width:43px;height:43px;flex-shrink:0;display:grid;place-items:center;background:#e7f1f2;color:#146873;border-radius:50%;font-weight:600;font-size:14px}.pill{display:inline-block;background:#e7f5ee;color:#287055;padding:5px 9px;font-size:12px;border-radius:5px;white-space:nowrap}.pill.grey{background:#edf1f3;color:#687a82}.pill.blue{background:#e1f1f6;color:#236b84}.link{color:var(--teal);font-weight:600;font-size:14px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.sectiontitle h2{margin:0}.flatgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.flat{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-align:left}.flat:hover{border-color:var(--teal);transform:translateY(-2px)}.flat-top{background:#e3edef;padding:20px;display:flex;justify-content:space-between;align-items:center}.flat-number{font-family:'Libre Caslon Display',serif;font-size:38px}.flat-body{padding:20px}.flat-body p{font-size:14px;margin:8px 0;color:#6d8087}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:22px 0;overflow:auto}.tabs button{padding:12px 0;white-space:nowrap;color:#677d87}.tabs .active{border-bottom:3px solid var(--teal);color:var(--ink);font-weight:700}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.label{font-size:13px;color:#71838b;display:block;margin-bottom:7px}.value{margin-bottom:23px}.inbox{display:grid;grid-template-columns:290px 1fr;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-height:560px}.threads{border-right:1px solid var(--line);padding:12px}.threads .row{padding:18px 10px;border-radius:6px}.threads .selected{background:#eaf4f5}.chat{display:flex;flex-direction:column;min-width:0}.chathead{padding:20px 24px;border-bottom:1px solid var(--line)}.chathead p{font-size:13px;margin:5px 0 0;color:#68808a}.messages{padding:25px;flex:1;background:#f8fafb;max-height:430px;overflow:auto;display:flex;flex-direction:column;gap:15px}.bubble{padding:13px 17px;background:white;border:1px solid var(--line);border-radius:12px 12px 12px 0;max-width:85%;font-size:15px;line-height:1.55;align-self:flex-start}.bubble.mine{align-self:flex-end;background:#163d48;color:white;border:0;border-radius:12px 12px 0 12px}.bubble.reminder{background:#e5f1f3;align-self:center;border:0;width:95%;max-width:95%}.bubble small{display:block;font-size:11px;opacity:.65;margin-top:7px}.compose{padding:16px;display:flex;gap:10px;border-top:1px solid var(--line)}.compose input{width:100%;min-width:0;border:1px solid var(--line);padding:12px;border-radius:7px}.code{letter-spacing:5px;font-size:28px;font-weight:600;margin:18px 0}.notice{background:#e7f1f3;border-radius:8px;padding:15px 19px;font-size:14px;line-height:1.6}.pack{padding:18px 0;border-bottom:1px solid var(--line)}.pack summary{cursor:pointer;font-weight:600;padding:4px 0}.pack p{color:#5b737d;font-size:15px}.phonewrap{max-width:490px;margin:25px auto 70px}.phone{background:white;min-height:750px;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 70px #1b3d4210}.phoneheader{padding:28px;background:var(--ink);color:white}.phoneheader .eyebrow{color:#a6c5cd}.phoneheader h1{font-size:40px}.phonecontent{padding:23px}.phone .chat{min-height:520px}.phone .messages{max-height:440px}.bottomnav{display:flex;justify-content:space-around;border-top:1px solid var(--line);padding:16px 5px;background:white;position:sticky;bottom:0}.bottomnav button{font-size:13px;padding:6px;color:#69828a}.bottomnav button.active{color:#087e88;font-weight:700}.tenantintro{color:#78909a;font-size:14px;text-align:center;margin:20px}.phone .panel{padding:19px}.phone h2{font-size:19px}dialog{border:0;border-radius:14px;max-width:560px;width:calc(100% - 35px);padding:35px;color:var(--ink);box-shadow:0 30px 120px #0003}dialog::backdrop{background:#142e3970}.close{float:right;font-size:28px}.document{background:#f4f7f8;border:1px solid var(--line);padding:25px;margin-top:20px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#142f39;color:white;padding:14px 22px;border-radius:8px;display:none;z-index:10;box-shadow:0 5px 30px #0002}button:hover{filter:brightness(.97)}@media(max-width:1050px){.main{padding:28px}.flatgrid{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:1fr}.shell{grid-template-columns:195px 1fr}.inbox{grid-template-columns:210px 1fr}}@media(max-width:700px){.demo{padding:10px 14px;flex-wrap:wrap;gap:6px;font-size:10px}.demo span{display:none}.shell{display:block}aside{padding:15px;display:block}.brand{font-size:12px;margin:0 0 15px;display:flex;align-items:center;gap:10px;justify-content:center}.brand strong{font-size:30px}.brand small,.account{display:none}.nav{display:flex;justify-content:space-around;gap:0}.nav button{padding:10px 8px;font-size:12px;gap:5px}.nav b{display:none}.main{padding:24px 18px}h1{font-size:37px}.head{align-items:flex-start}.stats{gap:8px}.stat{padding:14px 10px;font-size:12px}.stat strong{font-size:26px}.stat small{font-size:11px}.panel{padding:18px}.flatgrid{gap:12px}.flat-top,.flat-body{padding:15px}.flat-number{font-size:30px}.flat-body h3{font-size:15px}.detailgrid{grid-template-columns:1fr}.inbox{display:block}.threads{display:flex;overflow:auto;border:0;border-bottom:1px solid var(--line);gap:8px}.threads .row{min-width:180px;width:auto;padding:10px}.threads .row p,.threads .row small{display:none}.chathead{padding:18px}.messages{padding:15px}.phonewrap{margin:12px auto;max-width:100%}.phone{border:0;border-radius:0;box-shadow:none}.tenantintro{margin:12px}.head .secondary{font-size:12px}.bubble{max-width:95%}}

.brand img{display:block;width:100%;height:auto;border-radius:5px}.tenant-logo{display:block;width:112px;height:auto;border-radius:4px;margin-bottom:22px}.phoneheader{background:#253138}@media(max-width:700px){.brand img{width:85px}.brand{margin-bottom:12px}.tenant-logo{width:96px}}

dialog form input{display:block;width:100%;padding:11px;border:1px solid var(--line);border-radius:6px;margin:8px 0 20px} @media(max-width:700px){.nav{overflow:auto;justify-content:flex-start}.nav button{flex-shrink:0}.row{flex-wrap:wrap}.row .grow{min-width:140px}}

select,textarea{font:inherit;color:inherit;border:1px solid var(--line);border-radius:7px;padding:10px;max-width:100%}dialog select,dialog textarea{width:100%;display:block;margin:8px 0 20px}.phonecontent .head{flex-wrap:wrap}.phonecontent .head h1{font-size:32px}

.photo-actions{display:flex;gap:10px;margin:12px 0}.photo-previews{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0}.photo-previews img{width:120px;height:120px;object-fit:cover;border-radius:8px}.photo-previews>div{display:flex;flex-direction:column;align-items:center;gap:6px}dialog input[hidden]{display:none}

.templatebar{padding:12px 16px 0}.compose textarea{width:100%;min-width:0;resize:vertical;max-height:360px}.compose{align-items:flex-end}.bubble{white-space:pre-wrap}

.tenantnav{display:flex;justify-content:space-around;gap:3px;border-bottom:1px solid var(--line);padding:10px 8px 0;background:white;overflow-x:auto}.tenantnav button{font-size:14px;padding:12px 6px;white-space:nowrap;color:#69828a;border-bottom:3px solid transparent}.tenantnav button.active{color:#087e88;font-weight:700;border-bottom-color:#087e88}

.guide-section summary{display:flex;align-items:center;gap:14px;list-style:none;padding:10px 0}.guide-section summary::-webkit-details-marker{display:none}.guide-section summary:after{content:'+';margin-left:auto;font-size:23px;color:var(--teal)}.guide-section[open] summary:after{content:'−'}.guide-icon{font-size:24px;flex-shrink:0;width:32px;text-align:center}.guide-content{padding:15px 0 10px}.guide-content h3{margin:22px 0 10px;line-height:1.5}.guide-content p,.guide-content li{font-size:16px;line-height:1.75;color:#38535e}.guide-content ul{padding-left:24px}.guide-content li{margin:8px 0}.guide-photo{display:block;max-width:100%;height:auto;max-height:500px;object-fit:contain;margin:20px auto;border-radius:8px}.flat-guide{margin-top:35px;padding:24px;background:#eef5f6;border-radius:10px}.flat-guide h2{margin-top:12px}.guide-tabs{margin:18px 0}

.access-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.access-code-card{border:1px solid var(--line);border-radius:10px;padding:18px;background:#eef5f6}.access-code-card p{margin-bottom:0}.lockout-guide{display:block;width:100%;height:auto;margin-top:20px;border-radius:12px}.phone .access-codes{grid-template-columns:1fr}@media(max-width:600px){.access-codes{grid-template-columns:1fr}}

/* Seafront tenant theme */
.phone{background:#f5f9ff;border-radius:28px;border-color:#d7e5f2}.phoneheader{background:linear-gradient(120deg,#083e62,#007d91);padding:26px 26px 30px}.phoneheader h1{font-family:'DM Sans',sans-serif;font-size:32px;font-weight:750;letter-spacing:-1px;line-height:1.2}.tenant-logo{width:80px;margin-bottom:18px;border-radius:14px}.phoneheader .eyebrow{color:#bceff4}.phonecontent{padding:20px}.tenantnav{gap:5px;padding:10px;background:white;justify-content:flex-start}.tenantnav button{display:flex;flex-direction:column;align-items:center;gap:7px;flex:1;min-width:65px;border:0;border-radius:13px;padding:9px 6px;font-size:14px;color:#39536b}.nav-icon{display:inline-grid;place-items:center;font-size:23px;line-height:1.2}.tenantnav button.active{background:#d9f4fa;color:#075c72}.tenantnav button:hover{background:#edf6ff}.tenant-help{background:#d9f5f5;border:1px solid #afe3e6;border-radius:20px}.phone .primary{background:#075f83;border-radius:12px;font-weight:700}.phone .tenant-tile{margin:10px 0;padding:17px;background:white;border:1px solid #e1e8f2;border-radius:18px;box-shadow:0 4px 12px #143e6110;flex-wrap:nowrap}.phone .tenant-tile .grow{min-width:0}.tenant-tile .avatar{width:49px;height:49px;border-radius:15px;background:#e7eaff;font-size:24px}.tenant-tile:nth-of-type(2) .avatar{background:#fff0d2}.tenant-tile:nth-of-type(3) .avatar{background:#dcf5e5}.tenant-tile:nth-of-type(4) .avatar{background:#ffe4e8}.tenant-tile:nth-of-type(5) .avatar{background:#def1ff}.phone .notice{background:#fff2cd;border:1px solid #efdda1;border-radius:16px;color:#5c491e}.phone .pack{background:white;margin:9px 0;border:1px solid #dbe6f0;border-radius:14px;padding:15px}.phone .pack summary{line-height:1.5}.phone .access-code-card{background:#e0f3fa;border-radius:18px}.phone .access-code-card:nth-child(2){background:#fff0ce}.phone .messages{background:#eef5fc}.phone .bubble{border-radius:18px 18px 18px 4px}.phone .bubble.mine{background:#086b88;border-radius:18px 18px 4px 18px}.phone .compose{background:white}.phone .pill{font-size:14px}.phone button:focus-visible{outline:3px solid #155fc5;outline-offset:3px}@media(max-width:700px){.phone{border-radius:20px}.phoneheader h1{font-size:30px}.phone .tenant-tile .grow{min-width:0}.phone .tenant-tile p{font-size:14px}}

/* Management companion to the tenant theme */
.shell{background:#f2f7fd;grid-template-columns:248px minmax(0,1fr)}.shell aside{background:linear-gradient(165deg,#103b58,#075a70);padding:28px 18px;color:#fff}.shell .brand{margin:0 auto 30px;max-width:130px}.shell .brand img{border-radius:17px}.shell .nav{gap:9px}.shell .nav button{border-radius:14px;padding:13px 12px;color:#e1f3f8;font-weight:600;font-size:15px}.shell .nav button>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#ffffff18;font-size:23px;flex-shrink:0}.shell .nav button.active{background:#d9f6f5;color:#064d60;box-shadow:0 4px 15px #001f3318}.shell .nav button.active>span{background:white}.shell .nav button:hover{background:#ffffff18}.shell .nav button.active:hover{background:#c9efef}.shell .account{color:white;padding:26px 12px 0;font-size:14px}.shell .account small{color:#b8dce4}.shell .main{padding:34px 38px}.shell h1{font-family:'DM Sans',sans-serif;font-weight:750;font-size:38px;letter-spacing:-1.2px;line-height:1.2}.shell .eyebrow{color:#446b83;font-size:12px;letter-spacing:1.5px}.shell .head{background:white;border:1px solid #dce8f2;border-radius:22px;padding:24px 28px;margin-bottom:24px}.shell .stats{gap:18px}.shell .stat{position:relative;border-radius:20px;padding:24px;background:#dcf4f5;border:1px solid #b9e1e5;font-weight:600;min-height:160px}.shell .stat:nth-child(2){background:#e9eaff;border-color:#d5d5ef}.shell .stat:nth-child(3){background:#fff1d5;border-color:#ecddb9}.shell .stat strong{font-size:38px;line-height:1.2;letter-spacing:-1px;margin:12px 0 6px}.shell .stat small{color:#456273;font-size:14px;font-weight:400}.stat-icon{float:right;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#ffffffa8;font-size:26px;margin-left:10px}.shell .panel{border-radius:20px;border-color:#dce6f0;box-shadow:0 4px 20px #1b405908}.shell .layout>div:last-child>.panel:first-child{background:#fff6df;border-color:#eddfbc}.shell .layout>div:last-child>.panel:nth-child(2){background:#e8f4ff;border-color:#cfe2f4}.shell .primary{background:#086b88;color:white;border-radius:12px;font-weight:700}.shell .secondary{border-radius:12px;background:#f5f9fd}.shell .row{padding:17px 8px;border-color:#e5edf5;border-radius:11px}.shell button.row:hover{background:#edf6fc}.shell .avatar{background:#dff3f5;color:#145d73;border-radius:14px;width:46px;height:46px}.shell .row:nth-child(3n) .avatar{background:#eeebff;color:#5a468c}.shell .row:nth-child(3n+1) .avatar{background:#fff0d4;color:#805819}.shell .flat{border-radius:20px;border-color:#d7e5f0;box-shadow:0 5px 20px #173e5b08;transition:transform .15s,border-color .15s}.shell .flat-top{background:#daf3f5;padding:22px}.shell .flat:nth-child(3n+2) .flat-top{background:#e9eaff}.shell .flat:nth-child(3n) .flat-top{background:#fff0d2}.shell .flat-number{font-family:'DM Sans',sans-serif;font-size:28px;font-weight:750;letter-spacing:-.8px}.shell .flat-body{padding:22px}.shell .flat-body h3{font-size:18px}.shell .pill{font-size:14px;border-radius:8px;padding:5px 10px}.shell .pill.grey{background:#e8eef5;color:#4e6578}.shell .tabs{gap:8px;border:0;background:white;border-radius:16px;padding:8px}.shell .tabs button{padding:12px 16px;border:0;border-radius:11px;font-size:14px}.shell .tabs .active{background:#d9f3f6;color:#075b73}.shell .inbox{border-radius:22px;border-color:#d9e5f1}.shell .threads{background:#fbfdff}.shell .threads .selected{background:#dff2f6}.shell .chathead{background:white}.shell .messages{background:#edf4fc}.shell .bubble{border-radius:17px 17px 17px 4px}.shell .bubble.mine{background:#086b88;border-radius:17px 17px 4px 17px}.shell .compose{background:white}.shell .notice{background:#e4f3fa;border-radius:14px}.shell .pack{border:1px solid #dce7f0;border-radius:14px;padding:16px;margin:10px 0}.shell .label{font-size:14px;color:#526d80}.shell .value{overflow-wrap:anywhere}.shell button:focus-visible{outline:3px solid #1684db;outline-offset:3px}@media(max-width:1050px){.shell{grid-template-columns:210px minmax(0,1fr)}.shell .main{padding:25px}.shell .stat{padding:18px}.stat-icon{width:36px;height:36px;font-size:22px}}@media(max-width:700px){.shell{display:block}.shell aside{padding:14px}.shell .brand{max-width:76px;margin-bottom:12px}.shell .nav{gap:7px}.shell .nav button{flex-direction:column;gap:5px;font-size:14px;padding:8px 10px}.shell .nav button>span{width:30px;height:30px;font-size:22px}.shell .main{padding:20px 15px}.shell h1{font-size:29px}.shell .head{padding:20px;flex-wrap:wrap}.shell .stats{grid-template-columns:1fr;gap:10px}.shell .stat{min-height:0;padding:17px 20px}.shell .stat strong{display:inline-block;margin:6px 12px 0 0;font-size:30px}.shell .stat small{display:block}.shell .flatgrid{grid-template-columns:1fr}.shell .flat-top,.shell .flat-body{padding:19px}.shell .panel{padding:19px}.shell .account{display:none}.shell .row .grow{min-width:0}.shell .sectiontitle{gap:12px;flex-wrap:wrap}.shell .head p{overflow-wrap:anywhere}}

.broadcast-dialog{max-width:780px;max-height:90dvh;overflow:auto;padding:28px;border-radius:24px}.broadcast-head{display:flex;gap:18px;align-items:center;justify-content:space-between}.broadcast-head h2{margin:10px 0}.broadcast-head button{flex-shrink:0}.broadcast-form{display:grid;gap:18px}.broadcast-form fieldset{border:1px solid #d6e4ef;border-radius:16px;padding:16px;margin:0;min-width:0}.broadcast-form legend{font-weight:700}.broadcast-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.broadcast-flats{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:290px;overflow:auto}.broadcast-flats label{display:flex;align-items:center;gap:12px;padding:13px;background:#f0f7fc;border:1px solid #dbe8f2;border-radius:12px;cursor:pointer}.broadcast-flats label:has(input:checked){background:#dcf4f4;border-color:#4eabb9}.broadcast-flats input[type=checkbox]{display:inline-block;width:20px;height:20px;margin:0;accent-color:#08738a;flex-shrink:0}.broadcast-flats small{display:block;font-size:14px;color:#526c80;margin-top:4px}.broadcast-form>label{display:grid;gap:8px;font-size:16px;font-weight:600}.broadcast-form textarea,.broadcast-form select{width:100%;font:inherit;padding:12px;border:1px solid #bdd2e2;border-radius:12px;box-sizing:border-box}.broadcast-copy{white-space:pre-wrap;background:#edf7fa;border-radius:14px;padding:18px;overflow-wrap:anywhere}.broadcast-review details{padding:12px 0;border-bottom:1px solid #dce7ef}.broadcast-review summary{cursor:pointer;font-weight:600}.broadcast-dialog button{min-height:44px}.broadcast-form[hidden],.broadcast-review[hidden]{display:none}.broadcast-dialog .primary{background:#086b88;border-radius:12px}.broadcast-dialog .error{color:#a21d39}@media(max-width:600px){.broadcast-dialog{padding:20px}.broadcast-flats{grid-template-columns:1fr}.broadcast-head{align-items:flex-start}.broadcast-head h2{font-size:21px}}

/* Solid brand backdrop matched to the refreshed logo. */
.shell aside,.phoneheader{background:#0d4160}.shell .brand img,.tenant-logo{border-radius:0;height:auto;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);mask-composite:intersect}
