*{box-sizing:border-box}body{margin:0;font:14px/1.4 system-ui,sans-serif}button{font:inherit;cursor:pointer}.center{text-align:center;padding:2rem}.muted{color:#666;font-size:12px}.error{color:#b00020}.app{flex-direction:column;height:100vh;display:flex}.topbar{border-bottom:1px solid #ddd;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.topbar nav{flex:1;gap:.5rem;display:flex}.login{flex-direction:column;gap:.75rem;max-width:320px;margin:15vh auto;display:flex}.login label,.location-form label{flex-direction:column;gap:.25rem;display:flex}.inbox{flex:1;grid-template-columns:300px 1fr 260px;min-height:0;display:grid}.conversation-list{border-right:1px solid #ddd;margin:0;padding:0;list-style:none;overflow-y:auto}.conversation{text-align:left;background:0 0;border:0;border-bottom:1px solid #eee;gap:.5rem;width:100%;padding:.5rem;display:flex}.conversation.active{background:#eef}.conversation-body{flex-direction:column;flex:1;min-width:0;display:flex}.row{justify-content:space-between;gap:.5rem;display:flex}.preview{white-space:nowrap;text-overflow:ellipsis;color:#444;overflow:hidden}.avatar{object-fit:cover;background:#ccc;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.badge{color:#fff;background:#25d366;border-radius:10px;padding:0 6px;font-size:12px}.thread{flex-direction:column;min-height:0;display:flex}.thread-header{border-bottom:1px solid #ddd;justify-content:space-between;gap:1rem;padding:.5rem 1rem;display:flex}.messages{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.message{border:1px solid #ddd;border-radius:6px;max-width:70%;padding:.5rem}.message.out{background:#f3f3f3;align-self:flex-end}.text{white-space:pre-wrap}.composer{border-top:1px solid #ddd;gap:.5rem;padding:.5rem 1rem;display:flex}.composer textarea{font:inherit;flex:1}.contact-info{border-left:1px solid #ddd;padding:1rem;overflow-y:auto}.contact-info dt{color:#666;margin-top:.5rem;font-size:12px}.contact-info dd{margin:0}.locations{padding:1rem;overflow-y:auto}.locations table{border-collapse:collapse;width:100%}.locations th,.locations td{text-align:left;border-bottom:1px solid #ddd;padding:.25rem .5rem}.location-form{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:.5rem;display:grid}.location-form .checkbox{flex-direction:row;align-items:center}
