:root{font:16px system-ui,sans-serif;color:#14312c;background:#edf6f2}
*{box-sizing:border-box}
body{margin:0}
header{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:20px max(5vw,16px);background:#103b33}
a{color:#fff;text-decoration:none;font-weight:650}
a:hover{text-decoration:underline}
nav{display:flex;gap:18px}
main{width:min(680px,calc(100% - 28px));margin:clamp(24px,8vh,84px) auto;background:white;border:1px solid #d9e9e2;border-radius:24px;padding:clamp(20px,5vw,42px);box-shadow:0 16px 45px #123a3010}
h1{margin:4px 0 12px;line-height:1.1;font-size:clamp(25px,5vw,38px)}
p{color:#445b55}
.label{font-size:.75rem;font-weight:800;letter-spacing:.15em;color:#087256;margin:0 0 10px}
form,label{display:grid;gap:10px}
form{gap:18px;margin-top:26px}
label{font-weight:650}
input,textarea,button{font:inherit;padding:12px 14px;border-radius:10px}
input,textarea{border:1px solid #9bbab0;background:#fbfdfc;color:inherit;width:100%}
textarea{resize:vertical}
button{background:#086a50;color:white;border:0;cursor:pointer;font-weight:700}
button:hover{background:#075741}
button:disabled{opacity:.6;cursor:wait}
#status{color:#9c3328;margin-bottom:0}
#status:empty{display:none}
#result{margin-top:24px;border-top:1px solid #d9e9e2}
#result label{margin-top:12px}
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
#messages{display:flex;flex-direction:column;gap:12px;list-style:none;padding:0;max-height:45vh;overflow:auto}
li{padding:10px 14px;background:#edf1ef;border-radius:13px;align-self:flex-start;max-width:85%;white-space:pre-wrap;overflow-wrap:anywhere}
li.out{align-self:flex-end;background:#d4f5e5}
small{display:block;color:#435c53;margin-top:4px}
[hidden]{display:none!important}
.admin-page{width:min(1020px,calc(100% - 28px))}
.admin-list{margin-top:28px;flex-wrap:wrap}
.table-wrap{overflow:auto}
table{border-collapse:collapse;width:100%;text-align:left}
th,td{padding:12px;border-bottom:1px solid #d9e9e2}
th{background:#edf6f2;white-space:nowrap}
td a{color:#086a50}
.webhook-field{margin-top:18px}
dialog{width:min(480px,calc(100% - 28px));padding:24px;border:1px solid #d9e9e2;border-radius:18px;color:inherit}
dialog::backdrop{background:#103b3370}
#customer-fields{display:grid;gap:12px}
#customer-error{color:#9c3328;margin:0}
#customer-error:empty{display:none}
.customer-actions button{display:block;white-space:nowrap;padding:8px 10px;margin:4px 0}
header{align-items:center}
.brand{display:inline-flex;align-items:center;font-size:1.45rem;letter-spacing:-.05em;font-weight:850}
.brand img{margin-right:10px}
.brand-name{color:#fff;letter-spacing:-.065em}
.brand-name span{color:#b9f5d8;font-style:italic;padding-right:.08em}
