*{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden}
body{display:flex;flex-direction:column;background:#fff;color:#2f3941;font:14px/1.4 Arial,Helvetica,sans-serif}
header{flex:none;display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 20px;background:#f8f9f9;border-bottom:1px solid #e5e8eb}
h1{font-size:16px;margin:0;font-weight:600}
header button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;color:#68737d}
main{display:flex;flex-direction:column;flex:1;min-height:0;padding:16px 20px;overflow:auto;scrollbar-width:none}
main::-webkit-scrollbar,textarea::-webkit-scrollbar{display:none}
form{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}
label{flex:none;display:block;font-weight:400;margin:0;font-size:13px}
input,textarea{display:block;width:100%;margin-top:5px;padding:8px 10px;border:1px solid #d8dcde;border-radius:4px;background:#fff;color:#2f3941;font:14px/1.4 Arial,Helvetica,sans-serif}
input{height:36px}
.message-field{flex:1;display:flex;flex-direction:column;min-height:84px}
textarea{height:60px;flex:1;resize:none;min-height:60px;scrollbar-width:none}
button{border:0;border-radius:4px;cursor:pointer;font:600 14px Arial,Helvetica,sans-serif;padding:11px 16px;background:#086cbb;color:#fff}
#send{flex:none;width:100%;min-height:40px;margin-top:0}
button:disabled{background:#667580;cursor:default}
input:focus,textarea:focus{outline:2px solid #086cbb;outline-offset:1px}
button:focus-visible,a:focus-visible{outline:2px solid #086cbb;outline-offset:3px}
.attachments{flex:none}
.attachment-heading{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px}
#file-count{color:#68737d;font-size:12px}
.upload-zone{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px;border:1px dashed #adb4b9;border-radius:4px;color:#086cbb;cursor:pointer;font-size:13px;background:#fff}
.upload-zone:focus-within{outline:2px solid #086cbb;outline-offset:2px}
.upload-zone.dragging{background:#edf6fc;border-color:#086cbb}
.upload-zone.full{color:#68737d;background:#f8f9f9;cursor:default}
.upload-zone input{position:absolute;inset:0;height:100%;width:100%;margin:0;opacity:0;cursor:inherit}
#file-limits{margin:4px 0 0;font-size:11px;color:#68737d}
#file-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3px}
#file-list:not(:empty){margin-top:6px}
#file-list li{display:flex;align-items:center;gap:8px;height:22px;font-size:12px}
#file-list li span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#file-list button{flex:none;background:transparent;color:#086cbb;font-size:11px;font-weight:400;padding:3px 0}
#file-error,#status{color:#a12626;margin:0;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
#file-error:empty,#status:empty{display:none}
#file-error:not(:empty){margin-top:5px}
#verification{flex:none;min-height:65px}
.trap{position:absolute;left:-10000px}
h2{font-size:20px}
[hidden]{display:none!important}
@media(max-height:690px){header{height:46px}main{padding:10px 16px}form{gap:7px}input{height:32px;padding:6px 10px}.message-field{min-height:66px}textarea{min-height:44px}.upload-zone{min-height:32px}#file-list li{height:19px}#file-list{gap:2px}#send{min-height:36px;padding:9px}}
@media(max-width:360px){header{padding:0 14px}main{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s}#send:not(:disabled):hover{background:#075893}}
