.tenant-maintenance{margin-top:30px;border:1px solid #8c9cb6;padding:0;scroll-margin-top:115px}.tenant-maintenance summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:20px;color:#fff;cursor:pointer}.tenant-maintenance summary>span{font-size:16px}.tenant-maintenance summary>strong{font-size:22px}.tenant-maintenance summary:after{content:'+';margin-left:auto;font-size:26px}.tenant-maintenance[open] summary:after{content:'−'}.tenant-maintenance summary:focus-visible{outline:3px solid #fff;outline-offset:4px}.tenant-maintenance-body{padding:0 20px 24px;color:#fff}.tenant-maintenance-body p{font-size:16px;line-height:1.6}.tenant-maintenance-body a{color:inherit;text-decoration:underline}.tenant-maintenance-body .maintenance-urgent{padding:14px;background:#0A215B;font-size:14px}.tenant-maintenance label{display:block;font-size:15px;font-weight:700;line-height:1.5;margin:0 0 18px;color:#fff}.tenant-maintenance input:not([type=checkbox]),.tenant-maintenance textarea{display:block;width:100%;min-width:0;background:white;color:#0a215b;padding:12px;margin-top:7px;border:1px solid #a1b1c9;border-radius:0;font:inherit}.tenant-maintenance .maintenance-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tenant-maintenance .check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.tenant-maintenance .check input{margin-top:5px;flex:none}.tenant-maintenance .small{font-size:13px}.tenant-maintenance input[type=file]{font-size:13px}.tenant-maintenance #maintenance-file-list{font-size:14px;padding-left:20px}.tenant-maintenance #maintenance-result:empty{display:none}.tenant-maintenance button:disabled{opacity:.65;cursor:wait}.cms-report-files{display:flex;flex-direction:column;gap:9px;margin-top:18px}@media(max-width:760px){.tenant-maintenance .maintenance-fields{grid-template-columns:1fr;gap:0}.tenant-maintenance summary{padding:18px}.tenant-maintenance-body{padding-inline:18px}}

@media(max-width:760px){.tenant-maintenance summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.tenant-maintenance summary>span{grid-column:1;grid-row:1}.tenant-maintenance summary>strong{grid-column:1;grid-row:2;font-size:20px}.tenant-maintenance summary:after{grid-column:2;grid-row:1 / span 2}}

/* White report card and a clear coral opener. */
#main .tenant-maintenance{background:#fff;border:1px solid #f4455a;color:#0a215b}
#main .tenant-maintenance summary{background:#f4455a;color:#fff;display:flex;justify-content:space-between;gap:16px}
#main .tenant-maintenance summary strong{color:#fff;font-size:20px}
#main .tenant-maintenance summary:focus-visible{outline:3px solid #0a215b;outline-offset:4px}
#main .tenant-maintenance-body{color:#0a215b;padding-top:20px}
#main .tenant-maintenance-body p,#main .tenant-maintenance label,#main .tenant-maintenance #maintenance-file-list{color:#0a215b}
#main .tenant-maintenance-body .maintenance-urgent{background:#eef4fb;color:#0a215b;border-left:3px solid #f4455a}
#main .tenant-maintenance-body a{color:#0a215b}
.maintenance-report-tile{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center;margin-top:28px;padding:18px;background:white;color:#0a215b;border:2px solid #f4455a;text-decoration:none}.maintenance-report-tile img{display:block;width:100%;height:auto;aspect-ratio:1}.maintenance-report-tile>span{display:flex;flex-direction:column;gap:12px}.maintenance-report-tile strong{font-size:24px;line-height:1.2}.maintenance-report-tile>span>span{font-size:15px;line-height:1.5}.maintenance-report-tile .maintenance-tile-action{color:#fff;background:#f4455a;padding:10px 14px;font-weight:700;align-self:start}.contact-form-mode{display:flex;gap:10px;margin-bottom:24px}.contact-form-mode button{flex:1;padding:12px;border:1px solid #0a215b;background:#fff;color:#0a215b;font:inherit;font-weight:700;cursor:pointer}.contact-form-mode button[aria-pressed=true]{background:#0a215b;color:#fff}.cf-contact-form #lead-form[data-kind=maintenance] label{color:#0a215b;display:block;margin-bottom:18px;font-weight:700}.cf-contact-form #lead-form[data-kind=maintenance] .check{display:flex;align-items:start;gap:10px;font-weight:400}.cf-contact-form .maintenance-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cf-contact-form .maintenance-form-title{font-size:28px;margin:0 0 16px;color:#0a215b}.cf-contact-form .maintenance-form-intro,.cf-contact-form .maintenance-urgent,.cf-contact-form #maintenance-upload-help,.cf-contact-form #lead-form[data-kind=maintenance] .small,.cf-contact-form #maintenance-result{color:#0a215b;font-size:15px;line-height:1.6}.cf-contact-form .maintenance-urgent{padding:14px;border-left:3px solid #f4455a;background:#eef4fb;margin-bottom:24px}.cf-contact-form .maintenance-urgent a{color:inherit;text-decoration:underline}.cf-contact-form input[type=file]{padding:12px;font-size:14px;max-width:100%}.cf-contact-form #maintenance-file-list{color:#0a215b;padding-left:20px;font-size:14px}.cf-contact-form #maintenance-result:empty{display:none}.cf-contact-form{scroll-margin-top:110px}.maintenance-report-tile:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(max-width:760px){.maintenance-report-tile{grid-template-columns:95px minmax(0,1fr);gap:16px;padding:16px}.maintenance-report-tile strong{font-size:21px}.cf-contact-form .maintenance-fields{grid-template-columns:1fr;gap:0}.contact-form-mode button{font-size:14px;padding:12px 9px}}
/* Separate report tile and white expandable form in the left column. */
.cf-contact-grid{align-items:stretch}
.cf-contact-grid>div:first-child{display:flex;flex-direction:column}
#main .tenant-maintenance{display:flex;flex-direction:column;flex:1;margin-top:28px}
#main .tenant-maintenance summary.maintenance-open-tile{background:#fff;color:#0a215b;display:grid;grid-template-columns:minmax(130px,.85fr) minmax(0,1fr);gap:24px;padding:24px;align-items:center;min-height:260px;flex:1}
#main .tenant-maintenance summary.maintenance-open-tile:after{content:none}
.maintenance-open-tile>img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.maintenance-open-copy{display:flex;flex-direction:column;gap:16px}
#main .tenant-maintenance summary.maintenance-open-tile strong{color:#0a215b;font-size:26px;line-height:1.2}
.maintenance-open-copy>span{font-size:16px;line-height:1.5}
.maintenance-open-copy .maintenance-tile-action{background:#f4455a;color:white;padding:12px 16px;font-weight:700;align-self:start}
#main .tenant-maintenance[open] summary.maintenance-open-tile{flex:none;min-height:0;padding:20px}
#main .tenant-maintenance[open] .maintenance-tile-action{font-size:0}
#main .tenant-maintenance[open] .maintenance-tile-action:after{content:'Close report form';font-size:15px}
@media(max-width:760px){.cf-contact-grid{align-items:start}#main .tenant-maintenance summary.maintenance-open-tile{grid-template-columns:1fr;gap:20px;min-height:0;padding:24px}.maintenance-open-tile>img{max-width:220px;margin-inline:auto}#main .tenant-maintenance summary.maintenance-open-tile strong{font-size:25px}.maintenance-open-copy{align-items:center;text-align:center}.maintenance-open-copy .maintenance-tile-action{align-self:center}#main .tenant-maintenance[open] summary.maintenance-open-tile{grid-template-columns:90px minmax(0,1fr)}#main .tenant-maintenance[open] .maintenance-open-copy{text-align:left;align-items:start;gap:8px}#main .tenant-maintenance[open] .maintenance-open-copy>span:not(.maintenance-tile-action){display:none}#main .tenant-maintenance[open] summary.maintenance-open-tile strong{font-size:21px}#main .tenant-maintenance[open] .maintenance-tile-action{align-self:start}}
.cf-contact-grid:has(.tenant-maintenance[open]) .cf-contact-form{align-self:start}
#main .tenant-maintenance{border:0}
.cf-contact-details{max-width:none;width:100%}

/* Equal contact rows and a centred maintenance tile. */
.cf-contact-details{grid-auto-rows:1fr}
.cf-contact-detail{min-height:96px;height:100%;align-items:center}
.cf-contact-detail>span{flex:1;text-align:center}
#main .tenant-maintenance summary.maintenance-open-tile{grid-template-columns:1fr;justify-items:center;gap:16px;padding:24px;text-align:center;min-height:0}
.maintenance-open-tile>img{width:144px;max-width:100%;margin-inline:auto}
.maintenance-open-copy{align-items:center;text-align:center;gap:12px;max-width:360px}
.maintenance-open-copy .maintenance-tile-action{align-self:center}
#main .tenant-maintenance[open] summary.maintenance-open-tile{grid-template-columns:72px minmax(0,1fr);justify-items:stretch;text-align:left}
#main .tenant-maintenance[open] .maintenance-open-copy{align-items:start;text-align:left}
#main .tenant-maintenance[open] .maintenance-tile-action{align-self:start}
@media(max-width:760px){.cf-contact-detail{min-height:90px}.cf-contact-detail strong{font-size:18px}.maintenance-open-tile>img{width:140px}}
/* Restrained icon treatment without a coloured illustration panel. */
.maintenance-open-tile>img{width:88px;max-width:100%;border-radius:0}
.maintenance-open-copy{gap:14px}
#main .tenant-maintenance summary.maintenance-open-tile{gap:20px;padding:30px 24px}
#main .tenant-maintenance summary.maintenance-open-tile strong{font-size:25px;font-weight:700}
#main .tenant-maintenance[open] summary.maintenance-open-tile{padding:20px;gap:18px}
@media(max-width:760px){.maintenance-open-tile>img{width:80px}#main .tenant-maintenance summary.maintenance-open-tile strong{font-size:23px}}

/* Transparent opener matches the navy contact cards; the expanded form stays white. */
#main .tenant-maintenance{background:transparent;color:#fff}
#main .tenant-maintenance summary.maintenance-open-tile{background:transparent;color:#fff}
#main .tenant-maintenance summary.maintenance-open-tile strong{color:#fff}
#main .tenant-maintenance summary.maintenance-open-tile:focus-visible{outline:3px solid #fff}
#main .tenant-maintenance-body{background:#fff;color:#0A215B}
/* Wider report action while retaining a compact centred tile. */
.maintenance-open-copy .maintenance-tile-action{min-width:220px;max-width:100%;text-align:center;padding-inline:28px}

.maintenance-upload-control{position:relative;display:block;width:fit-content;max-width:100%;margin-top:10px}
.maintenance-upload-control>.button{background:#0A215B;color:#fff;max-width:100%;white-space:normal;text-align:center}
#main .maintenance-upload-control>input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.maintenance-upload-control:focus-within{outline:3px solid #0A215B;outline-offset:4px}

.maintenance-camera-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.maintenance-camera-actions .maintenance-upload-control{margin:0}
.maintenance-camera-actions .button{background:#fff;color:#0A215B;border:1px solid #0A215B}
#maintenance-file-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-block:10px;overflow-wrap:anywhere}
#maintenance-file-list li button{flex:none;background:#fff;color:#0A215B;border:1px solid #ccd5e2;padding:6px 10px;font:inherit;cursor:pointer}

#main .tenant-maintenance .maintenance-media-input{position:absolute;width:1px;height:1px;min-width:0;padding:0;margin:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
#main .tenant-maintenance .maintenance-upload-control{margin-bottom:0;cursor:pointer}
#main .maintenance-media-heading{font-size:15px;font-weight:700;margin-bottom:10px}
.maintenance-media-picker:has(.maintenance-media-input:focus-visible) .maintenance-upload-control{outline:2px solid #0A215B;outline-offset:3px}

/* Phone handoff: isolated dialog, existing form layout and controls preserved. */
.maintenance-phone-dialog{position:fixed;width:min(92vw,520px);max-height:90vh;overflow:auto;border:0;border-top:5px solid #f4455a;padding:30px;color:#0a215b;background:white;font:16px/1.55 Clarity,Arial,sans-serif}.maintenance-phone-dialog::backdrop{background:rgb(10 33 91 / .65)}.maintenance-phone-dialog h2{font-size:28px;line-height:1.2;padding-right:20px}.maintenance-phone-dialog .phone-close{position:absolute;top:10px;right:14px;background:white;border:0;font-size:28px;color:#0a215b;cursor:pointer}.maintenance-qr{width:min(100%,260px);margin:20px auto}.maintenance-qr svg{display:block;width:100%;height:auto}.maintenance-phone-dialog a{color:#0a215b;text-decoration:underline}.maintenance-phone-dialog .phone-new,.maintenance-phone-disconnect{background:white;border:1px solid #a1b1c9;color:#0a215b;padding:10px 14px;font:inherit;cursor:pointer}.maintenance-phone-dialog .small{font-size:13px}.maintenance-phone-state{font-size:14px}.maintenance-phone-state:empty{display:none}.maintenance-phone-disconnect[hidden]{display:none}.phone-status{overflow-wrap:anywhere}
