.message-shortcut{width:100%;display:flex;align-items:center;gap:18px;padding:20px 24px;margin:0 0 24px;text-align:left;background:#edf4f6;border:1px solid #d3e2e6;border-radius:20px;color:#203f49;transition:background .2s,transform .2s}
.message-shortcut:hover{background:#e2eff2;transform:translateY(-2px)}.message-shortcut strong{display:block;font-size:18px;letter-spacing:-.3px}.message-shortcut small{display:block;margin-top:6px;color:#52696e;line-height:1.5}.message-symbol{position:relative;display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:16px;background:#fff;color:#2c6370}.message-symbol svg{width:30px;height:30px}.message-symbol i{position:absolute;right:1px;top:1px;width:9px;height:9px;border-radius:50%;background:#4c9681;box-shadow:0 0 0 4px #edf4f6;animation:message-pulse 3s ease-in-out infinite}.message-arrow{margin-left:auto;font-size:28px}.message-shortcut:hover svg{transform:translate(2px,-2px);transition:transform .2s}
@keyframes message-pulse{50%{opacity:.4;transform:scale(.8)}}
#dialog.messages-dialog{width:min(1080px,calc(100vw - 32px));max-width:1080px;max-height:90dvh;padding:28px;overflow:auto;background:#fafbf9;border:1px solid #e1e5e1;border-radius:24px;box-sizing:border-box}.messages-dialog *{box-sizing:border-box}.messages-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.messages-heading h2{margin:8px 0 0;font-size:29px;letter-spacing:-1px}.messages-heading .close{position:static;flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid #dde3de;background:#fff;line-height:1}.message-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0}.message-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:22px}.message-layout>section{min-width:0;border:1px solid #e0e6e0;background:white;border-radius:18px;padding:20px}.message-section-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:18px}.message-section-title b{font-size:15px}.message-match-count,.message-selected-count{font-size:12px;color:#49665f;background:#edf3f0;padding:5px 8px;border-radius:7px}.messages-dialog label{display:grid;gap:7px;font-size:13px;font-weight:500;margin-bottom:14px}.messages-dialog input:not([type=checkbox]),.messages-dialog select,.messages-dialog textarea{width:100%;min-width:0;font:inherit;font-size:16px;padding:12px;border:1px solid #d9e1db;border-radius:10px;background:#fff;color:#253b34}.messages-dialog textarea{resize:vertical;line-height:1.6}.messages-dialog input:focus,.messages-dialog textarea:focus,.messages-dialog select:focus{outline:2px solid #5c8981;outline-offset:2px}.messages-dialog input[type=checkbox]{width:19px;height:19px;flex-shrink:0;accent-color:#2a655b;margin:0}.message-recipients .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.message-selection{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:10px 0;border-top:1px solid #eef1ed}.message-selection label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;min-height:40px}.message-selection .text-button{font-size:12px;min-height:40px}.message-clients{max-height:355px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.messages-dialog .message-client{display:flex;align-items:center;gap:10px;min-height:69px;padding:12px 9px;margin:0;border-bottom:1px solid #edf0ec;border-radius:9px;cursor:pointer}.message-client.selected{background:#edf5f0}.message-client>span:last-child{min-width:0}.message-client b{display:block;font-size:13px}.message-client small{display:block;font-size:11px;font-weight:400;margin-top:4px;overflow-wrap:anywhere;color:#5c6c63}.message-client:has(input:disabled){opacity:.6}.message-avatar{flex-shrink:0;width:31px;height:31px;border-radius:50%;background:#e8ede7;display:grid;place-items:center;color:#4f6356;font-size:12px}.message-templates{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.message-templates button{font-size:12px;padding:9px 12px;border:1px solid #dce4dd;border-radius:20px;min-height:38px;background:#f7f9f5}.messages-dialog .message-attach{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px dashed #8ca89b;border-radius:10px;background:#f3f8f4;cursor:pointer;color:#355d4d;position:relative;overflow:hidden;font-size:14px}.message-attach input{position:absolute;inset:0;opacity:0;cursor:pointer}.message-files{display:grid;gap:8px;margin:14px 0}.message-file{display:flex;align-items:center;gap:10px;border:1px solid #e1e5df;background:#fafbf8;padding:8px;border-radius:10px;min-width:0}.message-file img,.message-file>span:first-child{width:42px;height:42px;object-fit:cover;border-radius:5px;display:grid;place-items:center;font-size:25px;flex-shrink:0}.message-file>span:nth-child(2){min-width:0;flex:1}.message-file b{display:block;font-size:12px;overflow-wrap:anywhere}.message-file small{font-size:11px;color:#637469}.message-file button{width:36px;height:36px;border:0;background:transparent;font-size:23px}.message-config{background:#f2f5ef;padding:10px;border-radius:8px}.message-footer{position:sticky;bottom:-28px;padding:16px 0 0;margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fafbf9;z-index:1}.message-footer>small{font-size:12px;line-height:1.6;color:#5a6a62;overflow-wrap:anywhere}.message-footer .primary{display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;min-height:48px;padding:12px 18px;background:#234d44}.message-footer svg{width:20px;height:20px}.message-review{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px}.message-preview-sheet{background:white;border:1px solid #dde3dc;border-radius:16px;padding:30px;overflow-wrap:anywhere;line-height:1.7}.message-preview-sheet>small:first-child{letter-spacing:3px;font-weight:bold}.message-preview-sheet h2{font-size:24px}.message-preview-sheet hr{border:0;border-top:1px solid #e1e5de;margin:24px 0}.message-review-details{padding:12px;overflow-wrap:anywhere;font-size:13px}.message-review-details details{max-height:250px;overflow:auto}.message-review-details summary{cursor:pointer;min-height:40px}.message-review-details h3{font-size:16px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.message-success{padding:45px 16px;text-align:center}.message-success .message-symbol{margin:auto;background:#e6efe8}.message-success p{color:#5f7167}.message-history{display:grid;gap:10px;max-height:55dvh;overflow:auto;margin-top:18px}.message-history-row{display:grid;gap:7px;text-align:left;border:1px solid #dfe6df;border-radius:13px;padding:17px;background:white;width:100%;overflow-wrap:anywhere}.message-history-row strong{font-size:15px}.message-history-row small{font-size:12px;color:#5d7164}.message-history-row span{font-size:12px;color:#386251}.message-error:empty{display:none}
.customer-repair-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:20px 0}.customer-repair-toolbar label{flex:1;min-width:140px}.customer-repair-toolbar input,.customer-repair-toolbar select{width:100%}.customer-repair-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}.customer-repair-card{border:1px solid #dce4de;padding:22px;background:white;border-radius:18px}.customer-repair-card h3{font-size:20px;margin:14px 0}.customer-repair-card p{margin:7px 0;overflow-wrap:anywhere}.customer-repair-card small{color:#5a6c61}.customer-repair-card .primary{margin-top:18px}.customer-repair-form{display:grid;gap:13px;margin-top:20px}.customer-repair-form label{display:grid;gap:7px}.customer-repair-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.customer-repair-form input,.customer-repair-form select,.customer-repair-form textarea{min-width:0;width:100%;font-size:16px}.customer-repair-form .repair-notify{display:flex;align-items:center;gap:10px;line-height:1.5;background:#edf5ef;padding:14px;border-radius:10px;font-size:13px}.repair-notify input{width:20px;height:20px;flex-shrink:0}.repair-timeline{list-style:none;padding:0;display:grid;gap:12px}.repair-timeline li{padding:14px;border-left:3px solid #93b2a0;background:#f6f8f4}.repair-timeline small{display:block;color:#5f7064;margin-top:5px}.repair-timeline p{white-space:pre-wrap}.customer-repair-form button[type=submit]{min-height:48px}.repair-page{display:flex;gap:14px;align-items:center;justify-content:center;margin:24px 0}
@media(max-width:680px){.message-shortcut{padding:16px;gap:13px;border-radius:16px;margin-bottom:18px}.message-shortcut strong{font-size:17px}.message-shortcut small{font-size:11px}.message-symbol{width:44px;height:44px}.message-arrow{font-size:22px}#dialog.messages-dialog{width:100%;max-width:none;max-height:100dvh;height:100dvh;margin:0;padding:20px 15px max(20px,env(safe-area-inset-bottom));border:0;border-radius:0}.messages-heading h2{font-size:25px}.message-layout,.message-review{grid-template-columns:1fr;gap:14px}.message-layout>section{padding:15px}.message-clients{max-height:240px}.message-footer{bottom:-20px;flex-direction:column;align-items:stretch;padding:14px 0 max(16px,env(safe-area-inset-bottom));gap:8px}.message-footer .primary{width:100%;font-size:14px}.message-footer>small{font-size:11px}.message-nav{margin:18px 0;font-size:12px}.message-review-details{padding:0 8px}.message-preview-sheet{padding:22px}.message-history{max-height:65dvh}.customer-repair-form .form-row{grid-template-columns:1fr}.customer-repair-toolbar .primary{width:100%}}
.messages-dialog .message-client,.messages-dialog .message-selection label,.customer-repair-form .repair-notify{flex-direction:row;text-align:left}.messages-dialog input[type=checkbox]{padding:0}.messages-dialog .message-attach{flex-direction:row}#dialog:has(.customer-repair-form){max-width:720px}
.message-confirm{position:fixed;inset:0;z-index:50;background:#152b2866;display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}.message-confirm>div{background:#fff;max-width:390px;padding:24px;border:1px solid #d9e3dd;border-radius:18px;box-shadow:0 15px 60px #102d2a33}.message-confirm h3{font-size:18px;line-height:1.5;margin:0 0 22px}.message-confirm button{min-height:44px;padding:10px 18px;margin-right:8px}body:has(#dialog.messages-dialog[open]){overflow:hidden}
@media(prefers-reduced-motion:reduce){.message-symbol i{animation:none}.message-shortcut,.message-shortcut:hover,.message-shortcut:hover svg{transform:none;transition:none}}

/* Conversations share the same message panel on desktop, iPhone and iPad. */
.message-tabs{display:flex;gap:6px;padding:6px;background:#eaf0ed;border-radius:14px;margin:22px 0}.message-tabs button{flex:1;border:0;border-radius:10px;background:transparent;color:#4e6459;min-height:44px;font-size:14px;transition:background .18s,color .18s}.message-tabs button[aria-pressed=true]{background:white;color:#173e32;box-shadow:0 2px 8px #19382b0b}.message-unread-badge,.inbox-badge{display:inline-block;font-size:11px;background:#206450;color:white;border-radius:20px;padding:5px 9px;font-weight:600}.message-unread-badge[hidden]{display:none}.inbox-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.inbox-top h3{margin:0;font-size:22px}.inbox-top p,.inbox-status{font-size:13px;color:#66796d;line-height:1.6}.inbox-filters{display:flex;gap:20px;align-items:center;margin-top:16px}.inbox-filters>label:first-child{flex:1}.messages-dialog .inbox-unread-filter{display:flex;align-items:center;gap:10px;white-space:nowrap}.inbox-list{display:grid;gap:10px}.inbox-row{display:flex;align-items:center;gap:14px;width:100%;background:white;border:1px solid #e0e6df;padding:18px;border-radius:15px;text-align:left;transition:background .15s,transform .15s}.inbox-row:hover{background:#f0f7f2;transform:translateY(-1px)}.inbox-row.is-unread{border-left:4px solid #287154;background:#f4faf5}.inbox-row-text{display:grid;gap:6px;min-width:0;flex:1}.inbox-row-text b{font-size:15px}.inbox-row-text strong{font-weight:500;font-size:13px}.inbox-row-text small{font-size:11px;overflow-wrap:anywhere;color:#6a786f}.inbox-row-meta{display:grid;gap:9px;text-align:right;justify-items:end}.inbox-row-meta time,.inbox-row-meta small{font-size:11px;color:#6a786f}.inbox-empty{text-align:center;padding:42px 18px;background:white;border:1px dashed #cfdbd2;border-radius:18px}.inbox-empty>span{font-size:40px;color:#628a72}.inbox-empty h3{font-size:20px;margin-bottom:9px}.inbox-empty p{max-width:420px;margin:0 auto 24px;color:#68776e;line-height:1.7;font-size:13px}.inbox-pages{display:flex;justify-content:center;gap:18px;align-items:center;font-size:12px;margin-top:16px}.inbox-client{border-bottom:1px solid #dfe5df;padding-bottom:18px;overflow-wrap:anywhere}.inbox-client h3{font-size:22px;margin:0 0 7px}.inbox-client p{margin:6px 0}.inbox-client small{color:#5e7165}.inbox-timeline{display:grid;gap:16px;margin:24px 0;max-height:50dvh;overflow:auto;overscroll-behavior:contain;padding:3px}.inbox-bubble{padding:18px;border:1px solid #dce5dd;border-radius:16px;max-width:92%;background:white;overflow-wrap:anywhere;animation:inbox-appear .2s ease-out}.inbox-bubble.outgoing{justify-self:end;background:#eaf4ed;border-color:#d6e5d9}.inbox-bubble.incoming{justify-self:start}.inbox-bubble-meta{display:flex;gap:20px;justify-content:space-between;font-size:11px;color:#536e5e;margin-bottom:12px}.inbox-bubble .preserve-lines{font-size:14px;line-height:1.7}.inbox-delivery{display:block;font-size:11px;color:#587465;margin-top:12px}.inbox-attachments{display:grid;gap:8px;margin-top:14px}.inbox-attachments a,.inbox-attachments>span{border:1px solid #d7e2d9;padding:10px;border-radius:8px;font-size:12px;color:#275d45;overflow-wrap:anywhere}.inbox-attachments small{display:block;margin-top:4px}.inbox-alert{color:#7c501c;font-size:12px;background:#fff5df;padding:9px;border-radius:8px}.inbox-reply{border-top:1px solid #dce5dd;padding-top:20px}.inbox-error:empty{display:none}@keyframes inbox-appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:680px){.message-tabs{gap:2px}.message-tabs button{font-size:12px;padding:7px}.inbox-filters{display:block}.inbox-row{padding:13px;gap:9px}.inbox-row>.message-avatar{display:none}.inbox-row-meta time{max-width:85px;line-height:1.4}.inbox-row-text small{font-size:10px}.inbox-bubble{max-width:100%;padding:14px}.inbox-bubble-meta{gap:12px}.inbox-top h3{font-size:20px}.inbox-timeline{max-height:55dvh}}@media(prefers-reduced-motion:reduce){.inbox-bubble{animation:none}.inbox-row,.message-tabs button{transition:none}.inbox-row:hover{transform:none}}
