.messaging-settings-page { padding:8px 15px 24px; color:#081344; font-family:"Source Sans 3",Arial,sans-serif; }
.messaging-settings-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin:0 9px 18px; }
.messaging-settings-heading h1 { margin:0; color:#00499c; font:700 36px/1.15 Georgia,"Times New Roman",serif; }
.messaging-settings-heading p { margin:4px 0 0; font-size:20px; line-height:1.35; }
.messaging-settings-heading .messaging-connection-status { display:inline-flex; align-items:center; margin-top:10px; padding:5px 14px; border:1px solid #ddd2c6; border-radius:24px; background:#f2ece5; color:#352b3e; font-size:17px; line-height:1.3; }
.messaging-connection-status::before { content:""; flex:none; width:12px; height:12px; border:1px solid #fff; margin-right:10px; border-radius:50%; background:#8e8781; }
.messaging-settings-page button { font-family:inherit; }
.messaging-top-save, .messaging-bottom-save { margin:0; border:1px solid #8524b5; border-radius:14px; background:linear-gradient(#a42ed0,#7216a7); color:white; box-shadow:none; font-size:18px; font-weight:700; min-height:44px; padding:7px 20px; }
.messaging-top-save { display:inline-flex; align-items:center; gap:12px; margin-top:12px; padding-inline:24px; white-space:nowrap; }
.messaging-top-save .directory-icon { filter:brightness(0) invert(1); }
.messaging-settings-grid { display:grid; grid-template-columns:minmax(0,2.28fr) minmax(280px,1fr); align-items:stretch; gap:14px; min-height:730px; }
.messaging-provider-card, .messaging-routing-card { min-width:0; margin:0; border:1px solid #e1d7cd; border-radius:18px; background:#fffdfa; box-shadow:0 2px 3px #4930210a; }
.messaging-provider-card { display:flex; flex-direction:column; padding:12px 24px 14px; }
.messaging-settings-section { min-width:0; padding:0 0 10px; margin:0 0 8px; border-bottom:1px solid #cfc7c1; }
.messaging-settings-section h2, .messaging-routing-card h2 { margin:0 0 12px; color:#00499c; font:700 29px/1.15 Georgia,"Times New Roman",serif; }
.messaging-settings-section > p { margin:0 0 6px; font-size:17px; }
.messaging-provider-fields .field { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:center; gap:12px; margin:0 0 6px; }
.messaging-provider-fields .field > label { margin:0; font-size:16px; font-weight:700; }
.messaging-provider-fields .field > input, .messaging-provider-fields .field > select { width:min(100%,370px); height:36px; min-height:36px; box-sizing:border-box; margin:0; padding:4px 12px; border:1px solid #a2aec7; border-radius:13px; color:#11113e; background:#fff; font:inherit; font-size:18px; font-weight:400; }
.messaging-provider-fields .field > .field-error { grid-column:2; }
.messaging-settings-page .field-help { color:#514871; font-size:14px; line-height:1.35; }
.messaging-settings-page .messaging-routing-help { margin:0 0 6px 232px; }
.messaging-credential-row { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; gap:12px; }
.messaging-credential-row > strong { padding-top:5px; font-size:18px; }
.messaging-credential-row > div { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px; min-width:0; }
.messaging-credential-row .field-help { flex:1 1 220px; margin:0; padding-top:4px; color:#242044; }
.messaging-credential-row > .field-help { grid-column:2; }
.messaging-credentials { flex:1 1 100%; min-width:0; margin:0; }
.messaging-credentials:not([open]) { flex:0 1 auto; }
.messaging-credentials summary { display:inline-flex; align-items:center; gap:10px; border:1px solid #3182ff; border-radius:13px; padding:4px 12px; min-height:34px; box-sizing:border-box; line-height:1.2; color:#0058ff; font-size:17px; cursor:pointer; list-style:none; }
.messaging-credentials summary::-webkit-details-marker { display:none; }
.messaging-credentials summary .directory-icon { width:18px; height:18px; }
.messaging-credentials fieldset { margin:12px 0 0; padding:12px; border:1px solid #d5dce8; border-radius:12px; }
.messaging-credentials .field { min-width:0; margin:0 0 10px; }
.messaging-credentials .field input { width:100%; box-sizing:border-box; }
.messaging-number-list { border:1px solid #a3b1c8; border-radius:14px; overflow:hidden; }
.messaging-number-list > .field-help { padding:10px 16px; margin:0; }
.messaging-number-row { display:flex; align-items:center; gap:12px; padding:0 14px; min-height:40px; }
.messaging-number-row + .messaging-number-row { border-top:1px solid #d6ceca; }
.messaging-number-row input { flex:1 1 auto; min-width:0; border:0; box-shadow:none; background:transparent; color:#141641; margin:0; padding:6px 10px; height:36px; min-height:36px; box-sizing:border-box; font:inherit; font-size:18px; font-weight:400; }
.messaging-settings-page .messaging-remove-number { display:inline-flex; flex:none; align-items:center; justify-content:center; margin:0; width:34px; min-height:34px; padding:5px; border:0; box-shadow:none; background:transparent; }
.messaging-settings-page .messaging-add-number { display:inline-flex; align-items:center; gap:8px; margin:5px 0 0; min-height:34px; padding:3px 10px; color:#0055ed; background:transparent; border:0; box-shadow:none; font-size:18px; font-weight:600; }
.messaging-bulk-numbers { display:inline-block; vertical-align:middle; max-width:100%; margin:5px 0 0 18px; color:#0055ce; font-size:14px; }
.messaging-bulk-numbers[open] { display:block; margin:8px 0 0; }
.messaging-bulk-numbers summary { width:max-content; max-width:100%; cursor:pointer; }
.messaging-bulk-numbers textarea { width:100%; box-sizing:border-box; }
.messaging-department-heading, .messaging-department-row { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr); align-items:center; gap:16px; padding:5px 18px; }
.messaging-department-heading { background:#eee8e1; border-radius:12px; font-size:18px; line-height:22px; padding-block:4px; }
.messaging-department-row { border-bottom:1px solid #d8d5d4; font-size:18px; }
.messaging-department-row .field { min-width:0; margin:0; }
.messaging-department-row .field select { width:100%; margin:0; height:34px; min-height:34px; box-sizing:border-box; padding:3px 10px; border-radius:12px; border:1px solid #9eacc5; background:white; color:#12163b; font:inherit; font-weight:400; }
.messaging-department-row .field-error[hidden] { display:none; }
.messaging-save-row { margin-top:auto; display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.messaging-bottom-save { border-color:#0065c8; background:linear-gradient(#087ce0,#0058ab); padding-inline:24px; }
.messaging-save-row .secondary { margin:0; min-height:42px; border:1px solid #a4aec2; border-radius:14px; background:#fff; color:#003493; font-size:18px; padding:5px 24px; }
.messaging-save-row .field-help { flex:1 1 230px; margin:0; border-left:1px solid #d8d3d0; padding-left:16px; font-style:italic; }
.messaging-routing-card { padding:12px 16px 20px; }
.messaging-routing-card h2 { font-size:31px; }
.messaging-draft-status { margin:0 0 8px; color:#5e5783; font-size:14px; }
.messaging-routing-card dl { margin:0; font-size:18px; }
.messaging-routing-card dl > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:4px 12px; padding:10px 8px; border-bottom:1px solid #e3dbd7; }
.messaging-routing-card dt { color:#003d91; font-weight:700; }
.messaging-routing-card dd { margin:0; overflow-wrap:anywhere; }
.messaging-routing-card ul, .messaging-routing-card dl > div > p { grid-column:1/-1; margin:2px 0 0; padding-left:26px; }
.messaging-routing-card li { overflow-wrap:anywhere; }
.messaging-setup-help { display:inline-flex; align-items:center; gap:12px; margin:18px 8px 0; color:#0056ed; font-size:20px; font-weight:600; }
.messaging-search-result { margin:0 10px 12px; color:#003d91; }
.messaging-search-match { outline:2px solid #72a4f7; outline-offset:4px; border-radius:6px; }
.messaging-settings-page button:disabled { opacity:.55; cursor:not-allowed; }
.messaging-settings-page [hidden] { display:none !important; }
@media(max-width:1150px) { .messaging-settings-grid { grid-template-columns:minmax(0,1fr); min-height:0; } .messaging-routing-card { max-width:none; } .messaging-routing-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; } }
@media(max-width:700px) { .messaging-settings-page { padding:12px 12px 24px; } .messaging-settings-heading { display:block; margin:0 0 18px; } .messaging-settings-heading h1 { font-size:32px; } .messaging-settings-heading p { font-size:18px; } .messaging-top-save { margin-top:12px; } .messaging-provider-card { padding:16px 14px; } .messaging-provider-fields .field, .messaging-credential-row { grid-template-columns:minmax(0,1fr); gap:4px; } .messaging-provider-fields .field > input, .messaging-provider-fields .field > select { width:100%; } .messaging-provider-fields .field > .field-error, .messaging-credential-row > .field-help { grid-column:1; } .messaging-settings-page .messaging-routing-help { margin-left:0; } .messaging-credential-row > strong { padding-bottom:4px; } .messaging-credentials { flex-basis:100%; } .messaging-department-heading, .messaging-department-row { padding-inline:8px; gap:8px; } .messaging-department-heading { font-size:15px; } .messaging-department-row { font-size:16px; } .messaging-save-row .field-help { flex-basis:100%; border:0; padding:0; } .messaging-routing-card dl { display:block; } }
@media(max-width:380px) { .messaging-department-heading { display:none; } .messaging-department-row { grid-template-columns:minmax(0,1fr); padding-block:10px; } .messaging-save-row { align-items:stretch; } .messaging-save-row > button { flex:1 1 100%; } }

.messaging-routing-card .messaging-routing-list { grid-column:1 / -1; }
