/* Rental Customer Approval 2.7.0 — rental-specific messaging */
.cfl-messaging-app,
.cfl-rental-communication,
.cfl-customer-message-panel,
.cfl-messaging-settings{
	--cfl-msg-surface:var(--cfl-surface,var(--cfl-account-surface,#fff));
	--cfl-msg-surface-2:var(--cfl-surface-2,var(--cfl-account-surface-2,#f7f9fc));
	--cfl-msg-text:var(--cfl-text,var(--cfl-account-text,#172033));
	--cfl-msg-muted:var(--cfl-muted,var(--cfl-account-muted,#667085));
	--cfl-msg-border:var(--cfl-border,var(--cfl-account-line,#dbe3ed));
	--cfl-msg-primary:var(--cfl-brand-primary,var(--cfl-v2-primary,#17324d));
	--cfl-msg-on-primary:var(--cfl-brand-button-text,#fff);
	--cfl-msg-success:var(--cfl-brand-success,#176b31);
	--cfl-msg-error:var(--cfl-brand-error,#b42318);
	--cfl-msg-warning:var(--cfl-brand-warning,#9a6700);
	color:var(--cfl-msg-text);
}

.cfl-messaging-app *{box-sizing:border-box}
.cfl-messaging-app{display:grid;grid-template-columns:minmax(270px,350px) minmax(0,1fr);min-height:660px;border:1px solid var(--cfl-msg-border);border-radius:18px;overflow:hidden;background:var(--cfl-msg-surface);box-shadow:0 16px 38px rgba(15,23,42,.08)}
.cfl-messaging-app.is-customer{min-height:610px}
.cfl-message-inbox{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--cfl-msg-border);background:var(--cfl-msg-surface-2)}
.cfl-message-inbox-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 18px 14px}
.cfl-message-inbox-head h2{margin:2px 0 0!important;color:var(--cfl-msg-text)!important;font-size:25px!important}
.cfl-message-inbox-head .cfl-icon-button{flex:0 0 40px}
.cfl-message-filters{display:grid;gap:10px;padding:0 14px 14px}
.cfl-message-filters input[type=search]{width:100%;min-height:44px;padding:10px 13px!important;border:1px solid var(--cfl-msg-border)!important;border-radius:11px!important;background:var(--cfl-msg-surface)!important;color:var(--cfl-msg-text)!important;font:inherit!important;box-shadow:none!important}
.cfl-message-filter-tabs{display:flex;gap:5px;overflow-x:auto;padding:3px;background:color-mix(in srgb,var(--cfl-msg-border) 34%,transparent);border-radius:11px;scrollbar-width:none}
.cfl-message-filter-tabs::-webkit-scrollbar{display:none}
.cfl-message-filter-tabs button{appearance:none;flex:0 0 auto;min-height:34px;padding:7px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--cfl-msg-muted)!important;-webkit-text-fill-color:var(--cfl-msg-muted)!important;font:inherit!important;font-size:12px!important;font-weight:800!important;box-shadow:none!important;cursor:pointer}
.cfl-message-filter-tabs button.is-active{background:var(--cfl-msg-surface)!important;color:var(--cfl-msg-text)!important;-webkit-text-fill-color:var(--cfl-msg-text)!important;box-shadow:0 2px 7px rgba(15,23,42,.09)!important}
.cfl-message-list{display:grid;align-content:start;min-height:0;overflow:auto;padding:0 8px 12px}
.cfl-message-list-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:76px;padding:10px;border:1px solid transparent;border-radius:13px;color:var(--cfl-msg-text)!important;text-decoration:none!important;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.cfl-message-list-item:hover{border-color:var(--cfl-msg-border);background:var(--cfl-msg-surface);transform:translateY(-1px)}
.cfl-message-list-item.is-active{border-color:color-mix(in srgb,var(--cfl-msg-primary) 32%,var(--cfl-msg-border));background:var(--cfl-msg-surface);box-shadow:0 7px 18px rgba(15,23,42,.07)}
.cfl-message-list-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--cfl-msg-primary) 11%,var(--cfl-msg-surface));color:var(--cfl-msg-primary);font-size:13px;font-weight:900}
.cfl-message-list-copy{display:grid;min-width:0;gap:2px}
.cfl-message-list-copy strong{overflow:hidden;color:var(--cfl-msg-text);font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.cfl-message-list-copy small{overflow:hidden;color:var(--cfl-msg-muted);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.cfl-message-list-copy em{color:var(--cfl-msg-muted);font-size:10px;font-style:normal}
.cfl-message-unread{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--cfl-msg-primary);color:var(--cfl-msg-on-primary);font-size:10px;font-weight:900}
.cfl-message-empty-list{display:grid;gap:4px;padding:28px 18px;text-align:center;color:var(--cfl-msg-muted)}
.cfl-message-empty-list strong{color:var(--cfl-msg-text)}
.cfl-message-audit-link{margin:auto 14px 14px;padding:10px 12px;border:1px solid var(--cfl-msg-border);border-radius:10px;color:var(--cfl-msg-muted)!important;text-align:center;text-decoration:none!important;font-size:12px;font-weight:800}

.cfl-message-main{min-width:0;background:var(--cfl-msg-surface)}
.cfl-message-thread{display:flex;flex-direction:column;height:100%;min-height:610px;background:var(--cfl-msg-surface)}
.cfl-message-thread-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--cfl-msg-border);background:var(--cfl-msg-surface)}
.cfl-message-thread-head h3{margin:2px 0 3px!important;color:var(--cfl-msg-text)!important;font-size:18px!important;line-height:1.3!important}
.cfl-message-member-summary{margin:0!important;color:var(--cfl-msg-muted);font-size:12px}
.cfl-message-thread-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cfl-message-thread-actions .cfl-btn.small{min-height:36px!important;padding:7px 11px!important;font-size:12px!important}
.cfl-message-status{min-height:0;padding:0 22px;color:var(--cfl-msg-muted);font-size:12px;font-weight:700;transition:.15s ease}
.cfl-message-status:not(:empty){min-height:38px;padding-top:9px;padding-bottom:9px;border-bottom:1px solid var(--cfl-msg-border);background:var(--cfl-msg-surface-2)}
.cfl-message-status.is-error{color:var(--cfl-msg-error);background:color-mix(in srgb,var(--cfl-msg-error) 8%,var(--cfl-msg-surface))}
.cfl-message-status.is-success{color:var(--cfl-msg-success);background:color-mix(in srgb,var(--cfl-msg-success) 8%,var(--cfl-msg-surface))}
.cfl-message-stream{display:flex;flex:1 1 auto;flex-direction:column;gap:12px;min-height:260px;max-height:650px;overflow:auto;padding:22px;background:linear-gradient(180deg,var(--cfl-msg-surface-2),var(--cfl-msg-surface));overscroll-behavior:contain;scrollbar-color:color-mix(in srgb,var(--cfl-msg-muted) 35%,transparent) transparent}
.cfl-message-load-earlier{align-self:center;appearance:none;padding:7px 12px;border:1px solid var(--cfl-msg-border);border-radius:999px;background:var(--cfl-msg-surface);color:var(--cfl-msg-muted);font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.cfl-message-load-earlier[hidden]{display:none!important}

.cfl-message-bubble{position:relative;display:grid;align-self:flex-start;gap:7px;width:min(76%,680px);padding:12px 14px;border:1px solid var(--cfl-msg-border);border-radius:16px 16px 16px 5px;background:var(--cfl-msg-surface);color:var(--cfl-msg-text);box-shadow:0 5px 14px rgba(15,23,42,.045)}
.cfl-message-bubble.is-mine{align-self:flex-end;border-color:color-mix(in srgb,var(--cfl-msg-primary) 28%,var(--cfl-msg-border));border-radius:16px 16px 5px 16px;background:color-mix(in srgb,var(--cfl-msg-primary) 9%,var(--cfl-msg-surface))}
.cfl-message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--cfl-msg-muted);font-size:10px;line-height:1.3}
.cfl-message-meta strong{color:var(--cfl-msg-text);font-size:11px}
.cfl-message-meta time{white-space:nowrap}
.cfl-message-body{overflow-wrap:anywhere;font-size:14px;line-height:1.55;white-space:normal}
.cfl-message-system{align-self:center;display:flex;gap:8px;align-items:center;max-width:90%;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--cfl-msg-muted) 8%,transparent);color:var(--cfl-msg-muted);font-size:11px;text-align:center}
.cfl-message-system time{font-size:9px;white-space:nowrap}
.cfl-message-attachments{display:grid;gap:9px;min-width:0}
.cfl-message-image{display:grid;gap:5px;color:var(--cfl-msg-muted)!important;text-decoration:none!important;font-size:10px}
.cfl-message-image img{display:block;width:auto;max-width:min(100%,520px);max-height:420px;border:1px solid var(--cfl-msg-border);border-radius:12px;object-fit:contain;background:#000}
.cfl-message-media{display:grid;gap:6px;margin:0;min-width:0}
.cfl-message-media video{display:block;width:min(100%,560px);max-height:420px;border-radius:12px;background:#000}
.cfl-message-media audio{width:min(100%,430px);height:40px}
.cfl-message-media figcaption{color:var(--cfl-msg-muted);font-size:10px}
.cfl-message-file{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 11px;border:1px solid var(--cfl-msg-border);border-radius:10px;background:var(--cfl-msg-surface-2);color:var(--cfl-msg-text)!important;text-decoration:none!important;font-size:12px;font-weight:800;overflow-wrap:anywhere}
.cfl-message-file span{flex:0 0 auto;color:var(--cfl-msg-muted);font-size:10px;font-weight:700}
.cfl-message-context-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:3px}
.cfl-message-context-actions :is(button,a){appearance:none;padding:0;border:0!important;background:transparent!important;color:var(--cfl-msg-primary)!important;-webkit-text-fill-color:var(--cfl-msg-primary)!important;font:inherit!important;font-size:11px!important;font-weight:850!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer}
.cfl-message-task-link{justify-self:start;padding:5px 8px;border-radius:8px;background:color-mix(in srgb,var(--cfl-msg-success) 10%,transparent);color:var(--cfl-msg-success)!important;text-decoration:none!important;font-size:10px;font-weight:850}

.cfl-message-composer{display:grid;gap:9px;padding:14px 18px 16px;border-top:1px solid var(--cfl-msg-border);background:var(--cfl-msg-surface)}
.cfl-message-composer[aria-busy=true]{opacity:.72;pointer-events:none}
.cfl-message-quick-reply select{width:100%;min-height:38px!important;padding:7px 11px!important;border:1px solid var(--cfl-msg-border)!important;border-radius:9px!important;background:var(--cfl-msg-surface-2)!important;color:var(--cfl-msg-text)!important;font:inherit!important;font-size:12px!important}
.cfl-message-composer textarea{display:block;width:100%;min-height:72px!important;max-height:190px;padding:11px 13px!important;border:1px solid var(--cfl-msg-border)!important;border-radius:12px!important;background:var(--cfl-msg-surface-2)!important;color:var(--cfl-msg-text)!important;-webkit-text-fill-color:var(--cfl-msg-text)!important;font:inherit!important;font-size:14px!important;line-height:1.45!important;resize:vertical;box-shadow:none!important}
.cfl-message-composer textarea::placeholder{color:var(--cfl-msg-muted)!important;opacity:.82}
.cfl-message-composer-tools{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}
.cfl-message-attach-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;border:1px solid var(--cfl-msg-border);border-radius:9px;background:var(--cfl-msg-surface-2);color:var(--cfl-msg-text);font-size:12px;font-weight:850;cursor:pointer}
.cfl-message-attach-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.cfl-voice-record{display:inline-flex!important;align-items:center;gap:7px;min-height:38px!important;padding:7px 11px!important;border:1px solid var(--cfl-msg-border)!important;border-radius:9px!important;background:var(--cfl-msg-surface-2)!important;color:var(--cfl-msg-text)!important;-webkit-text-fill-color:var(--cfl-msg-text)!important;font:inherit!important;font-size:12px!important;font-weight:850!important;box-shadow:none!important;cursor:pointer}
.cfl-voice-dot{width:9px;height:9px;border-radius:50%;background:var(--cfl-msg-error)}
.cfl-voice-record.is-recording{border-color:color-mix(in srgb,var(--cfl-msg-error) 45%,var(--cfl-msg-border))!important;background:color-mix(in srgb,var(--cfl-msg-error) 8%,var(--cfl-msg-surface))!important;color:var(--cfl-msg-error)!important;-webkit-text-fill-color:var(--cfl-msg-error)!important}
.cfl-voice-record.is-recording .cfl-voice-dot{animation:cfl-message-pulse 1s infinite}
@keyframes cfl-message-pulse{50%{opacity:.3;transform:scale(.75)}}
.cfl-message-file-summary{min-width:0;overflow:hidden;color:var(--cfl-msg-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.cfl-message-composer-tools>[data-cfl-send-message]{margin-left:auto;min-width:82px}
.cfl-voice-preview{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--cfl-msg-border);border-radius:10px;background:var(--cfl-msg-surface-2)}
.cfl-voice-preview[hidden]{display:none!important}
.cfl-voice-preview audio{flex:1;min-width:160px;height:36px}
.cfl-voice-preview span{color:var(--cfl-msg-muted);font-size:11px;font-weight:800}
.cfl-voice-preview button{appearance:none;padding:0!important;border:0!important;background:transparent!important;color:var(--cfl-msg-error)!important;-webkit-text-fill-color:var(--cfl-msg-error)!important;font:inherit!important;font-size:11px!important;font-weight:850!important;box-shadow:none!important;cursor:pointer}
.cfl-message-disabled{padding:16px 20px;border-top:1px solid var(--cfl-msg-border);background:var(--cfl-msg-surface-2);color:var(--cfl-msg-muted);font-size:12px;text-align:center}
.cfl-message-welcome{display:grid;place-content:center;min-height:560px;padding:30px;text-align:center;color:var(--cfl-msg-muted)}
.cfl-message-welcome h3{margin:0 0 5px!important;color:var(--cfl-msg-text)!important}

.cfl-message-context-tabs{display:inline-flex;gap:5px;margin:0 0 14px;padding:4px;border:1px solid var(--cfl-msg-border);border-radius:12px;background:var(--cfl-msg-surface-2)}
.cfl-message-context-tabs button{appearance:none;min-height:36px;padding:7px 14px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--cfl-msg-muted)!important;-webkit-text-fill-color:var(--cfl-msg-muted)!important;font:inherit!important;font-size:12px!important;font-weight:850!important;box-shadow:none!important;cursor:pointer}
.cfl-message-context-tabs button.is-active{background:var(--cfl-msg-primary)!important;color:var(--cfl-msg-on-primary)!important;-webkit-text-fill-color:var(--cfl-msg-on-primary)!important}
[data-cfl-message-context-panel][hidden]{display:none!important}
.cfl-rental-communication .cfl-message-thread{min-height:620px;border:1px solid var(--cfl-msg-border);border-radius:16px;overflow:hidden}
.cfl-customer-message-panel .cfl-message-thread{min-height:560px;border:1px solid var(--cfl-msg-border);border-radius:15px;overflow:hidden}
.cfl-customer-message-panel .cfl-message-stream{max-height:540px}

.cfl-message-dialog[hidden]{display:none!important}
.cfl-message-dialog{position:fixed;inset:0;z-index:100200;display:grid;place-items:center;padding:18px}
.cfl-message-dialog-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(3px)}
.cfl-message-dialog>section{position:relative;z-index:1;width:min(620px,100%);max-height:min(760px,calc(100dvh - 36px));overflow:auto;padding:20px;border:1px solid var(--cfl-msg-border);border-radius:17px;background:var(--cfl-msg-surface);color:var(--cfl-msg-text);box-shadow:0 28px 80px rgba(15,23,42,.32)}
.cfl-message-dialog>section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.cfl-message-dialog>section>header h3{margin:2px 0 0!important;color:var(--cfl-msg-text)!important;font-size:22px!important}
.cfl-message-dialog>section>header button{display:grid!important;place-items:center;width:38px;height:38px;padding:0!important;border:1px solid var(--cfl-msg-border)!important;border-radius:10px!important;background:var(--cfl-msg-surface-2)!important;color:var(--cfl-msg-text)!important;-webkit-text-fill-color:var(--cfl-msg-text)!important;font-size:22px!important;line-height:1!important;box-shadow:none!important;cursor:pointer}
.cfl-message-dialog form{display:grid;gap:14px}
.cfl-message-dialog label{display:grid;gap:6px;color:var(--cfl-msg-text);font-weight:800}
.cfl-message-dialog label>span{font-size:12px}
.cfl-message-dialog :is(input,select,textarea){width:100%;min-height:44px;padding:10px 12px!important;border:1px solid var(--cfl-msg-border)!important;border-radius:10px!important;background:var(--cfl-msg-surface-2)!important;color:var(--cfl-msg-text)!important;-webkit-text-fill-color:var(--cfl-msg-text)!important;font:inherit!important;box-shadow:none!important}
.cfl-message-dialog textarea{min-height:96px;resize:vertical}
.cfl-message-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding-top:5px}
.cfl-message-dialog form[aria-busy=true]{opacity:.7;pointer-events:none}
.cfl-message-participant-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:360px;overflow:auto;padding:2px}
.cfl-message-participant-list label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--cfl-msg-border);border-radius:10px;background:var(--cfl-msg-surface-2);font-size:12px}
.cfl-message-participant-list input{width:17px!important;min-height:17px!important;padding:0!important}
.cfl-message-checkbox{display:flex!important;align-items:flex-start!important;grid-template-columns:auto 1fr!important;gap:9px!important;padding:11px;border:1px solid var(--cfl-msg-border);border-radius:10px;background:var(--cfl-msg-surface-2);font-size:12px}
.cfl-message-checkbox input{width:17px!important;min-height:17px!important;padding:0!important;margin-top:2px}

.cfl-message-audit{display:grid;gap:18px;padding:22px}
.cfl-message-audit>header{padding:16px;border:1px solid color-mix(in srgb,var(--cfl-msg-warning) 35%,var(--cfl-msg-border));border-radius:13px;background:color-mix(in srgb,var(--cfl-msg-warning) 8%,var(--cfl-msg-surface))}
.cfl-message-audit>header h3{margin:2px 0 4px!important;color:var(--cfl-msg-text)!important}
.cfl-message-audit>header p:last-child{margin:0;color:var(--cfl-msg-muted)}
.cfl-message-audit form{display:grid;gap:14px}
.cfl-message-audit form>label{display:grid;gap:6px;font-weight:800}
.cfl-message-audit form :is(input,select,textarea){width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--cfl-msg-border);border-radius:10px;background:var(--cfl-msg-surface-2);color:var(--cfl-msg-text)}
.cfl-message-audit-results{display:grid;gap:10px}
.cfl-message-audit-results article{padding:13px;border:1px solid var(--cfl-msg-border);border-radius:11px;background:var(--cfl-msg-surface-2)}
.cfl-message-audit-results article>div{display:flex;justify-content:space-between;gap:12px}
.cfl-message-audit-results article span{color:var(--cfl-msg-muted);font-size:10px}
.cfl-message-audit-results article p{margin:8px 0 0}
.cfl-message-audit-warning{padding:12px;border-radius:10px;background:color-mix(in srgb,var(--cfl-msg-error) 9%,var(--cfl-msg-surface));color:var(--cfl-msg-error);font-weight:800}

.cfl-message-direct-disclosure{margin:0;padding:9px 22px;border-bottom:1px solid var(--cfl-msg-border);background:color-mix(in srgb,var(--cfl-msg-primary) 5%,var(--cfl-msg-surface));color:var(--cfl-msg-muted);font-size:11px;line-height:1.45}
.cfl-message-audit-cap{margin:0;padding:10px 12px;border:1px solid var(--cfl-msg-border);border-radius:10px;background:var(--cfl-msg-surface-2);color:var(--cfl-msg-muted);font-size:12px}
.cfl-message-audit-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cfl-message-audit-attachments a{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 9px;border:1px solid var(--cfl-msg-border);border-radius:9px;background:var(--cfl-msg-surface);color:var(--cfl-msg-text)!important;text-decoration:none!important;font-size:11px;font-weight:800;overflow-wrap:anywhere}
.cfl-message-audit-attachments a span{color:var(--cfl-msg-muted);font-size:10px;font-weight:700}

.cfl-messaging-settings{display:grid;gap:18px}
.cfl-message-storage-summary{display:grid;gap:2px;min-width:180px;padding:12px 14px;border:1px solid var(--cfl-msg-border);border-radius:12px;background:var(--cfl-msg-surface-2)}
.cfl-message-storage-summary strong{font-size:22px}
.cfl-message-storage-summary span{color:var(--cfl-msg-muted);font-size:11px}
.cfl-messaging-settings-form{display:grid;gap:14px;padding:17px;border:1px solid var(--cfl-msg-border);border-radius:14px;background:var(--cfl-msg-surface-2)}
.cfl-message-settings-section>h4{margin:0 0 4px!important;color:var(--cfl-msg-text)!important}
.cfl-message-settings-section>p{margin:0 0 14px;color:var(--cfl-msg-muted)}
.cfl-messaging-settings .cfl-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.cfl-messaging-settings label{display:grid;gap:6px;font-weight:800}
.cfl-messaging-settings label>span{font-size:12px}
.cfl-messaging-settings :is(input,select,textarea){width:100%;min-height:43px;padding:9px 11px;border:1px solid var(--cfl-msg-border);border-radius:9px;background:var(--cfl-msg-surface);color:var(--cfl-msg-text)}
.cfl-messaging-settings small{color:var(--cfl-msg-muted);font-size:10px;font-weight:500;line-height:1.45}
.cfl-message-quick-replies-setting{margin-top:14px}
.cfl-message-settings-note{display:flex;gap:10px;flex-wrap:wrap;padding:13px;border:1px solid var(--cfl-msg-border);border-radius:11px;background:var(--cfl-msg-surface-2)}
.cfl-message-settings-note span{color:var(--cfl-msg-muted)}
.cfl-message-permission-overrides{margin-top:18px!important;padding:15px!important;border:1px solid var(--cfl-msg-border)!important;border-radius:12px!important}
.cfl-message-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px}
.cfl-message-permission-grid label{display:grid;gap:5px}

.cfl-v2-nav-badge{margin-left:auto}
.cfl-v2-message-link{position:relative}
.cfl-modal-open{overflow:hidden!important}

.cfl-v2-shell[data-theme=dark] .cfl-messaging-app,
.cfl-v2-shell[data-theme=dark] .cfl-rental-communication,
.cfl-account-shell[data-theme=dark] .cfl-messaging-app,
.cfl-account-shell[data-theme=dark] .cfl-customer-message-panel{
	color-scheme:dark;
}

@media(max-width:1100px){
	.cfl-messaging-app{grid-template-columns:minmax(245px,310px) minmax(0,1fr)}
	.cfl-message-bubble{width:min(84%,650px)}
	.cfl-messaging-settings .cfl-settings-grid{grid-template-columns:1fr}
}
@media(max-width:860px){
	.cfl-messaging-app{grid-template-columns:1fr;min-height:0;overflow:visible;border:0;box-shadow:none;background:transparent}
	.cfl-message-inbox{border:1px solid var(--cfl-msg-border);border-radius:15px;overflow:hidden}
	.cfl-message-main{margin-top:14px;border:1px solid var(--cfl-msg-border);border-radius:15px;overflow:hidden}
	.cfl-message-thread{min-height:560px}
	.cfl-message-list{max-height:340px}
	.cfl-messaging-app.is-customer.has-active-conversation .cfl-message-inbox{max-height:240px}
	.cfl-message-stream{max-height:520px}
	.cfl-message-bubble{width:min(88%,650px)}
}
@media(max-width:640px){
	.cfl-message-inbox-head{padding:15px 14px 11px}
	.cfl-message-inbox-head h2{font-size:21px!important}
	.cfl-message-thread-head{display:grid;padding:15px 14px}
	.cfl-message-thread-actions{justify-content:flex-start}
	.cfl-message-stream{gap:10px;padding:15px 11px;max-height:58dvh}
	.cfl-message-bubble{width:91%;padding:11px 12px}
	.cfl-message-meta{display:grid;gap:1px}
	.cfl-message-meta time{white-space:normal}
	.cfl-message-system{display:grid;gap:1px;border-radius:11px}
	.cfl-message-composer{padding:12px}
	.cfl-message-composer-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
	.cfl-message-attach-button,.cfl-voice-record{width:100%;justify-content:center}
	.cfl-message-file-summary{grid-column:1/-1;white-space:normal}
	.cfl-message-composer-tools>[data-cfl-send-message]{grid-column:1/-1;width:100%;margin:0}
	.cfl-voice-preview{display:grid;grid-template-columns:1fr auto}
	.cfl-voice-preview audio{grid-column:1/-1;width:100%;min-width:0}
	.cfl-message-image img,.cfl-message-media video{max-height:320px}
	.cfl-message-dialog{padding:0;place-items:end stretch}
	.cfl-message-dialog>section{width:100%;max-height:92dvh;border-radius:18px 18px 0 0;padding:18px 14px}
	.cfl-message-dialog footer{position:sticky;bottom:-18px;margin:0 -14px -18px;padding:12px 14px;background:var(--cfl-msg-surface);border-top:1px solid var(--cfl-msg-border)}
	.cfl-message-dialog footer .cfl-btn{flex:1}
	.cfl-message-participant-list,.cfl-message-permission-grid{grid-template-columns:1fr}
	.cfl-message-audit{padding:15px}
	.cfl-message-audit-results article>div{display:grid}
	.cfl-message-context-tabs{display:flex;width:100%}
	.cfl-message-context-tabs button{flex:1}
	.cfl-message-storage-summary{width:100%}
}

/* 2.8.1: mobile conversation owns its viewport; composer never escapes shell. */
@media (max-width:760px){
 .cfl-messaging-app.is-customer.has-active-conversation .cfl-message-inbox{display:none!important}
 .cfl-messaging-app.is-customer.has-active-conversation{display:block!important;min-height:0!important}
 .cfl-messaging-app.is-customer .cfl-message-main{display:block!important;min-width:0!important;min-height:0!important;overflow:visible!important}
 .cfl-messaging-app.is-customer .cfl-message-thread{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;min-height:min(620px,calc(100dvh - 150px))!important;height:auto!important;max-height:none!important;overflow:hidden!important}
 .cfl-messaging-app.is-customer .cfl-message-stream{flex:1 1 auto!important;min-height:260px!important;max-height:min(58dvh,620px)!important;overflow-y:auto!important;padding:14px!important}
 .cfl-messaging-app.is-customer .cfl-message-composer{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;padding:12px 12px calc(12px + env(safe-area-inset-bottom))!important;overflow:hidden!important}
 .cfl-messaging-app.is-customer .cfl-message-composer textarea{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
 .cfl-messaging-app.is-customer .cfl-message-composer-tools{grid-template-columns:1fr!important;width:100%!important;min-width:0!important}
 .cfl-messaging-app.is-customer .cfl-message-composer-tools>*{width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important}
 .cfl-message-mobile-back{display:inline-flex!important;margin:0 0 10px!important}
}

/* Rental Manager 2.10.1 — conversation navigation */
.cfl-message-mobile-back{display:none!important}
@media(max-width:760px){
 .cfl-message-mobile-back{display:inline-flex!important;align-items:center;min-height:44px;margin:0 0 10px!important;font-weight:800;text-decoration:none!important}
 .cfl-messaging-app[data-role="staff"]:not(.has-active-conversation) .cfl-message-main{display:none!important}
 .cfl-messaging-app[data-role="staff"]:not(.has-active-conversation) .cfl-message-inbox{display:block!important;width:100%!important;max-width:none!important}
 .cfl-messaging-app[data-role="staff"].has-active-conversation .cfl-message-inbox{display:none!important}
 .cfl-messaging-app[data-role="staff"].has-active-conversation{display:block!important;min-height:0!important}
 .cfl-messaging-app[data-role="staff"].has-active-conversation .cfl-message-main{display:block!important;min-height:0!important;margin-top:0!important}
}

/* 2.11.6.4 — business-friendly Messaging settings layout. */
.cfl-messaging-settings,
.cfl-messaging-settings-form,
.cfl-message-settings-section,
.cfl-message-settings-subsection,
.cfl-messaging-settings .cfl-settings-grid{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.cfl-messaging-settings{gap:20px!important}
.cfl-messaging-settings-form{
  display:grid!important;
  gap:18px!important;
  padding:20px!important;
}
.cfl-message-settings-section{display:grid!important;gap:16px!important}
.cfl-message-settings-section-head,
.cfl-message-settings-subsection-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.cfl-message-settings-section-head h4,
.cfl-message-settings-subsection-head h5{margin:0 0 4px!important;color:var(--cfl-msg-text)!important}
.cfl-message-settings-section-head p,
.cfl-message-settings-subsection-head p{margin:0!important;color:var(--cfl-msg-muted)!important}
.cfl-message-settings-subsection{
  display:grid!important;
  gap:14px!important;
  padding:16px!important;
  border:1px solid var(--cfl-msg-border)!important;
  border-radius:12px!important;
  background:var(--cfl-msg-surface)!important;
}
.cfl-messaging-settings .cfl-settings-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.cfl-message-toggle-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important}
.cfl-message-limits-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}
.cfl-message-delivery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.cfl-messaging-settings label{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.cfl-messaging-settings :is(input,select,textarea){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.cfl-message-quick-replies-section{grid-template-columns:minmax(0,1fr)!important}
.cfl-message-quick-replies-setting{margin:0!important;display:grid!important;gap:7px!important}
.cfl-message-quick-replies-setting textarea{min-height:190px!important;resize:vertical}
.cfl-message-settings-actions{
  display:flex!important;
  justify-content:flex-end!important;
  width:100%!important;
  padding-top:2px;
}
.cfl-message-settings-actions .cfl-btn{margin:0!important}
.cfl-message-location-picker{margin-bottom:14px!important}
.cfl-messaging-settings-form:not(.cfl-messaging-company-form) .cfl-settings-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}

@media(max-width:900px){
  .cfl-message-delivery-grid{grid-template-columns:minmax(0,1fr)!important}
  .cfl-messaging-settings .cfl-settings-grid,
  .cfl-message-toggle-grid,
  .cfl-message-limits-grid,
  .cfl-messaging-settings-form:not(.cfl-messaging-company-form) .cfl-settings-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))!important;
  }
}
@media(max-width:640px){
  .cfl-messaging-settings-form{padding:14px!important;gap:14px!important}
  .cfl-message-settings-subsection{padding:13px!important}
  .cfl-messaging-settings .cfl-settings-grid,
  .cfl-message-toggle-grid,
  .cfl-message-limits-grid,
  .cfl-message-delivery-grid,
  .cfl-messaging-settings-form:not(.cfl-messaging-company-form) .cfl-settings-grid{grid-template-columns:minmax(0,1fr)!important}
  .cfl-message-settings-actions{display:grid!important}
  .cfl-message-settings-actions .cfl-btn{width:100%!important;justify-content:center!important}
}

/* 2.11.6.5 — inbox-first customer messaging and staff conversation lifecycle. */
.cfl-customer-general-message{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);align-items:end;gap:18px;
  margin:0 0 18px;padding:18px;border:1px solid var(--cfl-msg-border);border-radius:15px;
  background:var(--cfl-msg-surface);color:var(--cfl-msg-text)
}
.cfl-customer-general-message h3{margin:2px 0 5px!important;color:var(--cfl-msg-text)!important;font-size:18px!important}
.cfl-customer-general-message p{margin:0;color:var(--cfl-msg-muted)}
.cfl-customer-general-message form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:0!important}
.cfl-customer-general-message form>label{display:grid;gap:6px;min-width:0}
.cfl-customer-general-message form>label>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--cfl-msg-muted)}
.cfl-customer-general-message select{width:100%;min-width:0;min-height:42px;padding:8px 10px;border:1px solid var(--cfl-msg-border);border-radius:10px;background:var(--cfl-msg-surface);color:var(--cfl-msg-text);font:inherit}
.cfl-message-general-location{display:grid;gap:3px;min-width:0;padding:9px 11px;border:1px solid var(--cfl-msg-border);border-radius:10px;background:var(--cfl-msg-surface-2)}
.cfl-message-general-location strong{color:var(--cfl-msg-text)}
.cfl-message-general-location small{color:var(--cfl-msg-muted);line-height:1.35;overflow-wrap:anywhere}
.cfl-message-general-status{grid-column:1/-1;min-height:18px;font-size:12px!important}
.cfl-message-general-status.is-error{color:var(--cfl-msg-danger,#b42318)!important}
.cfl-message-general-status.is-success{color:var(--cfl-msg-success,#16803a)!important}
.cfl-message-general-unavailable{align-self:center;padding:12px;border-radius:10px;background:var(--cfl-msg-surface-2)}

.cfl-message-list-title{display:flex;align-items:center;gap:7px;min-width:0}
.cfl-message-list-title>strong{min-width:0;flex:1}
.cfl-message-status-chip,.cfl-message-blocked-chip{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:3px 7px;border-radius:999px;background:var(--cfl-msg-surface-2);border:1px solid var(--cfl-msg-border);color:var(--cfl-msg-muted);font-size:10px;font-weight:850;white-space:nowrap}
.cfl-message-list-item.is-closed{opacity:.82}
.cfl-message-list-item.is-closed .cfl-message-list-avatar{filter:saturate(.5)}

.cfl-message-conversation-controls{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--cfl-msg-border);background:var(--cfl-msg-surface-2)}
.cfl-message-conversation-state{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:36px;margin-right:auto;color:var(--cfl-msg-text)}
.cfl-message-conversation-controls form{margin:0!important}
.cfl-message-manage-details{position:relative}
.cfl-message-manage-details>summary{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid var(--cfl-msg-border);border-radius:9px;background:var(--cfl-msg-surface);color:var(--cfl-msg-text);font-size:12px;font-weight:800;cursor:pointer;list-style:none}
.cfl-message-manage-details>summary::-webkit-details-marker{display:none}
.cfl-message-manage-details[open]>form{position:absolute;z-index:50;right:0;top:calc(100% + 7px);display:grid;gap:9px;width:min(340px,calc(100vw - 36px));padding:13px;border:1px solid var(--cfl-msg-border);border-radius:12px;background:var(--cfl-msg-surface);box-shadow:0 14px 34px rgba(15,23,42,.16)}
.cfl-message-manage-details form label{display:grid;gap:5px}
.cfl-message-manage-details form label>span{font-size:11px;font-weight:800;color:var(--cfl-msg-muted)}
.cfl-message-manage-details form :is(input,select){width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--cfl-msg-border);border-radius:9px;background:var(--cfl-msg-surface);color:var(--cfl-msg-text);font:inherit}
.cfl-message-manage-details form .description{margin:0;color:var(--cfl-msg-muted);font-size:11px;line-height:1.4}
.cfl-message-manage-details.is-danger>summary{border-color:color-mix(in srgb,var(--cfl-msg-danger,#b42318) 36%,var(--cfl-msg-border));color:var(--cfl-msg-danger,#b42318)}
.cfl-message-blocked-chip{border-color:color-mix(in srgb,var(--cfl-msg-danger,#b42318) 32%,var(--cfl-msg-border));color:var(--cfl-msg-danger,#b42318)}

@media(max-width:900px){
  .cfl-customer-general-message{grid-template-columns:1fr;align-items:stretch}
  .cfl-message-conversation-controls{padding:11px 14px}
}
@media(max-width:560px){
  .cfl-customer-general-message{padding:14px;gap:12px}
  .cfl-customer-general-message form{grid-template-columns:1fr}
  .cfl-customer-general-message form>.cfl-customer-btn{width:100%}
  .cfl-message-conversation-controls{display:grid;grid-template-columns:1fr}
  .cfl-message-conversation-state{margin:0}
  .cfl-message-conversation-controls>*{width:100%}
  .cfl-message-conversation-controls .cfl-btn{width:100%}
  .cfl-message-manage-details>summary{width:100%;justify-content:center}
  .cfl-message-manage-details[open]>form{position:static;width:100%;margin-top:7px!important;box-shadow:none}
}

/* 2.11.6.5 — make the automatic conversation lifecycle visible to business owners. */
.cfl-message-lifecycle-summary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.cfl-message-lifecycle-summary>div{
  display:grid;gap:5px;min-width:0;padding:13px;border:1px solid var(--cfl-msg-border);border-radius:10px;background:var(--cfl-msg-surface-2)
}
.cfl-message-lifecycle-summary strong{color:var(--cfl-msg-text)}
.cfl-message-lifecycle-summary span{color:var(--cfl-msg-muted);font-size:12px;line-height:1.45}
@media(max-width:1000px){.cfl-message-lifecycle-summary{grid-template-columns:1fr!important}}
.cfl-message-control-note{display:inline-flex;align-items:center;max-width:360px;min-height:36px;color:var(--cfl-msg-muted);font-size:11px;line-height:1.4}

/* Saved attachment copies: existing workspace, keyboard/touch and narrow layouts. */
.cfl-saved-attachment-download{color:var(--cfl-msg-text,inherit);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px;max-width:100%;box-sizing:border-box;padding:8px 10px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.cfl-saved-attachment-download:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.cfl-task-attachment-copy,.cfl-message-attachment-copy{min-width:0;max-width:100%;overflow-wrap:anywhere}
.cfl-message-file.is-unavailable{display:grid;min-width:0;max-width:100%;gap:4px}
.cfl-message-file.is-unavailable>span{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Media care stays separate from saving company defaults and wraps at narrow/zoomed widths. */
.cfl-media-retention-care { margin-block:1rem; padding:1rem; border:1px solid var(--cfl-border,#718096); border-radius:10px; min-width:0; overflow-wrap:anywhere; background:var(--cfl-msg-surface,#fff); color:var(--cfl-msg-text,#172033); }
.cfl-media-retention-care summary { min-height:44px; padding:.5rem; cursor:pointer; font-weight:600; }
.cfl-media-retention-care form { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.cfl-media-retention-care label { display:flex; align-items:flex-start; gap:.65rem; flex:1 1 24rem; min-width:0; }
.cfl-messaging-settings .cfl-media-retention-care input[type=checkbox] { flex:0 0 22px; width:22px!important; height:22px; min-height:22px; max-width:22px!important; padding:0; margin:.2rem 0 0; }
.cfl-media-retention-care label>span { flex:1 1 auto; min-width:0; }
.cfl-media-retention-care .cfl-btn { min-height:44px; white-space:normal; max-width:100%; padding:.65rem 1rem; }
.cfl-media-retention-care :is(summary,button,input):focus-visible { outline:3px solid var(--cfl-primary,#2878b8); outline-offset:3px; }

.cfl-media-retention-care .cfl-btn { background:var(--cfl-msg-surface-2,#f7f9fc); color:var(--cfl-msg-text,#172033); border:1px solid var(--cfl-msg-border,#718096); border-radius:8px; font:inherit; cursor:pointer; }
.cfl-v2-shell[data-theme=dark] .cfl-media-retention-care { --cfl-msg-text:var(--cfl-text,#edf2f7); --cfl-msg-surface:var(--cfl-surface,#111827); --cfl-msg-surface-2:var(--cfl-surface-2,#1f2937); --cfl-msg-border:var(--cfl-border,#94a3b8); color-scheme:dark; }

/* S20 read-state surfaces: retain the active theme rather than brand-ink on dark. */
.cfl-message-thread .cfl-message-thread-head .cfl-eyebrow{
    color:var(--cfl-msg-muted)!important;
    -webkit-text-fill-color:currentColor!important;
}
@media (prefers-reduced-motion:reduce){
    .cfl-message-thread :is(button,a,textarea,input,select){
        transition-duration:0s!important;
        animation-duration:0s!important;
    }
}

/* S20 conversation status controls: preserve semantic danger colors and usable recovery. */
.cfl-message-conversation-controls {
    --cfl-msg-danger:var(--cfl-ui-danger,var(--cfl-msg-error,#b42318));
    min-width:0;
    overflow-wrap:anywhere;
}
.cfl-message-conversation-controls :is(button.cfl-btn,summary,input,select){
    min-height:44px!important;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
}
.cfl-message-conversation-controls :is(button,summary,input,select):focus-visible{
    outline:3px solid currentColor!important;
    outline-offset:3px!important;
}
.cfl-v2-shell .cfl-message-thread [data-cfl-message-status].is-error{
    color:var(--cfl-ui-danger,var(--cfl-msg-error,#b42318));
    -webkit-text-fill-color:currentColor;
}
@media(prefers-reduced-motion:reduce){
    .cfl-message-conversation-controls :is(button,summary,input,select),
    .cfl-message-thread [data-cfl-message-status]{
        transition-duration:0s!important;
        animation-duration:0s!important;
    }
}

/* Participant recovery controls respect hidden state even inside portal button styles. */
.cfl-message-dialog [data-cfl-participant-reload][hidden]{display:none!important}
.cfl-message-dialog [data-cfl-participant-form] footer{flex-wrap:wrap}
.cfl-message-dialog [data-cfl-participant-form] footer .cfl-btn{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;flex:1 1 9rem}
.cfl-message-dialog [data-cfl-participant-feedback]{margin:0;overflow-wrap:anywhere}
.cfl-message-dialog [data-cfl-participant-feedback]:empty{display:none}
.cfl-message-load-feedback{margin:0;padding:10px 16px;color:var(--cfl-msg-muted);font-size:13px;border-top:1px solid var(--cfl-msg-border)}
.cfl-message-load-feedback[hidden]{display:none!important}
